Commit 0b6f5d40 authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba

btrfs: Add comments on locking of several device-related fields

Signed-off-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent bd80d94e
...@@ -239,7 +239,9 @@ static int __btrfs_map_block(struct btrfs_fs_info *fs_info, ...@@ -239,7 +239,9 @@ static int __btrfs_map_block(struct btrfs_fs_info *fs_info,
* chunk_mutex * chunk_mutex
* ----------- * -----------
* protects chunks, adding or removing during allocation, trim or when a new * protects chunks, adding or removing during allocation, trim or when a new
* device is added/removed * device is added/removed. Additionally it also protects post_commit_list of
* individual devices, since they can be added to the transaction's
* post_commit_list only with chunk_mutex held.
* *
* cleaner_mutex * cleaner_mutex
* ------------- * -------------
......
...@@ -43,8 +43,8 @@ struct btrfs_pending_bios { ...@@ -43,8 +43,8 @@ struct btrfs_pending_bios {
#define BTRFS_DEV_STATE_FLUSH_SENT (4) #define BTRFS_DEV_STATE_FLUSH_SENT (4)
struct btrfs_device { struct btrfs_device {
struct list_head dev_list; struct list_head dev_list; /* device_list_mutex */
struct list_head dev_alloc_list; struct list_head dev_alloc_list; /* chunk mutex */
struct list_head post_commit_list; /* chunk mutex */ struct list_head post_commit_list; /* chunk mutex */
struct btrfs_fs_devices *fs_devices; struct btrfs_fs_devices *fs_devices;
struct btrfs_fs_info *fs_info; struct btrfs_fs_info *fs_info;
...@@ -229,9 +229,14 @@ struct btrfs_fs_devices { ...@@ -229,9 +229,14 @@ struct btrfs_fs_devices {
* this mutex lock. * this mutex lock.
*/ */
struct mutex device_list_mutex; struct mutex device_list_mutex;
/* List of all devices, protected by device_list_mutex */
struct list_head devices; struct list_head devices;
/* devices not currently being allocated */ /*
* Devices which can satisfy space allocation. Protected by
* chunk_mutex
*/
struct list_head alloc_list; struct list_head alloc_list;
struct btrfs_fs_devices *seed; struct btrfs_fs_devices *seed;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment