Re: dm-mpath: fix a tiny case which can cause an infinite loop

2016-02-04 Thread jiangyiwen
On 2016/2/4 12:25, Mike Snitzer wrote: > On Wed, Feb 03 2016 at 10:49pm -0500, > jiangyiwen wrote: > >> On 2016/2/4 11:24, Mike Snitzer wrote: >>> On Wed, Feb 03 2016 at 9:08pm -0500, >>> jiangyiwen wrote: >>> When two processes submit WRTIE SAME bio simultaneously and first IO return

Re: dm-mpath: fix a tiny case which can cause an infinite loop

2016-02-03 Thread Martin K. Petersen
> "Mike" == Mike Snitzer writes: Mike> The SCSI, or block layer, should return a non-retryable error for Mike> this case. But we only have the differentiated IO errors for SCSI Mike> cmds that are issued, so it seems we still need to train SCSI (and Mike> block by association/dependency) to

Re: dm-mpath: fix a tiny case which can cause an infinite loop

2016-02-03 Thread Mike Snitzer
On Wed, Feb 03 2016 at 10:49pm -0500, jiangyiwen wrote: > On 2016/2/4 11:24, Mike Snitzer wrote: > > On Wed, Feb 03 2016 at 9:08pm -0500, > > jiangyiwen wrote: > > > >> When two processes submit WRTIE SAME bio simultaneously and > >> first IO return failed because of INVALID FIELD IN CDB, and

Re: dm-mpath: fix a tiny case which can cause an infinite loop

2016-02-03 Thread jiangyiwen
On 2016/2/4 11:24, Mike Snitzer wrote: > On Wed, Feb 03 2016 at 9:08pm -0500, > jiangyiwen wrote: > >> When two processes submit WRTIE SAME bio simultaneously and >> first IO return failed because of INVALID FIELD IN CDB, and >> then second IO can enter into an infinite loop. >> The problem can

Re: dm-mpath: fix a tiny case which can cause an infinite loop

2016-02-03 Thread Mike Snitzer
On Wed, Feb 03 2016 at 9:08pm -0500, jiangyiwen wrote: > When two processes submit WRTIE SAME bio simultaneously and > first IO return failed because of INVALID FIELD IN CDB, and > then second IO can enter into an infinite loop. > The problem can be described as follows: > > process 1

[dm-devel] [PATCH] dm-mpath: fix a tiny case which can cause an infinite loop

2016-02-03 Thread jiangyiwen
When two processes submit WRTIE SAME bio simultaneously and first IO return failed because of INVALID FIELD IN CDB, and then second IO can enter into an infinite loop. The problem can be described as follows: process 1 process 2 submit_bio(REQ_WRITE_SAME) and wait io c