aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/async-thread.c
diff options
context:
space:
mode:
authorChris Mason <[email protected]>2009-06-10 19:17:02 +0000
committerChris Mason <[email protected]>2009-06-10 19:17:02 +0000
commite5e9a5206a171b2c467e494aebcdcf70c47289bc (patch)
treed9a6a89cccbd084db923f1661b52d5a1dfdb83fe /fs/btrfs/async-thread.c
parentFix btrfs when ACLs are configured out (diff)
downloadkernel-e5e9a5206a171b2c467e494aebcdcf70c47289bc.tar.gz
kernel-e5e9a5206a171b2c467e494aebcdcf70c47289bc.zip
Btrfs: avoid races between super writeout and device list updates
On multi-device filesystems, btrfs writes supers to all of the devices before considering a sync complete. There wasn't any additional locking between super writeout and the device list management code because device management was done inside a transaction and super writeout only happened with no transation writers running. With the btrfs fsync log and other async transaction updates, this has been racey for some time. This adds a mutex to protect the device list. The existing volume mutex could not be reused due to transaction lock ordering requirements. Signed-off-by: Chris Mason <[email protected]>
Diffstat (limited to 'fs/btrfs/async-thread.c')
0 files changed, 0 insertions, 0 deletions