().
* not set exclude with sfd_lock held.
Vaughan Cao (4):
sg: use rwsem to solve race during exclusive open
sg: no need sg_open_exclusive_lock
sg: checking sdp->detached isn't protected when open
sg: push file descriptor list locking down to per-device locking
drivers/scsi/sg
in cherrry-pick.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 62 ++-
1 file changed, 34 insertions(+), 28 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 6bffe52..10d6943 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/s
Open exclusive check is protected by o_sem, no need sg_open_exclusive_lock.
@exclude is used to record which type of rwsem we are holding.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 34 +-
1 file changed, 5 insertions(+), 29 deletions(-)
diff --git a
with sg_add_sfp.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 83 +--
1 file changed, 44 insertions(+), 39 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index df5e961..7a54c92 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/
series instead of adding another parameter in sg_add_sfp
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index dcbd95f..6bffe52 100644
--- a/drivers/scsi/sg.c
+++ b
from v3:
* release o_sem in sg_release(), not in sg_remove_sfp().
* not set exclude with sfd_lock held.
Vaughan Cao (4):
sg: use rwsem to solve race during exclusive open
sg: no need sg_open_exclusive_lock
sg: checking sdp->detached isn't protected when open
sg: push file descrip
in cherrry-pick.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 62 ++-
1 file changed, 34 insertions(+), 28 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 64df1ab..5cbc4bb 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/s
.
Changes from v4:
* use ERR_PTR series instead of adding another parameter in sg_add_sfp
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 17 +
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index d4af132..64df1ab 100644
--- a
Open exclusive check is protected by o_sem, no need sg_open_exclusive_lock.
@exclude is used to record which type of rwsem we are holding.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 34 +-
1 file changed, 5 insertions(+), 29 deletions(-)
diff --git a
ariables
* fix insane code dealing with sg_add_sfp.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 79 +--
1 file changed, 41 insertions(+), 38 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index df5e961..4efa9b5 100644
---
register_blkdev(0, NULL) can result kernel Oops by copying from NULL
in strlcpy(). Fix it by checking NULL pointer at the beginning.
Signed-off-by: Vaughan Cao
---
block/genhd.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/block/genhd.c b/block/genhd.c
index dadf42b..9564f19 100644
register_blkdev(0, NULL) can result kernel Oops by copying from NULL
in strlcpy(). Fix it by checking NULL pointer at the beginning and
WARN when encountered in unregister_blkdev.
Signed-off-by: Vaughan Cao
---
block/genhd.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git
ason code - SHUTDOWN_crash.
xen_panic_handler_init() is defined to register on panic_notifier_list but
we only call it in xen_arch_setup which only be called by pvm, this patch is
necessary for pvhvm.
Signed-off-by: Vaughan Cao
---
arch/x86/xen/enlighten.c | 2 ++
1 file changed, 2 insert
There is a race when open sg with O_EXCL flag. Also a race may happen between
sg_open and sg_remove.
Changes from v3:
* release o_sem in sg_release(), not in sg_remove_sfp().
* not set exclude with sfd_lock held.
Vaughan Cao (4):
[SCSI] sg: use rwsem to solve race during exclusive open
Open exclusive check is protected by o_sem, no need sg_open_exclusive_lock.
@exclude is used to record which type of rwsem we are holding.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 34 +-
1 file changed, 5 insertions(+), 29 deletions(-)
diff --git a
Push file descriptor list locking down to per-device locking. Let sg_index_lock
only protect device lookup.
sdp->detached is also set and checked with this lock held.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 61 ++-
1 file chan
w use rwsem to protect this process. Exclusive open gets write lock and
others get read lock. The lock will be held until file descriptor is closed.
This also leads 'exclude' only a status rather than a check mark.
Signed-off-by: Vaughan Cao
---
drivers
@detached is set under the protection of sg_index_lock. Without getting the
lock, new sfp will be added during sg removal and there is no chance for it
to be picked out. So check with sg_index_lock held in sg_add_sfp().
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 26
sg_add_sfp
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 671b760..f0e4785 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -295,21 +295,17 @@ sg_open
in cherrry-pick.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 61 ++-
1 file changed, 33 insertions(+), 28 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index f0e4785..3431d12 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/s
Open exclusive check is protected by o_sem, no need sg_open_exclusive_lock.
@exclude is used to record which type of rwsem we are holding.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 34 +-
1 file changed, 5 insertions(+), 29 deletions(-)
diff --git a
in cherrry-pick.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 61 ++-
1 file changed, 33 insertions(+), 28 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index f0e4785..3431d12 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/s
w use rwsem to protect this process. Exclusive open gets write lock and
others get read lock. The lock will be held until file descriptor is closed.
This also leads 'exclude' only a status rather than a check mark.
Signed-off-by: Vaughan Cao
---
drivers
sg_add_sfp
Signed-off-by: Vaughan Cao
---
drivers/scsi/sg.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 671b760..f0e4785 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -295,21 +295,17 @@ sg_open
(), not in sg_remove_sfp().
* not set exclude with sfd_lock held.
Vaughan Cao (4):
[SCSI] sg: use rwsem to solve race during exclusive open
[SCSI] sg: no need sg_open_exclusive_lock
[SCSI] sg: checking sdp->detached isn't protected when open
[SCSI] sg: push file descriptor list locking
On 2013年11月03日 02:22, Douglas Gilbert wrote:
On 13-11-01 01:16 AM, vaughan wrote:
I do not follow the last point but that is not important.
For reasons that I listed in a private post I think
that my patch presented in this thread is closer to
our goals than your patch (2013/6/17/319). Timing
This patch makes reject messages show right value for opcode and itt, which
is converse previously.
Signed-off-by: Vaughan Cao
---
drivers/scsi/libiscsi.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index e399561
'connectionX:X: detected conn error(1020)' message appear during normal
logout phase because of connection close on target peer.
Quiesce it to avoid confusion.
Signed-off-by: Vaughan Cao
---
drivers/scsi/libiscsi.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/dr
PG.
Signed-off-by: Vaughan Cao
---
drivers/scsi/device_handler/scsi_dh_alua.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c
b/drivers/scsi/device_handler/scsi_dh_alua.c
index 68adb89..d79e57dd 100644
--- a/drivers/scsi/device_hand
Hi James,
[1.] One line summary of the problem:
special sense code asc,ascq=04h,0Ch abort scsi scan in the middle
[2.] Full description of the problem/report:
For instance, storage represents 8 iscsi LUNs, however the LUN No.7 is
not well configured or has something wrong.
Then messages receiv
On 2013年10月14日 21:18, Hannes Reinecke wrote:
On 10/14/2013 02:51 PM, Steffen Maier wrote:
Hi Hannes,
On 10/14/2013 01:13 PM, Hannes Reinecke wrote:
On 10/13/2013 07:23 PM, Vaughan Cao wrote:
Hi James,
[1.] One line summary of the problem:
special sense code asc,ascq=04h,0Ch abort scsi scan
On 2013年10月15日 13:51, Hannes Reinecke wrote:
But that notwithstanding, did you get a chance to test my patch?
Cheers,
Hannes
Hi Hannes,
Kernel patched and waiting feedback from lab guy.
Thanks,
Vaughan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of
amd_iommu_rlookup_table[devid] != NULL is already guaranteed by check_device
called before, it's fine to attach device at this point.
Signed-off-by: Vaughan Cao
---
drivers/iommu/amd_iommu.c | 6 --
1 file changed, 6 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/
ted.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sd.c | 12
1 file changed, 12 insertions(+)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 6146b9d..366e48b 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -144,6 +144,7 @@ sd_store_cache_type(struct device *dev, str
On 05/28/2014 12:18 AM, James Bottomley wrote:
> On Tue, 2014-05-27 at 19:39 +0800, Vaughan Cao wrote:
>> This is a fix for commit:
>> 39c60a0948cc06139e2fbfe084f83cb7e7deae3b sd: fix array cache flushing bug
>> causing performance problems
>> We must notify the blo
ted.
This patch factors out a helper that can be called from sd_revalidate_disk and
cache_type_store.
Signed-off-by: Vaughan Cao
---
drivers/scsi/sd.c | 23 +++
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index efcb
On 2013年10月21日 07:00, Douglas Gilbert wrote:
On 13-10-20 01:31 PM, Bart Van Assche wrote:
On 10/20/13 18:09, Douglas Gilbert wrote:
Given that lk 3.12.0 release is not far away, the safest path
may still be to revert Vaughan Cao's patch. I'll leave that
decision to the maintainers.
Hello Dou
s
to find a larger cookie and insert itself before that node, it won't result in
a sorted list in any direction...
I don't know if my understanding about the async mechanism is right, so here
to have a check with you. Thanks.
Signed-off-by: Vaughan Cao
---
kernel/async.c | 4 ++--
1
ce it by checking session state and err
value accordingly.
Signed-off-by: Vaughan Cao
---
drivers/scsi/libiscsi.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 415f2c0..84171ef 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers
On 2013年10月21日 14:07, vaughan wrote:
On 10/16/2013 02:52 PM, Hannes Reinecke wrote:
But seeing that this approach raises quite some issues I've attached a
different patch. Vaughan, could you test with that, too? Should be
functionally equivalent to the previous one. Cheers, Hannes
Hi Hannes,
On 2013年12月18日 20:25, Tejun Heo wrote:
Hello,
On Wed, Dec 18, 2013 at 11:15:23AM +0800, Vaughan Cao wrote:
I suppose there is a fault in the patch of https://lkml.org/lkml/2013/1/16/546.
I know you made a new patch for latest kernel which don't move the entry
between pending and running
If freeze fails, vss_operate will re-enter itself to thaw. But it forgets
to call endmntent() before it recalls setmntent() again.
Signed-off-by: Vaughan Cao
---
tools/hv/hv_vss_daemon.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/tools/hv/hv_vss_daemon.c b
42 matches
Mail list logo