[Btrfs-devel] [ANNOUNCE] Btrfs v0.10 (online growing/shrinking, ext3 conversion, and more)

Yan Zheng yanzheng at 21cn.com
Mon Jan 21 01:15:32 PST 2008


2008/1/21, Christian Hesse <mail at earthworm.de>:
> Back in early december I reported the problem for btrfs 0.9. Seems like the
> lockfs call still is not implemented. Any hints what I need when I try to
> code it myself?

Please try this dirty patch.  I think it can solve your problem.

Regards
YZ
---
diff -r ac53d7df4c11 super.c
--- a/super.c	Thu Jan 17 12:58:00 2008 -0500
+++ b/super.c	Mon Jan 21 17:10:00 2008 +0800
@@ -423,6 +423,18 @@ static struct file_system_type btrfs_fs_
 	.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,
 	.put_inode	= btrfs_put_inode,
@@ -435,6 +447,8 @@ static struct super_operations btrfs_sup
 	.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)



More information about the Btrfs-devel mailing list