diff mbox

btrfs: delete unused member nobarriers

Message ID 20170331112608.32478-1-anand.jain@oracle.com (mailing list archive)
State New, archived
Headers show

Commit Message

Anand Jain March 31, 2017, 11:26 a.m. UTC
Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 fs/btrfs/disk-io.c | 3 ---
 fs/btrfs/volumes.h | 1 -
 2 files changed, 4 deletions(-)

Comments

David Sterba April 3, 2017, 12:06 p.m. UTC | #1
Please update the changelog to say why it's ok to remove it, eg. the
commit that removed the last user.

commit b25de9d6da49b1a8760a89672283128aa8c78345
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Apr 24 21:41:01 2015 +0200

    block: remove BIO_EOPNOTSUPP

Otherwise the patch is ok.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Anand Jain April 4, 2017, 10:59 a.m. UTC | #2
On 04/03/2017 08:06 PM, David Sterba wrote:
> Please update the changelog to say why it's ok to remove it, eg. the
> commit that removed the last user.
>
> commit b25de9d6da49b1a8760a89672283128aa8c78345
> Author: Christoph Hellwig <hch@lst.de>
> Date:   Fri Apr 24 21:41:01 2015 +0200
>
>     block: remove BIO_EOPNOTSUPP

  Ah. I should have search the commit log. sorry about that.


IMO, there is a bug in generic_make_request_checks() in which
it should rather return EOPNOTSUPP, instead of EIO if QUEUE_FLAG_WC
is not supported.

------------------------------------------------
1853 static noinline_for_stack bool
1854 generic_make_request_checks(struct bio *bio)
1855 {
::

1892         /*
1893          * Filter flush bio's early so that make_request based
1894          * drivers without flush support don't have to worry
1895          * about them.
1896          */
1897         if ((bio->bi_opf & (REQ_PREFLUSH | REQ_FUA)) &&
1898             !test_bit(QUEUE_FLAG_WC, &q->queue_flags)) {
1899                 bio->bi_opf &= ~(REQ_PREFLUSH | REQ_FUA);
1900                 if (!nr_sectors) {
1901                         err = 0;
1902                         goto end_io; <- this should goto  not_supported
1903                 }
1904         }

::

1946 not_supported:
1947         err = -EOPNOTSUPP;
------------------------------------------------


  Pls ignore this patch.

  I have submitted
[PATCH] btrfs: check if the device is flush capable

  which will remain unaffected by the above bug/not-a-bug
  in the blk core code.

Thanks, Anand


> Otherwise the patch is ok.


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Sterba April 5, 2017, 1:26 p.m. UTC | #3
On Tue, Apr 04, 2017 at 06:59:19PM +0800, Anand Jain wrote:
> 
> 
> On 04/03/2017 08:06 PM, David Sterba wrote:
> > Please update the changelog to say why it's ok to remove it, eg. the
> > commit that removed the last user.
> >
> > commit b25de9d6da49b1a8760a89672283128aa8c78345
> > Author: Christoph Hellwig <hch@lst.de>
> > Date:   Fri Apr 24 21:41:01 2015 +0200
> >
> >     block: remove BIO_EOPNOTSUPP
> 
>   Ah. I should have search the commit log. sorry about that.
> 
> 
> IMO, there is a bug in generic_make_request_checks() in which
> it should rather return EOPNOTSUPP, instead of EIO if QUEUE_FLAG_WC
> is not supported.

I think it works as intended, ie. it's not a bug. The code has been
added to avoid reporting an error code in the mentioned case. See
generic_make_request that would exit, or need to handle EOPNOTSUPP each
time. If you still think this is a bug, please report it to the
blocklayer maintainers.

> ------------------------------------------------
> 1853 static noinline_for_stack bool
> 1854 generic_make_request_checks(struct bio *bio)
> 1855 {
> ::
> 
> 1892         /*
> 1893          * Filter flush bio's early so that make_request based
> 1894          * drivers without flush support don't have to worry
> 1895          * about them.
> 1896          */
> 1897         if ((bio->bi_opf & (REQ_PREFLUSH | REQ_FUA)) &&
> 1898             !test_bit(QUEUE_FLAG_WC, &q->queue_flags)) {
> 1899                 bio->bi_opf &= ~(REQ_PREFLUSH | REQ_FUA);
> 1900                 if (!nr_sectors) {
> 1901                         err = 0;
> 1902                         goto end_io; <- this should goto  not_supported
> 1903                 }
> 1904         }
> 
> ::
> 
> 1946 not_supported:
> 1947         err = -EOPNOTSUPP;
> ------------------------------------------------
> 
> 
>   Pls ignore this patch.
> 
>   I have submitted
> [PATCH] btrfs: check if the device is flush capable
> 
>   which will remain unaffected by the above bug/not-a-bug
>   in the blk core code.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 08b74daf35d0..9de35bca1f67 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3521,9 +3521,6 @@  static int write_dev_flush(struct btrfs_device *device, int wait)
 	struct bio *bio;
 	int ret = 0;
 
-	if (device->nobarriers)
-		return 0;
-
 	if (wait) {
 		bio = device->flush_bio;
 		if (!bio)
diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h
index 59be81206dd7..fa0b79422695 100644
--- a/fs/btrfs/volumes.h
+++ b/fs/btrfs/volumes.h
@@ -123,7 +123,6 @@  struct btrfs_device {
 	struct list_head resized_list;
 
 	/* for sending down flush barriers */
-	int nobarriers;
 	struct bio *flush_bio;
 	struct completion flush_wait;