diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-06-25 16:01:30 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:03 -0400 |
commit | a213501153fd66e2359e091b1612841305ba6551 (patch) | |
tree | 1f4c316c9d3cad0eb6d9be14cb0e67e46e815dce /fs/btrfs/ctree.h | |
parent | 925baeddc5b0764a53f2214a1253251bab0e0324 (diff) |
Btrfs: Replace the big fs_mutex with a collection of other locks
Extent alloctions are still protected by a large alloc_mutex.
Objectid allocations are covered by a objectid mutex
Other btree operations are protected by a lock on individual btree nodes
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 50891b39f366..692b8ea42de1 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -519,9 +519,9 @@ struct btrfs_fs_info { | |||
519 | struct backing_dev_info bdi; | 519 | struct backing_dev_info bdi; |
520 | spinlock_t hash_lock; | 520 | spinlock_t hash_lock; |
521 | struct mutex trans_mutex; | 521 | struct mutex trans_mutex; |
522 | struct mutex fs_mutex; | ||
523 | struct mutex alloc_mutex; | 522 | struct mutex alloc_mutex; |
524 | struct mutex chunk_mutex; | 523 | struct mutex chunk_mutex; |
524 | struct mutex drop_mutex; | ||
525 | struct list_head trans_list; | 525 | struct list_head trans_list; |
526 | struct list_head hashers; | 526 | struct list_head hashers; |
527 | struct list_head dead_roots; | 527 | struct list_head dead_roots; |
@@ -554,7 +554,7 @@ struct btrfs_fs_info { | |||
554 | struct completion kobj_unregister; | 554 | struct completion kobj_unregister; |
555 | int do_barriers; | 555 | int do_barriers; |
556 | int closing; | 556 | int closing; |
557 | unsigned long throttles; | 557 | atomic_t throttles; |
558 | 558 | ||
559 | u64 total_pinned; | 559 | u64 total_pinned; |
560 | struct list_head dirty_cowonly_roots; | 560 | struct list_head dirty_cowonly_roots; |
@@ -594,6 +594,7 @@ struct btrfs_root { | |||
594 | struct inode *inode; | 594 | struct inode *inode; |
595 | struct kobject root_kobj; | 595 | struct kobject root_kobj; |
596 | struct completion kobj_unregister; | 596 | struct completion kobj_unregister; |
597 | struct mutex objectid_mutex; | ||
597 | u64 objectid; | 598 | u64 objectid; |
598 | u64 last_trans; | 599 | u64 last_trans; |
599 | 600 | ||