aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorStefan Behrens <sbehrens@giantdisaster.de>2013-08-15 11:11:21 -0400
committerChris Mason <chris.mason@fusionio.com>2013-09-01 08:15:56 -0400
commit803b2f54fb4faf6d76fca43e59bcc555d9713cd4 (patch)
treef5e5c56d186aa1829aaedb652756ec8f4644e05b /fs/btrfs/ctree.h
parentdd5f9615fc5c5e8d3751aab3a17b92768fb1ce70 (diff)
Btrfs: fill UUID tree initially
When the UUID tree is initially created, a task is spawned that walks through the root tree. For each found subvolume root_item, the uuid and received_uuid entries in the UUID tree are added. This is such a quick operation so that in case somebody wants to unmount the filesystem while the task is still running, the unmount is delayed until the UUID tree building task is finished. Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r--fs/btrfs/ctree.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index bdc8498d6f03..df2b9c22b4cf 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -23,6 +23,7 @@
23#include <linux/highmem.h> 23#include <linux/highmem.h>
24#include <linux/fs.h> 24#include <linux/fs.h>
25#include <linux/rwsem.h> 25#include <linux/rwsem.h>
26#include <linux/semaphore.h>
26#include <linux/completion.h> 27#include <linux/completion.h>
27#include <linux/backing-dev.h> 28#include <linux/backing-dev.h>
28#include <linux/wait.h> 29#include <linux/wait.h>
@@ -1654,6 +1655,8 @@ struct btrfs_fs_info {
1654 struct btrfs_dev_replace dev_replace; 1655 struct btrfs_dev_replace dev_replace;
1655 1656
1656 atomic_t mutually_exclusive_operation_running; 1657 atomic_t mutually_exclusive_operation_running;
1658
1659 struct semaphore uuid_tree_rescan_sem;
1657}; 1660};
1658 1661
1659/* 1662/*