All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCH v6 00/20] bio: check return values of bio_add_page
@ 2023-05-30 15:49 ` Johannes Thumshirn
  0 siblings, 0 replies; 207+ messages in thread
From: Johannes Thumshirn @ 2023-05-30 15:49 UTC (permalink / raw)
  To: cluster-devel.redhat.com

We have two functions for adding a page to a bio, __bio_add_page() which is
used to add a single page to a freshly created bio and bio_add_page() which is
used to add a page to an existing bio.

While __bio_add_page() is expected to succeed, bio_add_page() can fail.

This series converts the callers of bio_add_page() which can easily use
__bio_add_page() to using it and checks the return of bio_add_page() for
callers that don't work on a freshly created bio.

Lastly it marks bio_add_page() as __must_check so we don't have to go again
and audit all callers.

Changes to v5:
- Rebased onto latest Linus' master
- Removed now superfluous BUG_ON() in fs/buffer.c (Gou)
- Removed dead cleanup code in dm-crypt.c (Mikulas)

Changes to v4:
- Rebased onto latest Linus' master
- Dropped already merged patches
- Added Sergey's Reviewed-by

Changes to v3:
- Added __bio_add_folio and use it in iomap (Willy)
- Mark bio_add_folio must check (Willy)
- s/GFS/GFS2/ (Andreas)

Changes to v2:
- Removed 'wont fail' comments pointed out by Song

Changes to v1:
- Removed pointless comment pointed out by Willy
- Changed commit messages pointed out by Damien
- Colledted Damien's Reviews and Acks



Johannes Thumshirn (20):
  swap: use __bio_add_page to add page to bio
  drbd: use __bio_add_page to add page to bio
  dm: dm-zoned: use __bio_add_page for adding single metadata page
  fs: buffer: use __bio_add_page to add single page to bio
  md: use __bio_add_page to add single page
  md: raid5-log: use __bio_add_page to add single page
  md: raid5: use __bio_add_page to add single page to new bio
  jfs: logmgr: use __bio_add_page to add single page to bio
  gfs2: use __bio_add_page for adding single page to bio
  zonefs: use __bio_add_page for adding single page to bio
  zram: use __bio_add_page for adding single page to bio
  floppy: use __bio_add_page for adding single page to bio
  md: check for failure when adding pages in alloc_behind_master_bio
  md: raid1: use __bio_add_page for adding single page to bio
  md: raid1: check if adding pages to resync bio fails
  dm-crypt: check if adding pages to clone bio fails
  block: mark bio_add_page as __must_check
  block: add __bio_add_folio
  fs: iomap: use __bio_add_folio where possible
  block: mark bio_add_folio as __must_check

 block/bio.c                      |  8 ++++++++
 drivers/block/drbd/drbd_bitmap.c |  4 +---
 drivers/block/floppy.c           |  2 +-
 drivers/block/zram/zram_drv.c    |  2 +-
 drivers/md/dm-crypt.c            |  5 ++++-
 drivers/md/dm-zoned-metadata.c   |  6 +++---
 drivers/md/md.c                  |  4 ++--
 drivers/md/raid1-10.c            | 11 ++++++-----
 drivers/md/raid1.c               |  7 +++++--
 drivers/md/raid10.c              | 20 ++++++++++----------
 drivers/md/raid5-cache.c         |  2 +-
 drivers/md/raid5-ppl.c           |  4 ++--
 fs/buffer.c                      |  3 +--
 fs/gfs2/ops_fstype.c             |  2 +-
 fs/iomap/buffered-io.c           |  6 +++---
 fs/jfs/jfs_logmgr.c              |  4 ++--
 fs/zonefs/super.c                |  2 +-
 include/linux/bio.h              |  5 +++--
 mm/page_io.c                     |  8 ++++----
 19 files changed, 59 insertions(+), 46 deletions(-)

-- 
2.40.1


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

end of thread, other threads:[~2023-06-01  5:32 UTC | newest]

Thread overview: 207+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-30 15:49 [Cluster-devel] [PATCH v6 00/20] bio: check return values of bio_add_page Johannes Thumshirn
2023-05-31 11:37 ` Johannes Thumshirn
2023-05-31 11:37 ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37 ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49 ` Johannes Thumshirn
2023-05-30 15:49 ` [dm-devel] " Johannes Thumshirn
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 01/20] swap: use __bio_add_page to add page to bio Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:20   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:20     ` Christoph Hellwig
2023-05-31  4:20     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 02/20] drbd: " Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 03/20] dm: dm-zoned: use __bio_add_page for adding single metadata page Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 04/20] fs: buffer: use __bio_add_page to add single page to bio Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  1:20   ` [Cluster-devel] " Gou Hao
2023-05-31  1:20     ` Gou Hao
2023-05-31  1:20     ` [dm-devel] " Gou Hao
2023-05-31  4:20   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:20     ` Christoph Hellwig
2023-05-31  4:20     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 05/20] md: use __bio_add_page to add single page Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:21   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:21     ` Christoph Hellwig
2023-05-31  4:21     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 06/20] md: raid5-log: " Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:21   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:21     ` Christoph Hellwig
2023-05-31  4:21     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 07/20] md: raid5: use __bio_add_page to add single page to new bio Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:21   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:21     ` Christoph Hellwig
2023-05-31  4:21     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 08/20] jfs: logmgr: use __bio_add_page to add single page to bio Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:21   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:21     ` Christoph Hellwig
2023-05-31  4:21     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 09/20] gfs2: use __bio_add_page for adding " Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:22   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:22     ` Christoph Hellwig
2023-05-31  4:22     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 10/20] zonefs: " Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:22   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:22     ` Christoph Hellwig
2023-05-31  4:22     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 11/20] zram: " Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:22   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:22     ` Christoph Hellwig
2023-05-31  4:22     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 12/20] floppy: " Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:23   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:23     ` Christoph Hellwig
2023-05-31  4:23     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 13/20] md: check for failure when adding pages in alloc_behind_master_bio Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-30 20:40   ` [Cluster-devel] " Song Liu
2023-05-30 20:40     ` Song Liu
2023-05-30 20:40     ` [dm-devel] " Song Liu
2023-05-31  4:23   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:23     ` Christoph Hellwig
2023-05-31  4:23     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 14/20] md: raid1: use __bio_add_page for adding single page to bio Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:23   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:23     ` Christoph Hellwig
2023-05-31  4:23     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 15/20] md: raid1: check if adding pages to resync bio fails Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:25   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:25     ` Christoph Hellwig
2023-05-31  4:25     ` [dm-devel] " Christoph Hellwig
2023-05-31  4:58     ` [Cluster-devel] " Song Liu
2023-05-31  4:58       ` Song Liu
2023-05-31  4:58       ` [dm-devel] " Song Liu
2023-05-31  7:54       ` [Cluster-devel] " Paul Menzel
2023-05-31  7:54         ` Paul Menzel
2023-05-31  7:54         ` [dm-devel] " Paul Menzel
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 16/20] dm-crypt: check if adding pages to clone " Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-30 16:10   ` [Cluster-devel] " Mike Snitzer
2023-05-30 16:10     ` Mike Snitzer
2023-05-30 16:10     ` [dm-devel] " Mike Snitzer
2023-05-30 16:20     ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 16:20       ` Johannes Thumshirn
2023-05-30 16:20       ` [dm-devel] " Johannes Thumshirn
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 17/20] block: mark bio_add_page as __must_check Johannes Thumshirn
2023-05-31 11:37   ` Johannes Thumshirn
2023-05-31 11:37   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:37   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-31  4:25   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:25     ` Christoph Hellwig
2023-05-31  4:25     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 18/20] block: add __bio_add_folio Johannes Thumshirn
2023-05-31 11:38   ` Johannes Thumshirn
2023-05-31 11:38   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:38   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-30 15:57   ` [Cluster-devel] " Matthew Wilcox
2023-05-30 15:57     ` Matthew Wilcox
2023-05-30 15:57     ` [dm-devel] " Matthew Wilcox
2023-05-31  4:26   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:26     ` Christoph Hellwig
2023-05-31  4:26     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 19/20] fs: iomap: use __bio_add_folio where possible Johannes Thumshirn
2023-05-31 11:38   ` Johannes Thumshirn
2023-05-31 11:38   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:38   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-30 15:58   ` [Cluster-devel] " Matthew Wilcox
2023-05-30 15:58     ` Matthew Wilcox
2023-05-30 15:58     ` [dm-devel] " Matthew Wilcox
2023-05-31  4:29   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:29     ` Christoph Hellwig
2023-05-31  4:29     ` [dm-devel] " Christoph Hellwig
2023-05-30 15:49 ` [Cluster-devel] [PATCH v6 20/20] block: mark bio_add_folio as __must_check Johannes Thumshirn
2023-05-31 11:38   ` Johannes Thumshirn
2023-05-31 11:38   ` [dm-devel] " Johannes Thumshirn
2023-05-31 11:38   ` [Cluster-devel] " Johannes Thumshirn
2023-05-30 15:49   ` Johannes Thumshirn
2023-05-30 15:49   ` [dm-devel] " Johannes Thumshirn
2023-05-30 15:58   ` [Cluster-devel] " Matthew Wilcox
2023-05-30 15:58     ` Matthew Wilcox
2023-05-30 15:58     ` [dm-devel] " Matthew Wilcox
2023-05-31  4:29   ` [Cluster-devel] " Christoph Hellwig
2023-05-31  4:29     ` Christoph Hellwig
2023-05-31  4:29     ` [dm-devel] " Christoph Hellwig
2023-05-31 11:50 ` [Cluster-devel] [PATCH v6 00/20] bio: check return values of bio_add_page Johannes Thumshirn
2023-05-31 11:50   ` Johannes Thumshirn
2023-05-31 11:50   ` [dm-devel] " Johannes Thumshirn

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.