|
@@ -83,7 +83,7 @@ static int __compare_inode_defrag(struct inode_defrag *defrag1,
|
|
|
static int __btrfs_add_inode_defrag(struct btrfs_inode *inode,
|
|
|
struct inode_defrag *defrag)
|
|
|
{
|
|
|
- struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
|
|
|
+ struct btrfs_fs_info *fs_info = inode->root->fs_info;
|
|
|
struct inode_defrag *entry;
|
|
|
struct rb_node **p;
|
|
|
struct rb_node *parent = NULL;
|
|
@@ -135,8 +135,8 @@ static inline int __need_auto_defrag(struct btrfs_fs_info *fs_info)
|
|
|
int btrfs_add_inode_defrag(struct btrfs_trans_handle *trans,
|
|
|
struct btrfs_inode *inode)
|
|
|
{
|
|
|
- struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
|
|
|
struct btrfs_root *root = inode->root;
|
|
|
+ struct btrfs_fs_info *fs_info = root->fs_info;
|
|
|
struct inode_defrag *defrag;
|
|
|
u64 transid;
|
|
|
int ret;
|
|
@@ -185,7 +185,7 @@ int btrfs_add_inode_defrag(struct btrfs_trans_handle *trans,
|
|
|
static void btrfs_requeue_inode_defrag(struct btrfs_inode *inode,
|
|
|
struct inode_defrag *defrag)
|
|
|
{
|
|
|
- struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
|
|
|
+ struct btrfs_fs_info *fs_info = inode->root->fs_info;
|
|
|
int ret;
|
|
|
|
|
|
if (!__need_auto_defrag(fs_info))
|
|
@@ -1132,7 +1132,7 @@ static int extent_mergeable(struct extent_buffer *leaf, int slot,
|
|
|
int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
|
|
|
struct btrfs_inode *inode, u64 start, u64 end)
|
|
|
{
|
|
|
- struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
|
|
|
+ struct btrfs_fs_info *fs_info = trans->fs_info;
|
|
|
struct btrfs_root *root = inode->root;
|
|
|
struct extent_buffer *leaf;
|
|
|
struct btrfs_path *path;
|
|
@@ -1469,7 +1469,7 @@ lock_and_cleanup_extent_if_need(struct btrfs_inode *inode, struct page **pages,
|
|
|
u64 *lockstart, u64 *lockend,
|
|
|
struct extent_state **cached_state)
|
|
|
{
|
|
|
- struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
|
|
|
+ struct btrfs_fs_info *fs_info = inode->root->fs_info;
|
|
|
u64 start_pos;
|
|
|
u64 last_pos;
|
|
|
int i;
|
|
@@ -1525,7 +1525,7 @@ lock_and_cleanup_extent_if_need(struct btrfs_inode *inode, struct page **pages,
|
|
|
static noinline int check_can_nocow(struct btrfs_inode *inode, loff_t pos,
|
|
|
size_t *write_bytes)
|
|
|
{
|
|
|
- struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
|
|
|
+ struct btrfs_fs_info *fs_info = inode->root->fs_info;
|
|
|
struct btrfs_root *root = inode->root;
|
|
|
struct btrfs_ordered_extent *ordered;
|
|
|
u64 lockstart, lockend;
|
|
@@ -2227,7 +2227,7 @@ static int fill_holes(struct btrfs_trans_handle *trans,
|
|
|
struct btrfs_inode *inode,
|
|
|
struct btrfs_path *path, u64 offset, u64 end)
|
|
|
{
|
|
|
- struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
|
|
|
+ struct btrfs_fs_info *fs_info = trans->fs_info;
|
|
|
struct btrfs_root *root = inode->root;
|
|
|
struct extent_buffer *leaf;
|
|
|
struct btrfs_file_extent_item *fi;
|