mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 05:26:07 +00:00
btrfs: add a BTRFS_FS_NEED_TRANS_COMMIT flag
Currently we are only using fs_info->pending_changes to indicate that we need a transaction commit. The original users for this were removed years ago and we don't have more usage in sight, so this is the only remaining reason to have this field. Add a flag so we can remove this code. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
7966a6b595
commit
c52cc7b7ac
@ -90,6 +90,9 @@ enum {
|
||||
/* Indicate we have to finish a zone to do next allocation. */
|
||||
BTRFS_FS_NEED_ZONE_FINISH,
|
||||
|
||||
/* Indicate that we want to commit the transaction. */
|
||||
BTRFS_FS_NEED_TRANS_COMMIT,
|
||||
|
||||
#if BITS_PER_LONG == 32
|
||||
/* Indicate if we have error/warn message printed on 32bit systems */
|
||||
BTRFS_FS_32BIT_ERROR,
|
||||
|
@ -1535,7 +1535,8 @@ int btrfs_sync_fs(struct super_block *sb, int wait)
|
||||
* Exit unless we have some pending changes
|
||||
* that need to go through commit
|
||||
*/
|
||||
if (fs_info->pending_changes == 0)
|
||||
if (!test_bit(BTRFS_FS_NEED_TRANS_COMMIT,
|
||||
&fs_info->flags))
|
||||
return 0;
|
||||
/*
|
||||
* A non-blocking test if the fs is frozen. We must not
|
||||
|
@ -249,7 +249,7 @@ static ssize_t btrfs_feature_attr_store(struct kobject *kobj,
|
||||
/*
|
||||
* We don't want to do full transaction commit from inside sysfs
|
||||
*/
|
||||
btrfs_set_pending(fs_info, COMMIT);
|
||||
set_bit(BTRFS_FS_NEED_TRANS_COMMIT, &fs_info->flags);
|
||||
wake_up_process(fs_info->transaction_kthread);
|
||||
|
||||
return count;
|
||||
@ -960,7 +960,7 @@ static ssize_t btrfs_label_store(struct kobject *kobj,
|
||||
/*
|
||||
* We don't want to do full transaction commit from inside sysfs
|
||||
*/
|
||||
btrfs_set_pending(fs_info, COMMIT);
|
||||
set_bit(BTRFS_FS_NEED_TRANS_COMMIT, &fs_info->flags);
|
||||
wake_up_process(fs_info->transaction_kthread);
|
||||
|
||||
return len;
|
||||
|
@ -2104,6 +2104,8 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
|
||||
ASSERT(refcount_read(&trans->use_count) == 1);
|
||||
btrfs_trans_state_lockdep_acquire(fs_info, BTRFS_LOCKDEP_TRANS_COMMIT_START);
|
||||
|
||||
clear_bit(BTRFS_FS_NEED_TRANS_COMMIT, &fs_info->flags);
|
||||
|
||||
/* Stop the commit early if ->aborted is set */
|
||||
if (TRANS_ABORTED(cur_trans)) {
|
||||
ret = cur_trans->aborted;
|
||||
|
Loading…
x
Reference in New Issue
Block a user