[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