search for: open_ioctl_trans

Displaying 4 results from an estimated 4 matches for "open_ioctl_trans".

2008 Dec 11
0
[PATCH] btrfs: mnt_drop_write in ioctl_trans_end
...--- fs/btrfs/ioctl.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 6228b69..69c4a07 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -1059,6 +1059,8 @@ long btrfs_ioctl_trans_end(struct file *file) root->fs_info->open_ioctl_trans--; mutex_unlock(&root->fs_info->trans_mutex); + mnt_drop_write(file->f_path.mnt); + out: return ret; } -- 1.5.6.5 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at...
2009 Nov 10
12
[RFC] big fat transaction ioctl
...ther point in the transaction op vector to do some cleanup and/or an explicit WEDGE op to accomplish the same thing?) - This still uses the existing ioctl start transaction call. Depending on how Josef''s ENOSPC journal_info stuff works out, I should be able to avoid the current global open_ioctl_trans counter for a cleaner interaction with the btrfs transaction code. - The data space reservation is still missing. I need a way to find which space_info will be used, and pin it for the duration of the entire transaction. - The metadata reservation is a worst case bound. It could be less con...
2010 Apr 19
0
[PATCH 08/12] Btrfs: Introduce global metadata reservation
...btrfs_transaction *cur_trans; + struct btrfs_transaction *cur_trans = trans->transaction; struct btrfs_fs_info *info = root->fs_info; int count = 0; @@ -349,9 +375,19 @@ static int __btrfs_end_transaction(struc btrfs_trans_release_metadata(trans, root); + if (!root->fs_info->open_ioctl_trans && + should_end_transaction(trans, root)) + trans->transaction->blocked = 1; + + if (cur_trans->blocked && !cur_trans->in_commit) { + if (throttle) + return btrfs_commit_transaction(trans, root); + else + wake_up_process(info->transaction_kthread); + } +...
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...ct btrfs_trans_handle *h = - kmem_cache_alloc(btrfs_trans_handle_cachep, GFP_NOFS); + struct btrfs_transaction *cur_trans; int ret; - mutex_lock(&root->fs_info->trans_mutex); - if (!root->fs_info->log_root_recovering && - ((wait == 1 && !root->fs_info->open_ioctl_trans) || wait == 2)) - wait_current_trans(root); ret = join_transaction(root); - BUG_ON(ret); + if (ret) + return ret; + + cur_trans = root->fs_info->running_transaction; - h->transid = root->fs_info->running_transaction->transid; - h->transaction = root->fs_info->runnin...