On Mon, Dec 30, 2019 at 07:13:18PM +0100, David Sterba wrote: > On Fri, Dec 13, 2019 at 04:22:09PM -0800, Dennis Zhou wrote: > > Hello, > > > > Dave reported a lockdep issue [1]. I'm a bit surprised as I can't repro > > it, but it obviously is right. I believe I fixed the issue by moving the > > fully trimmed check outside of the block_group lock. I mistakingly > > thought the btrfs_block_group lock subsumed btrfs_free_space_ctl > > tree_lock. This clearly isn't the case. > > > > Changes in v6: > > - Move the fully trimmed check outside of the block_group lock. > > > > v5 is available here: [2]. > > > > This series is on top of btrfs-devel#misc-next 7ee98bb808e2 + [3] and > > [4]. > > > > [1] https://lore.kernel.org/linux-btrfs/20191210140438.GU2734@xxxxxxxxxxxxx/ > > [2] https://lore.kernel.org/linux-btrfs/cover.1575919745.git.dennis@xxxxxxxxxx/ > > [3] https://lore.kernel.org/linux-btrfs/d934383ea528d920a95b6107daad6023b516f0f4.1576109087.git.dennis@xxxxxxxxxx/ > > [4] https://lore.kernel.org/linux-btrfs/20191209193846.18162-1-dennis@xxxxxxxxxx/ > > > > Dennis Zhou (22): > > bitmap: genericize percpu bitmap region iterators > > btrfs: rename DISCARD opt to DISCARD_SYNC > > btrfs: keep track of which extents have been discarded > > btrfs: keep track of cleanliness of the bitmap > > btrfs: add the beginning of async discard, discard workqueue > > btrfs: handle empty block_group removal > > btrfs: discard one region at a time in async discard > > btrfs: add removal calls for sysfs debug/ > > btrfs: make UUID/debug have its own kobject > > btrfs: add discard sysfs directory > > btrfs: track discardable extents for async discard > > btrfs: keep track of discardable_bytes > > btrfs: calculate discard delay based on number of extents > > btrfs: add bps discard rate limit > > btrfs: limit max discard size for async discard > > btrfs: make max async discard size tunable > > btrfs: have multiple discard lists > > btrfs: only keep track of data extents for async discard > > btrfs: keep track of discard reuse stats > > btrfs: add async discard header > > btrfs: increase the metadata allowance for the free_space_cache > > btrfs: make smaller extents more likely to go into bitmaps > > Patches 1-12 merged to a temporary misc-next but I haven't pushed it as > misc-next yet (it's misc-next-with-discard-v6 in my github repo). There > are some comments to patch 13 and up so please send them either as > replies or as a shorter series. Thanks. Great! Thanks for taking another pass at it all. Would you prefer a pull request or just another series? I'll throw on top a couple patches to hopefully address the -1 (I'm still not fully sure how it can happen). Thanks, Dennis
