* [PATCH v3 41/49] xfs: convert to bio_for_each_segment_all_sp() [not found] <20170808084548.18963-1-ming.lei@redhat.com> @ 2017-08-08 8:45 ` Ming Lei 2017-08-08 16:32 ` Darrick J. Wong 0 siblings, 1 reply; 3+ messages in thread From: Ming Lei @ 2017-08-08 8:45 UTC (permalink / raw) To: Jens Axboe, Christoph Hellwig, Huang Ying, Andrew Morton, Alexander Viro Cc: linux-kernel, linux-block, linux-fsdevel, linux-mm, Ming Lei, Darrick J. Wong, linux-xfs Cc: "Darrick J. Wong" <darrick.wong@oracle.com> Cc: linux-xfs@vger.kernel.org Signed-off-by: Ming Lei <ming.lei@redhat.com> --- fs/xfs/xfs_aops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c index 6bf120bb1a17..94df43dcae0b 100644 --- a/fs/xfs/xfs_aops.c +++ b/fs/xfs/xfs_aops.c @@ -139,6 +139,7 @@ xfs_destroy_ioend( for (bio = &ioend->io_inline_bio; bio; bio = next) { struct bio_vec *bvec; int i; + struct bvec_iter_all bia; /* * For the last bio, bi_private points to the ioend, so we @@ -150,7 +151,7 @@ xfs_destroy_ioend( next = bio->bi_private; /* walk each page on bio, ending page IO on them */ - bio_for_each_segment_all(bvec, bio, i) + bio_for_each_segment_all_sp(bvec, bio, i, bia) xfs_finish_page_writeback(inode, bvec, error); bio_put(bio); -- 2.9.4 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v3 41/49] xfs: convert to bio_for_each_segment_all_sp() 2017-08-08 8:45 ` [PATCH v3 41/49] xfs: convert to bio_for_each_segment_all_sp() Ming Lei @ 2017-08-08 16:32 ` Darrick J. Wong 2017-10-19 23:52 ` Ming Lei 0 siblings, 1 reply; 3+ messages in thread From: Darrick J. Wong @ 2017-08-08 16:32 UTC (permalink / raw) To: Ming Lei Cc: Jens Axboe, Christoph Hellwig, Huang Ying, Andrew Morton, Alexander Viro, linux-kernel, linux-block, linux-fsdevel, linux-mm, linux-xfs On Tue, Aug 08, 2017 at 04:45:40PM +0800, Ming Lei wrote: Sure would be nice to have a changelog explaining why we're doing this. > Cc: "Darrick J. Wong" <darrick.wong@oracle.com> > Cc: linux-xfs@vger.kernel.org > Signed-off-by: Ming Lei <ming.lei@redhat.com> > --- > fs/xfs/xfs_aops.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c > index 6bf120bb1a17..94df43dcae0b 100644 > --- a/fs/xfs/xfs_aops.c > +++ b/fs/xfs/xfs_aops.c > @@ -139,6 +139,7 @@ xfs_destroy_ioend( > for (bio = &ioend->io_inline_bio; bio; bio = next) { > struct bio_vec *bvec; > int i; > + struct bvec_iter_all bia; > > /* > * For the last bio, bi_private points to the ioend, so we > @@ -150,7 +151,7 @@ xfs_destroy_ioend( > next = bio->bi_private; > > /* walk each page on bio, ending page IO on them */ > - bio_for_each_segment_all(bvec, bio, i) > + bio_for_each_segment_all_sp(bvec, bio, i, bia) It's confusing that you're splitting the old bio_for_each_segment_all into multipage and singlepage variants, but bio_for_each_segment_all continues to exist? Hmm, the new multipage variant aliases the name bio_for_each_segment_all, so clearly the _all function's sematics have changed a bit, but its name and signature haven't, which seems likely to trip up someone who didn't notice the behavioral change. Is it still valid to call bio_for_each_segment_all? I get the feeling from this patchset that you're really supposed to decide whether you want one page at a time or more than one page at a time and choose _sp or _mp? (And, seeing how this was the only patch sent to this list, the chances are higher of someone missing out on these subtle changes...) --D > xfs_finish_page_writeback(inode, bvec, error); > > bio_put(bio); > -- > 2.9.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v3 41/49] xfs: convert to bio_for_each_segment_all_sp() 2017-08-08 16:32 ` Darrick J. Wong @ 2017-10-19 23:52 ` Ming Lei 0 siblings, 0 replies; 3+ messages in thread From: Ming Lei @ 2017-10-19 23:52 UTC (permalink / raw) To: Darrick J. Wong Cc: Jens Axboe, Christoph Hellwig, Huang Ying, Andrew Morton, Alexander Viro, linux-kernel, linux-block, linux-fsdevel, linux-mm, linux-xfs On Tue, Aug 08, 2017 at 09:32:32AM -0700, Darrick J. Wong wrote: > On Tue, Aug 08, 2017 at 04:45:40PM +0800, Ming Lei wrote: > > Sure would be nice to have a changelog explaining why we're doing this. > > > Cc: "Darrick J. Wong" <darrick.wong@oracle.com> > > Cc: linux-xfs@vger.kernel.org > > Signed-off-by: Ming Lei <ming.lei@redhat.com> > > --- > > fs/xfs/xfs_aops.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c > > index 6bf120bb1a17..94df43dcae0b 100644 > > --- a/fs/xfs/xfs_aops.c > > +++ b/fs/xfs/xfs_aops.c > > @@ -139,6 +139,7 @@ xfs_destroy_ioend( > > for (bio = &ioend->io_inline_bio; bio; bio = next) { > > struct bio_vec *bvec; > > int i; > > + struct bvec_iter_all bia; > > > > /* > > * For the last bio, bi_private points to the ioend, so we > > @@ -150,7 +151,7 @@ xfs_destroy_ioend( > > next = bio->bi_private; > > > > /* walk each page on bio, ending page IO on them */ > > - bio_for_each_segment_all(bvec, bio, i) > > + bio_for_each_segment_all_sp(bvec, bio, i, bia) > > It's confusing that you're splitting the old bio_for_each_segment_all > into multipage and singlepage variants, but bio_for_each_segment_all > continues to exist? No, it shouldn't, will remove it in V4. > > Hmm, the new multipage variant aliases the name bio_for_each_segment_all, > so clearly the _all function's sematics have changed a bit, but its name > and signature haven't, which seems likely to trip up someone who didn't > notice the behavioral change. bio_for_each_segment_all_mp() is introduced for providing previous sematics of bio_for_each_segment_all(), and there is few cases in which bvec table need to be updated. > > Is it still valid to call bio_for_each_segment_all? I get the feeling No, bio_for_each_segment_all_mp() should be used instead. But my plan is to rename bio_for_each_segment_all_mp() into bio_for_each_segment_all() and bio_for_each_segment_all_sp() into bio_for_each_page() once this patchset is merged. > from this patchset that you're really supposed to decide whether you > want one page at a time or more than one page at a time and choose _sp > or _mp? Yeah. > > (And, seeing how this was the only patch sent to this list, the chances > are higher of someone missing out on these subtle changes...) OK, will CC you the cover letter next time. -- Ming ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-10-19 23:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20170808084548.18963-1-ming.lei@redhat.com>
2017-08-08 8:45 ` [PATCH v3 41/49] xfs: convert to bio_for_each_segment_all_sp() Ming Lei
2017-08-08 16:32 ` Darrick J. Wong
2017-10-19 23:52 ` Ming Lei
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).