Re: [dm-devel] error propagation problem on xfs over dm stripe

2017-02-01 Thread Christoph Hellwig
On Wed, Feb 01, 2017 at 09:33:51AM -0500, Mike Snitzer wrote: > > FYI, what we do both in the XFS buffer cache and the new direct I/O > > code is to use a > > > > cmpxchg(&dio->error, 0, ret); > > > > in a similar situation, which should work here, too. > > What is the benefit? Fast

Re: [dm-devel] error propagation problem on xfs over dm stripe

2017-02-01 Thread Mike Snitzer
On Wed, Feb 01 2017 at 2:42am -0500, Christoph Hellwig wrote: > On Tue, Jan 31, 2017 at 09:12:07PM -0600, Eric Sandeen wrote: > > diff --git a/drivers/md/dm.c b/drivers/md/dm.c > > index 3086da5..3555ba8 100644 > > --- a/drivers/md/dm.c > > +++ b/drivers/md/dm.c > > @@ -808,7 +808,9 @@ static vo

Re: [dm-devel] error propagation problem on xfs over dm stripe

2017-02-01 Thread Junichi Nomura
On 02/01/17 12:12, Eric Sandeen wrote: > xfstest generic/108 creates a stripe then fails one leg to > see if io errors on only a subset of an io get reported > to userspace: > > # Test partial block device failure. Calls like fsync() should report failure > # on partial I/O failure, e.g. a single

Re: [dm-devel] error propagation problem on xfs over dm stripe

2017-02-01 Thread Christoph Hellwig
On Tue, Jan 31, 2017 at 09:12:07PM -0600, Eric Sandeen wrote: > diff --git a/drivers/md/dm.c b/drivers/md/dm.c > index 3086da5..3555ba8 100644 > --- a/drivers/md/dm.c > +++ b/drivers/md/dm.c > @@ -808,7 +808,9 @@ static void dec_pending(struct dm_io *io, int error) > } else { >

[dm-devel] error propagation problem on xfs over dm stripe

2017-01-31 Thread Eric Sandeen
xfstest generic/108 creates a stripe then fails one leg to see if io errors on only a subset of an io get reported to userspace: # Test partial block device failure. Calls like fsync() should report failure # on partial I/O failure, e.g. a single failed disk in a raid 0 stripe. # # Test motivated