Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

btrfs: drop transaction parameter from btrfs_add_inode_defrag()

There's only one caller inode_should_defrag() that passes NULL to
btrfs_add_inode_defrag() so we can drop it an simplify the code.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>

+4 -12
+2 -9
fs/btrfs/defrag.c
··· 120 120 * Insert a defrag record for this inode if auto defrag is enabled. No errors 121 121 * returned as they're not considered fatal. 122 122 */ 123 - void btrfs_add_inode_defrag(struct btrfs_trans_handle *trans, 124 - struct btrfs_inode *inode, u32 extent_thresh) 123 + void btrfs_add_inode_defrag(struct btrfs_inode *inode, u32 extent_thresh) 125 124 { 126 125 struct btrfs_root *root = inode->root; 127 126 struct btrfs_fs_info *fs_info = root->fs_info; 128 127 struct inode_defrag *defrag; 129 - u64 transid; 130 128 int ret; 131 129 132 130 if (!need_auto_defrag(fs_info)) ··· 133 135 if (test_bit(BTRFS_INODE_IN_DEFRAG, &inode->runtime_flags)) 134 136 return; 135 137 136 - if (trans) 137 - transid = trans->transid; 138 - else 139 - transid = btrfs_get_root_last_trans(root); 140 - 141 138 defrag = kmem_cache_zalloc(btrfs_inode_defrag_cachep, GFP_NOFS); 142 139 if (!defrag) 143 140 return; 144 141 145 142 defrag->ino = btrfs_ino(inode); 146 - defrag->transid = transid; 143 + defrag->transid = btrfs_get_root_last_trans(root); 147 144 defrag->root = btrfs_root_id(root); 148 145 defrag->extent_thresh = extent_thresh; 149 146
+1 -2
fs/btrfs/defrag.h
··· 18 18 u64 newer_than, unsigned long max_to_defrag); 19 19 int __init btrfs_auto_defrag_init(void); 20 20 void __cold btrfs_auto_defrag_exit(void); 21 - void btrfs_add_inode_defrag(struct btrfs_trans_handle *trans, 22 - struct btrfs_inode *inode, u32 extent_thresh); 21 + void btrfs_add_inode_defrag(struct btrfs_inode *inode, u32 extent_thresh); 23 22 int btrfs_run_defrag_inodes(struct btrfs_fs_info *fs_info); 24 23 void btrfs_cleanup_defrag_inodes(struct btrfs_fs_info *fs_info); 25 24 int btrfs_defrag_root(struct btrfs_root *root);
+1 -1
fs/btrfs/inode.c
··· 885 885 /* If this is a small write inside eof, kick off a defrag */ 886 886 if (num_bytes < small_write && 887 887 (start > 0 || end + 1 < inode->disk_i_size)) 888 - btrfs_add_inode_defrag(NULL, inode, small_write); 888 + btrfs_add_inode_defrag(inode, small_write); 889 889 } 890 890 891 891 static int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end)