mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
btrfs: remove fs_info::pending_changes and related code
Now that we're not using this code anywhere we can remove it as well as the member from fs_info. We don't have any mount options or on/off features that would utilize the pending infrastructure, the last one was inode_cache. There was a patchset [1] to enable some features from sysfs that would break things if it would be set immediately. In case we'll need that kind of logic again the patch can be reverted, but for the current use it can be replaced by the single state bit to do the commit. [1] https://lore.kernel.org/linux-btrfs/1422609654-19519-1-git-send-email-quwenruo@cn.fujitsu.com/ 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> [ add note ] Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
c52cc7b7ac
commit
55e5cfd36d
@ -373,11 +373,7 @@ struct btrfs_fs_info {
|
||||
*/
|
||||
u64 last_trans_log_full_commit;
|
||||
unsigned long mount_opt;
|
||||
/*
|
||||
* Track requests for actions that need to be done during transaction
|
||||
* commit (like for some mount options).
|
||||
*/
|
||||
unsigned long pending_changes;
|
||||
|
||||
unsigned long compress_type:4;
|
||||
unsigned int compress_level;
|
||||
u32 commit_interval;
|
||||
@ -1260,23 +1256,6 @@ static inline u32 BTRFS_MAX_XATTR_SIZE(const struct btrfs_fs_info *info)
|
||||
return BTRFS_MAX_ITEM_SIZE(info) - sizeof(struct btrfs_dir_item);
|
||||
}
|
||||
|
||||
/*
|
||||
* Requests for changes that need to be done during transaction commit.
|
||||
*
|
||||
* Internal mount options that are used for special handling of the real
|
||||
* mount options (eg. cannot be set during remount and have to be set during
|
||||
* transaction commit)
|
||||
*/
|
||||
|
||||
#define BTRFS_PENDING_COMMIT (0)
|
||||
|
||||
#define btrfs_test_pending(info, opt) \
|
||||
test_bit(BTRFS_PENDING_##opt, &(info)->pending_changes)
|
||||
#define btrfs_set_pending(info, opt) \
|
||||
set_bit(BTRFS_PENDING_##opt, &(info)->pending_changes)
|
||||
#define btrfs_clear_pending(info, opt) \
|
||||
clear_bit(BTRFS_PENDING_##opt, &(info)->pending_changes)
|
||||
|
||||
struct btrfs_map_token {
|
||||
struct extent_buffer *eb;
|
||||
char *kaddr;
|
||||
|
@ -3761,12 +3761,6 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device
|
||||
btrfs_clear_opt(fs_info->mount_opt, NODISCARD);
|
||||
}
|
||||
|
||||
/*
|
||||
* Mount does not set all options immediately, we can do it now and do
|
||||
* not have to wait for transaction commit
|
||||
*/
|
||||
btrfs_apply_pending_changes(fs_info);
|
||||
|
||||
#ifdef CONFIG_BTRFS_FS_CHECK_INTEGRITY
|
||||
if (btrfs_test_opt(fs_info, CHECK_INTEGRITY)) {
|
||||
ret = btrfsic_mount(fs_info, fs_devices,
|
||||
|
@ -2359,12 +2359,6 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
|
||||
if (ret)
|
||||
goto unlock_reloc;
|
||||
|
||||
/*
|
||||
* Since the transaction is done, we can apply the pending changes
|
||||
* before the next transaction.
|
||||
*/
|
||||
btrfs_apply_pending_changes(fs_info);
|
||||
|
||||
/* commit_fs_roots gets rid of all the tree log roots, it is now
|
||||
* safe to free the root of tree log roots
|
||||
*/
|
||||
@ -2587,25 +2581,6 @@ int btrfs_clean_one_deleted_snapshot(struct btrfs_fs_info *fs_info)
|
||||
return (ret < 0) ? 0 : 1;
|
||||
}
|
||||
|
||||
void btrfs_apply_pending_changes(struct btrfs_fs_info *fs_info)
|
||||
{
|
||||
unsigned long prev;
|
||||
unsigned long bit;
|
||||
|
||||
prev = xchg(&fs_info->pending_changes, 0);
|
||||
if (!prev)
|
||||
return;
|
||||
|
||||
bit = 1 << BTRFS_PENDING_COMMIT;
|
||||
if (prev & bit)
|
||||
btrfs_debug(fs_info, "pending commit done");
|
||||
prev &= ~bit;
|
||||
|
||||
if (prev)
|
||||
btrfs_warn(fs_info,
|
||||
"unknown pending changes left 0x%lx, ignoring", prev);
|
||||
}
|
||||
|
||||
int __init btrfs_transaction_init(void)
|
||||
{
|
||||
btrfs_trans_handle_cachep = kmem_cache_create("btrfs_trans_handle",
|
||||
|
@ -233,7 +233,6 @@ int btrfs_wait_tree_log_extents(struct btrfs_root *root, int mark);
|
||||
int btrfs_transaction_blocked(struct btrfs_fs_info *info);
|
||||
int btrfs_transaction_in_commit(struct btrfs_fs_info *info);
|
||||
void btrfs_put_transaction(struct btrfs_transaction *transaction);
|
||||
void btrfs_apply_pending_changes(struct btrfs_fs_info *fs_info);
|
||||
void btrfs_add_dropped_root(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root);
|
||||
void btrfs_trans_release_chunk_metadata(struct btrfs_trans_handle *trans);
|
||||
|
Loading…
Reference in New Issue
Block a user