From: Jens Axboe <jens.axboe@oracle.com>
To: Tejun Heo <tj@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>, linux-kernel@vger.kernel.org
Subject: Re: new barrier warnings in 2.6.29-rc1
Date: Tue, 13 Jan 2009 09:42:29 +0100 [thread overview]
Message-ID: <20090113084229.GL30821@kernel.dk> (raw)
In-Reply-To: <496C0915.6000107@kernel.org>
On Tue, Jan 13 2009, Tejun Heo wrote:
> (cc'ing Jens)
> Hello,
>
> Christoph Hellwig wrote:
> > Whever a filesystem submits a bio with the barrier flag set but
> > the underlying hardware doesn't support it we now get errors in
> > the form of:
> >
> > [ 3046.442629] end_request: I/O error, dev vdb, sector 0
> >
> > since commit a7384677b2f4cd40948fd7ce024ba5e1821444ba which removed
> > the early check on the queue capabilities in __make_request. I
> > think this message is pretty annoying and confusing for the user
> > as the filesystems already have more descriptive warnings, e.g. for
> > XFS:
> >
> > [ 3046.455478] Filesystem "vdb": Disabling barriers, trial barrier write failed
>
> I think the right thing to do is setting REQ_QUIET on the trial
> barrier request.
It would surely work, but XFS doesn't really have a way to do that. Then
we would have to add a bio quiet flag and inherit that.
I kind of liked the old behaviour. What about something like the below?
diff --git a/block/blk-core.c b/block/blk-core.c
index a824e49..eddba4a 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1448,6 +1448,11 @@ static inline void __generic_make_request(struct bio *bio)
err = -EOPNOTSUPP;
goto end_io;
}
+ if (bio_barrier(bio) && bio_has_data(bio) &&
+ (q->next_ordered == QUEUE_ORDERED_NONE)) {
+ err = -EOPNOTSUPP;
+ goto end_io;
+ }
ret = q->make_request_fn(q, bio);
} while (ret);
--
Jens Axboe
next prev parent reply other threads:[~2009-01-13 8:43 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-12 15:46 new barrier warnings in 2.6.29-rc1 Christoph Hellwig
2009-01-13 3:23 ` Tejun Heo
2009-01-13 8:42 ` Jens Axboe [this message]
2009-01-13 10:40 ` Tejun Heo
2009-01-13 10:45 ` Jens Axboe
2009-01-18 22:15 ` Christoph Hellwig
2009-01-19 20:19 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090113084229.GL30821@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.