| To: | Jeff Moyer <jmoyer@xxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH v2 5/5] dax: handle media errors in dax_do_io |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Wed, 20 Apr 2016 13:59:23 -0700 |
| Cc: | Vishal Verma <vishal.l.verma@xxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, Jan Kara <jack@xxxxxxx>, linux-nvdimm@xxxxxxxxxxx, Dave Chinner <david@xxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, Jens Axboe <axboe@xxxxxx>, linux-mm@xxxxxxxxx, linux-block@xxxxxxxxxxxxxxx, Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, linux-ext4@xxxxxxxxxxxxxxx, Al Viro <viro@xxxxxxxxxxxxxxxxxx> |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <x49twj26edj.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
| References: | <1459303190-20072-1-git-send-email-vishal.l.verma@xxxxxxxxx> <1459303190-20072-6-git-send-email-vishal.l.verma@xxxxxxxxx> <x49twj26edj.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.24 (2015-08-30) |
On Fri, Apr 15, 2016 at 12:11:36PM -0400, Jeff Moyer wrote:
> > + if (IS_DAX(inode)) {
> > + ret = dax_do_io(iocb, inode, iter, offset, blkdev_get_block,
> > NULL, DIO_SKIP_DIO_COUNT);
> > + if (ret == -EIO && (iov_iter_rw(iter) == WRITE))
> > + ret_saved = ret;
> > + else
> > + return ret;
> > + }
> > +
> > + ret = __blockdev_direct_IO(iocb, inode, I_BDEV(inode), iter, offset,
> > blkdev_get_block, NULL, NULL,
> > DIO_SKIP_DIO_COUNT);
> > + if (ret < 0 && ret_saved)
> > + return ret_saved;
> > +
>
> Hmm, did you just break async DIO? I think you did! :)
> __blockdev_direct_IO can return -EIOCBQUEUED, and you've now turned that
> into -EIO. Really, I don't see a reason to save that first -EIO. The
> same applies to all instances in this patch.
Yes, there is no point in saving the earlier error - just return the
second error all the time.
E.g.
ret = dax_io();
if (dax_need_dio_retry(ret))
ret = direct_IO();
|
| Previous by Date: | Re: xfs_repair couldn't verify primary superblock, Eric Sandeen |
|---|---|
| Next by Date: | Re: [XFS] Any process to a particular XFS device hung in D state forever., Hugo Kuo |
| Previous by Thread: | Re: [PATCH v2 5/5] dax: handle media errors in dax_do_io, Toshi Kani |
| Next by Thread: | Re: [PATCH v2 5/5] dax: handle media errors in dax_do_io, Verma, Vishal L |
| Indexes: | [Date] [Thread] [Top] [All Lists] |