Btrfs: Add basic lockfs calls
[linux-2.6-block.git] / fs / btrfs / super.c
index b6982f0133cfbf8ddb966164044f69230fe97f8d..8b52c69fda2eaaaaa0947140e17a633ea806e1ed 100644 (file)
@@ -429,6 +429,17 @@ static struct file_system_type btrfs_fs_type = {
        .kill_sb        = kill_block_super,
        .fs_flags       = FS_REQUIRES_DEV,
 };
+static void btrfs_write_super_lockfs(struct super_block *sb)
+{
+       struct btrfs_root *root = btrfs_sb(sb);
+       btrfs_transaction_flush_work(root);
+}
+
+static void btrfs_unlockfs(struct super_block *sb)
+{
+       struct btrfs_root *root = btrfs_sb(sb);
+       btrfs_transaction_queue_work(root, HZ * 30);
+}
 
 static struct super_operations btrfs_super_ops = {
        .delete_inode   = btrfs_delete_inode,
@@ -442,8 +453,9 @@ static struct super_operations btrfs_super_ops = {
        .alloc_inode    = btrfs_alloc_inode,
        .destroy_inode  = btrfs_destroy_inode,
        .statfs         = btrfs_statfs,
+       .write_super_lockfs = btrfs_write_super_lockfs,
+       .unlockfs       = btrfs_unlockfs,
 };
-
 static int __init init_btrfs_fs(void)
 {
        int err;