]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
btrfs: add comments regarding locking to struct btrfs_delayed_ref_root
authorFilipe Manana <fdmanana@suse.com>
Wed, 23 Oct 2024 13:03:44 +0000 (14:03 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 11 Nov 2024 13:34:21 +0000 (14:34 +0100)
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>
fs/btrfs/delayed-ref.h

index b81d28ba0716a033f5968725a8c81baa666b7796..a878579091e7c1d5d6af5e423c409aad506a25b1 100644 (file)
@@ -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;
 
        /*