[PATCH v4 0/4] [SCSI] sg: fix race condition in sg_open

2013-07-17 Thread Vaughan Cao
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

[PATCH v4 2/4] [SCSI] sg: no need sg_open_exclusive_lock

2013-07-17 Thread Vaughan Cao
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

[PATCH v4 3/4] [SCSI] sg: checking sdp->detached isn't protected when open

2013-07-17 Thread Vaughan Cao
@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

[PATCH v4 4/4] [SCSI] sg: push file descriptor list locking down to per-device locking

2013-07-17 Thread Vaughan Cao
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

[PATCH v4 1/4] [SCSI] sg: use rwsem to solve race during exclusive open

2013-07-17 Thread Vaughan Cao
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

[PATCH v5 3/4] [SCSI] sg: checking sdp->detached isn't protected when open

2013-07-21 Thread Vaughan Cao
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

[PATCH v5 4/4] [SCSI] sg: push file descriptor list locking down to per-device locking

2013-07-21 Thread Vaughan Cao
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

[PATCH v5 0/4] [SCSI] sg: fix race condition in sg_open

2013-07-21 Thread Vaughan Cao
(), 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

[PATCH v5 4/4] [SCSI] sg: push file descriptor list locking down to per-device locking

2013-07-21 Thread Vaughan Cao
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

[PATCH v5 3/4] [SCSI] sg: checking sdp->detached isn't protected when open

2013-07-21 Thread Vaughan Cao
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

[PATCH v5 1/4] [SCSI] sg: use rwsem to solve race during exclusive open

2013-07-21 Thread Vaughan Cao
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

[PATCH v5 2/4] [SCSI] sg: no need sg_open_exclusive_lock

2013-07-21 Thread Vaughan Cao
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

[PATCH v6 1/4] sg: use rwsem to solve race during exclusive open

2013-08-28 Thread Vaughan Cao
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/

[PATCH v6 2/4] sg: no need sg_open_exclusive_lock

2013-08-28 Thread Vaughan Cao
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

[PATCH v6 4/4] sg: push file descriptor list locking down to per-device locking

2013-08-28 Thread Vaughan Cao
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

[PATCH v6 3/4] sg: checking sdp->detached isn't protected when open

2013-08-28 Thread Vaughan Cao
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

[PATCH v6 0/4][SCSI] sg: fix race condition in sg_open

2013-08-28 Thread Vaughan Cao
(). * 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

[PATCH v7 3/4] sg: checking sdp->detached isn't protected when open

2013-08-28 Thread Vaughan Cao
. 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

[PATCH v7 4/4] sg: push file descriptor list locking down to per-device locking

2013-08-28 Thread Vaughan Cao
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

[PATCH v7 1/4] sg: use rwsem to solve race during exclusive open

2013-08-28 Thread Vaughan Cao
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 ---

[PATCH v7 0/4][SCSI] sg: fix race condition in sg_open

2013-08-28 Thread Vaughan Cao
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

[PATCH v7 2/4] sg: no need sg_open_exclusive_lock

2013-08-28 Thread Vaughan Cao
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

PROBLEM: special sense code asc,ascq=04h,0Ch abort scsi scan in the middle

2013-10-13 Thread Vaughan Cao
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

Re: PROBLEM: special sense code asc,ascq=04h,0Ch abort scsi scan in the middle

2013-10-14 Thread Vaughan Cao
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

Re: PROBLEM: special sense code asc,ascq=04h,0Ch abort scsi scan in the middle

2013-10-15 Thread Vaughan Cao
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-scsi" in the body of a

Re: [PATCH] [SCSI] sg: late O_EXCL fix for lk 3.12-rc

2013-10-21 Thread Vaughan Cao
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

Re: [PATCH v2] sg: O_EXCL and other lock handling

2013-11-02 Thread Vaughan Cao
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

[PATCH] iscsi: quiesce connection error event during logout

2013-11-21 Thread Vaughan Cao
'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

[PATCH] [SCSI] scsi_dh_alua: restrain retries during AAS transition period

2013-11-22 Thread Vaughan Cao
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

[PATCH] iscsi: conn error (1020) each time iscsi session logout

2013-12-17 Thread Vaughan Cao
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

Re: PROBLEM: special sense code asc,ascq=04h,0Ch abort scsi scan in the middle

2013-12-18 Thread Vaughan Cao
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,

[PATCH] iscsi: fix wrong order of opcode and itt in iscsi_handle_reject prompt

2014-01-08 Thread Vaughan Cao
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

Re: iSCSI request keep rejected by microsoft iSCSI target because of write_same check

2014-01-10 Thread Vaughan Cao
On 2014年01月11日 04:24, Mike Christie wrote: On 01/10/2014 02:09 AM, vaughan wrote: On 01/10/2014 03:41 PM, Mike Christie wrote: On 1/10/14 12:11 AM, vaughan wrote: I haven't figure out why it's rejected with "bookmark invalid"(9) reason, rather than "command not supported". IMO "bookmark inval

Re: [PATCH 16/16] scsi_dh_alua: Use workqueue for RTPG

2014-01-21 Thread Vaughan Cao
On Fri, Dec 20, 2013 at 8:13 PM, Hannes Reinecke wrote: > > +static void alua_rtpg_work(struct work_struct *work) > +{ > .. > + if (pg->flags & ALUA_PG_RUN_STPG) { > + spin_unlock_irqrestore(&pg->rtpg_lock, flags); > + err = alua_stpg(sdev, pg); > +

[PATCH] notify block layer when using temporary change to cache_type

2014-05-27 Thread Vaughan Cao
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

Re: [PATCH] notify block layer when using temporary change to cache_type

2014-05-27 Thread Vaughan Cao
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

[PATCH v2] notify block layer when using temporary change to cache_type

2014-06-03 Thread Vaughan Cao
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