All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: dm-devel@redhat.com, Jens Axboe <axboe@kernel.dk>,
	Chris Mason <clm@fb.com>, Jan Kara <jack@suse.cz>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH for-4.2 01/14] block: remove management of bi_remaining when restoring original bi_end_io
Date: Mon, 18 May 2015 09:20:40 -0400	[thread overview]
Message-ID: <20150518132040.GB13998@redhat.com> (raw)
In-Reply-To: <20150518082439.GA5439@infradead.org>

On Mon, May 18 2015 at  4:24am -0400,
Christoph Hellwig <hch@infradead.org> wrote:

> In general this looks good.  But as Jan mentioned you need to
> clear BIO_CHAIN when bi_remaining reaches zero

OK I just replied to Jan -- I'm not yet understanding why.  That said, I
also don't have a problem with doing what you guys are asking.  I'd just
like to understand the problem you're forseeing because in practice I'm
not hitting it in testing.

> and I'd really prefer if bio_inc_remaining wuld not be left exported
> and folded into bio_chain so that we prevent new abuses from showing
> up and keep the code centralized.

Your desire to make bio_inc_remaining() private is noted but I think the
proposed blkdev_issue_discard_async() is useful.  In the context of DM
thinp's use of blkdev_issue_discard_async(): yes it is (ab)using
bio_chain() and bio_inc_remaining() to setup the async IO completion
scheme but it makes for a pretty clean solution to the problem of
wanting to have an async interface for discard.

  reply	other threads:[~2015-05-18 13:20 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-14 21:04 [PATCH for-4.2 00/14] block, dm: first batch of changes for 4.2 Mike Snitzer
2015-05-14 21:04 ` [PATCH for-4.2 01/14] block: remove management of bi_remaining when restoring original bi_end_io Mike Snitzer
2015-05-18  7:22   ` Jan Kara
2015-05-18 13:13     ` Mike Snitzer
2015-05-18 15:36       ` Jan Kara
2015-05-18 15:59         ` Mike Snitzer
2015-05-18 20:40           ` [PATCH for-4.2 v2 " Mike Snitzer
2015-05-19  6:28             ` Christoph Hellwig
2015-05-19  7:20             ` Jan Kara
2015-05-18  8:24   ` [dm-devel] [PATCH for-4.2 " Christoph Hellwig
2015-05-18 13:20     ` Mike Snitzer [this message]
2015-05-14 21:05 ` [PATCH for-4.2 02/14] block: remove export for blk_queue_bio Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 03/14] block, dm: don't copy bios for request clones Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 04/14] block: factor out blkdev_issue_discard_async Mike Snitzer
2015-05-18  8:27   ` [dm-devel] " Christoph Hellwig
2015-05-18 13:32     ` Mike Snitzer
2015-05-18 16:17       ` [dm-devel] " Christoph Hellwig
2015-05-18 19:18         ` Mike Snitzer
2015-05-19  8:32           ` Christoph Hellwig
2015-05-14 21:05 ` [PATCH for-4.2 05/14] dm: do not allocate any mempools for blk-mq request-based DM Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 06/14] dm: rename methods that requeue requests Mike Snitzer
2015-05-18  8:29   ` Christoph Hellwig
2015-05-18 15:44     ` Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 07/14] dm: factor out a common cleanup_mapped_device() Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 08/14] dm btree: add dm_btree_remove_leaves() Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 09/14] dm thin metadata: add dm_thin_find_mapped_range() Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 10/14] dm thin metadata: add dm_thin_remove_range() Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 11/14] dm thin: range discard support Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 12/14] dm thin: cleanup overwrite's endio restore to be centralized Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 13/14] dm thin: cleanup schedule_zero() to read more logically Mike Snitzer
2015-05-14 21:05 ` [PATCH for-4.2 14/14] dm thin metadata: remove in-core 'read_only' flag Mike Snitzer

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=20150518132040.GB13998@redhat.com \
    --to=snitzer@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=clm@fb.com \
    --cc=dm-devel@redhat.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=linux-kernel@vger.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.