diff options
author | Filipe Manana <fdmanana@suse.com> | 2024-10-23 14:03:44 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2024-11-11 14:34:21 +0100 |
commit | d3aaeea771d35293ff2996a0a785c460fd613bb6 (patch) | |
tree | 938d4e5319636b21a57d03d1d9381a9960dc5f15 | |
parent | a8985ac6bed0546da493ebdd08238de60f0b1a04 (diff) |
btrfs: add comments regarding locking to struct btrfs_delayed_ref_root
Add some comments to struct btrfs_delayed_ref_root's fields to mention
what its spinlock protects.
Reviewed-by: Boris Burkov <boris@bur.io>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | fs/btrfs/delayed-ref.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/fs/btrfs/delayed-ref.h b/fs/btrfs/delayed-ref.h index b81d28ba0716..a878579091e7 100644 --- a/fs/btrfs/delayed-ref.h +++ b/fs/btrfs/delayed-ref.h @@ -213,19 +213,33 @@ struct btrfs_delayed_ref_root { */ struct xarray dirty_extents; - /* this spin lock protects the rbtree and the entries inside */ + /* + * Protects the rbtree href_root, its entries and the following fields: + * num_heads, num_heads_ready, pending_csums and run_delayed_start. + */ spinlock_t lock; - /* total number of head nodes in tree */ + /* Total number of head refs, protected by the spinlock 'lock'. */ unsigned long num_heads; - /* total number of head nodes ready for processing */ + /* + * Total number of head refs ready for processing, protected by the + * spinlock 'lock'. + */ unsigned long num_heads_ready; + /* + * Track space reserved for deleting csums of data extents. + * Protected by the spinlock 'lock'. + */ u64 pending_csums; unsigned long flags; + /* + * Track from which bytenr to start searching ref heads. + * Protected by the spinlock 'lock'. + */ u64 run_delayed_start; /* |