linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH V3 0/9] Introduce attach/detach_page_private to cleanup code
@ 2020-05-07 21:43 Guoqing Jiang
  2020-05-07 21:43 ` [RFC PATCH V3 01/10] include/linux/pagemap.h: introduce attach/detach_page_private Guoqing Jiang
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Guoqing Jiang @ 2020-05-07 21:43 UTC (permalink / raw)
  To: linux-fsdevel, linux-kernel; +Cc: david, hch, willy, Guoqing Jiang

Hi,

Based on the previous thread [1], this patchset introduces attach_page_private
and detach_page_private to replace attach_page_buffers and __clear_page_buffers.
Thanks a lot for the constructive suggestions and comments from Christoph,
Matthew and Dave.

And sorry for cross post to different lists since it modifies different subsystems.

RFC V2 -> RFC V3:
1. rename clear_page_private to detach_page_private.
2. Update the comments for attach/detach_page_private from Mattew.
3. add one patch to call new function in mm/migrate.c as suggested by Mattew, but
   use the conservative way to keep the orginal semantics [2].


RFC -> RFC V2:
1. rename the new functions and add comments for them.
2. change the return type of attach_page_private.
3. call attach_page_private(newpage, clear_page_private(page)) to cleanup code further.
4. avoid potential use-after-free in orangefs.

[1]. https://lore.kernel.org/linux-fsdevel/20200420221424.GH5820@bombadil.infradead.org/
[2]. https://lore.kernel.org/lkml/e4d5ddc0-877f-6499-f697-2b7c0ddbf386@cloud.ionos.com/

Thanks,
Guoqing

Guoqing Jiang (10):
  include/linux/pagemap.h: introduce attach/detach_page_private
  md: remove __clear_page_buffers and use attach/detach_page_private
  btrfs: use attach/detach_page_private
  fs/buffer.c: use attach/detach_page_private
  f2fs: use attach/detach_page_private
  iomap: use attach/detach_page_private
  ntfs: replace attach_page_buffers with attach_page_private
  orangefs: use attach/detach_page_private
  buffer_head.h: remove attach_page_buffers
  mm/migrate.c: call detach_page_private to cleanup code

 drivers/md/md-bitmap.c      | 12 ++----------
 fs/btrfs/disk-io.c          |  4 +---
 fs/btrfs/extent_io.c        | 21 ++++++---------------
 fs/btrfs/inode.c            | 23 +++++------------------
 fs/buffer.c                 | 16 ++++------------
 fs/f2fs/f2fs.h              | 11 ++---------
 fs/iomap/buffered-io.c      | 19 ++++---------------
 fs/ntfs/aops.c              |  2 +-
 fs/ntfs/mft.c               |  2 +-
 fs/orangefs/inode.c         | 32 ++++++--------------------------
 include/linux/buffer_head.h |  8 --------
 include/linux/pagemap.h     | 37 +++++++++++++++++++++++++++++++++++++
 mm/migrate.c                |  5 +----
 13 files changed, 70 insertions(+), 122 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-05-08  0:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-07 21:43 [RFC PATCH V3 0/9] Introduce attach/detach_page_private to cleanup code Guoqing Jiang
2020-05-07 21:43 ` [RFC PATCH V3 01/10] include/linux/pagemap.h: introduce attach/detach_page_private Guoqing Jiang
2020-05-07 21:43 ` [RFC PATCH V3 02/10] md: remove __clear_page_buffers and use attach/detach_page_private Guoqing Jiang
2020-05-08  0:47   ` Song Liu
2020-05-07 21:43 ` [RFC PATCH V3 03/10] btrfs: " Guoqing Jiang
2020-05-07 21:43 ` [RFC PATCH V3 04/10] fs/buffer.c: " Guoqing Jiang
2020-05-07 21:43 ` [RFC PATCH V3 05/10] f2fs: " Guoqing Jiang
2020-05-07 21:43 ` [RFC PATCH V3 06/10] iomap: " Guoqing Jiang
2020-05-07 21:43 ` [RFC PATCH V3 07/10] ntfs: replace attach_page_buffers with attach_page_private Guoqing Jiang
2020-05-07 21:43 ` [RFC PATCH V3 08/10] orangefs: use attach/detach_page_private Guoqing Jiang
2020-05-07 21:43 ` [RFC PATCH V3 09/10] buffer_head.h: remove attach_page_buffers Guoqing Jiang
2020-05-07 21:44 ` [RFC PATCH V3 10/10] mm/migrate.c: call detach_page_private to cleanup code Guoqing Jiang

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).