public inbox for linux-bcachefs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] bcachefs: fiemap delalloc support and cleanup
@ 2024-04-08 14:48 Brian Foster
  2024-04-08 14:48 ` [PATCH v3 1/4] bcachefs: drop duplicate fiemap sync flag Brian Foster
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Brian Foster @ 2024-04-08 14:48 UTC (permalink / raw)
  To: linux-bcachefs

Hi all,

Here's v3 of the fiemap delalloc support patches for bcachefs. The main
difference from v2 is that the pagecache seek calls are now using
nonblocking mode to avoid deadlocks between fiemap and the write path.
The write path locks in folio -> extent btree order while fiemap walks
the extent btree and scans for folios in transaction context. Therefore,
the latter must restart the iterating transaction in the event of folio
trylock failure and restart the scan from where it left off.

The series is pushed to CI via my test branch, as usual:

https://evilpiepirate.org/~testdashboard/ci?branch=bfoster

Brian

v3:
- Use nonblocking pagecache seek to address extent btree vs. folio
  deadlocks.
v2: https://lore.kernel.org/linux-bcachefs/20240117155611.248042-1-bfoster@redhat.com/
- Clean up bch2_fiemap() a bit to use processing helpers.
- Added patch for sync flag fixup.
v1: https://lore.kernel.org/linux-bcachefs/20231219140215.300753-1-bfoster@redhat.com/

Brian Foster (4):
  bcachefs: drop duplicate fiemap sync flag
  bcachefs: track current fiemap offset in start variable
  bcachefs: refactor fiemap processing into extent helper and struct
  bcachefs: add fiemap delalloc extent detection

 fs/bcachefs/fs.c | 175 +++++++++++++++++++++++++++++++++++------------
 1 file changed, 133 insertions(+), 42 deletions(-)

-- 
2.44.0


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

end of thread, other threads:[~2024-04-20  2:02 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-08 14:48 [PATCH v3 0/4] bcachefs: fiemap delalloc support and cleanup Brian Foster
2024-04-08 14:48 ` [PATCH v3 1/4] bcachefs: drop duplicate fiemap sync flag Brian Foster
2024-04-08 14:48 ` [PATCH v3 2/4] bcachefs: track current fiemap offset in start variable Brian Foster
2024-04-08 14:48 ` [PATCH v3 3/4] bcachefs: refactor fiemap processing into extent helper and struct Brian Foster
2024-04-08 14:48 ` [PATCH v3 4/4] bcachefs: add fiemap delalloc extent detection Brian Foster
2024-04-18 14:46   ` Brian Foster
2024-04-20  2:02     ` Kent Overstreet
2024-04-09  3:33 ` [PATCH v3 0/4] bcachefs: fiemap delalloc support and cleanup Kent Overstreet
2024-04-09 12:21   ` Brian Foster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox