[email protected] wrote:
> thank you.
> 
> i tried your patch and did another test run.
> 
> first, it looked better as i could do much more snapshots than before, but 
> then it froze again.
> 
> i don`t really have a clue if your patch enhanced anything, as my test setup 
> isn`t exactly  reproducable for now and i did not check for exact "testing 
> lab conditions".
> 
> after /btrfs froze again, i tried to unmount by forcibly unloading btrfs 
> module. 
> 
> after reloading the module and trying to mount again, it failed with the 
> following  kernel message:
> 
I hope the new patch can solve the problem.

Yan Zheng 

---
diff -urp 1/fs/btrfs/inode.c 2/fs/btrfs/inode.c
--- 1/fs/btrfs/inode.c  2008-12-18 08:09:16.062111805 +0800
+++ 2/fs/btrfs/inode.c  2008-12-22 08:47:06.000000000 +0800
@@ -2891,7 +2891,7 @@ void btrfs_delete_inode(struct inode *in
        btrfs_wait_ordered_range(inode, 0, (u64)-1);
 
        btrfs_i_size_write(inode, 0);
-       trans = btrfs_start_transaction(root, 1);
+       trans = btrfs_join_transaction(root, 1);
 
        btrfs_set_trans_block_group(trans, inode);
        ret = btrfs_truncate_inode_items(trans, root, inode, inode->i_size, 0);
diff -urp 1/fs/btrfs/transaction.c 2/fs/btrfs/transaction.c
--- 1/fs/btrfs/transaction.c    2008-12-13 12:35:29.487886730 +0800
+++ 2/fs/btrfs/transaction.c    2008-12-21 19:09:09.000000000 +0800
@@ -804,7 +804,7 @@ static noinline int finish_pending_snaps
 
        parent_inode = pending->dentry->d_parent->d_inode;
        parent_root = BTRFS_I(parent_inode)->root;
-       trans = btrfs_start_transaction(parent_root, 1);
+       trans = btrfs_join_transaction(parent_root, 1);
 
        /*
         * insert the directory item
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to