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

Christoph Hellwig hch at infradead.org
Wed Feb 1 14:49:35 UTC 2017


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?  Faster than the conditional?

In the cases where I added the code the concern is that multiple
bio completions could race updating the flag, cmpxchg is a good
protection against that.  I'll need to take a look at the dm
case Eric reported in more detail to comment on it, though.




More information about the dm-devel mailing list