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.
