aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/delayed-inode.c
diff options
context:
space:
mode:
authorNikolay Borisov <n.borisov.lkml@gmail.com>2017-01-10 13:35:31 -0500
committerDavid Sterba <dsterba@suse.com>2017-02-14 09:50:51 -0500
commit4a0cc7ca6c40b607b8aaa0bf6e97ffd74d64c2d8 (patch)
tree9ed2b2b2960e4b5dc8bed1f3a35ae9de95dcb12f /fs/btrfs/delayed-inode.c
parent823bb20ab47071dc8a98acf272a470ccdcfcf6d1 (diff)
btrfs: Make btrfs_ino take a struct btrfs_inode
Currently btrfs_ino takes a struct inode and this causes a lot of internal btrfs functions which consume this ino to take a VFS inode, rather than btrfs' own struct btrfs_inode. In order to fix this "leak" of VFS structs into the internals of btrfs first it's necessary to eliminate all uses of struct inode for the purpose of inode. This patch does that by using BTRFS_I to convert an inode to btrfs_inode. With this problem eliminated subsequent patches will start eliminating the passing of struct inode altogether, eventually resulting in a lot cleaner code. Signed-off-by: Nikolay Borisov <n.borisov.lkml@gmail.com> [ fix btrfs_get_extent tracepoint prototype ] Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/delayed-inode.c')
-rw-r--r--fs/btrfs/delayed-inode.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 353e40fceba8..40be12891344 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -76,7 +76,7 @@ static struct btrfs_delayed_node *btrfs_get_delayed_node(struct inode *inode)
76{ 76{
77 struct btrfs_inode *btrfs_inode = BTRFS_I(inode); 77 struct btrfs_inode *btrfs_inode = BTRFS_I(inode);
78 struct btrfs_root *root = btrfs_inode->root; 78 struct btrfs_root *root = btrfs_inode->root;
79 u64 ino = btrfs_ino(inode); 79 u64 ino = btrfs_ino(btrfs_inode);
80 struct btrfs_delayed_node *node; 80 struct btrfs_delayed_node *node;
81 81
82 node = READ_ONCE(btrfs_inode->delayed_node); 82 node = READ_ONCE(btrfs_inode->delayed_node);
@@ -112,7 +112,7 @@ static struct btrfs_delayed_node *btrfs_get_or_create_delayed_node(
112 struct btrfs_delayed_node *node; 112 struct btrfs_delayed_node *node;
113 struct btrfs_inode *btrfs_inode = BTRFS_I(inode); 113 struct btrfs_inode *btrfs_inode = BTRFS_I(inode);
114 struct btrfs_root *root = btrfs_inode->root; 114 struct btrfs_root *root = btrfs_inode->root;
115 u64 ino = btrfs_ino(inode); 115 u64 ino = btrfs_ino(btrfs_inode);
116 int ret; 116 int ret;
117 117
118again: 118again:
@@ -637,7 +637,7 @@ static int btrfs_delayed_inode_reserve_metadata(
637 node->bytes_reserved = num_bytes; 637 node->bytes_reserved = num_bytes;
638 trace_btrfs_space_reservation(fs_info, 638 trace_btrfs_space_reservation(fs_info,
639 "delayed_inode", 639 "delayed_inode",
640 btrfs_ino(inode), 640 btrfs_ino(BTRFS_I(inode)),
641 num_bytes, 1); 641 num_bytes, 1);
642 } 642 }
643 return ret; 643 return ret;
@@ -660,13 +660,13 @@ static int btrfs_delayed_inode_reserve_metadata(
660 */ 660 */
661 if (!ret) { 661 if (!ret) {
662 trace_btrfs_space_reservation(fs_info, "delayed_inode", 662 trace_btrfs_space_reservation(fs_info, "delayed_inode",
663 btrfs_ino(inode), num_bytes, 1); 663 btrfs_ino(BTRFS_I(inode)), num_bytes, 1);
664 node->bytes_reserved = num_bytes; 664 node->bytes_reserved = num_bytes;
665 } 665 }
666 666
667 if (release) { 667 if (release) {
668 trace_btrfs_space_reservation(fs_info, "delalloc", 668 trace_btrfs_space_reservation(fs_info, "delalloc",
669 btrfs_ino(inode), num_bytes, 0); 669 btrfs_ino(BTRFS_I(inode)), num_bytes, 0);
670 btrfs_block_rsv_release(fs_info, src_rsv, num_bytes); 670 btrfs_block_rsv_release(fs_info, src_rsv, num_bytes);
671 } 671 }
672 672
@@ -1453,7 +1453,7 @@ int btrfs_insert_delayed_dir_index(struct btrfs_trans_handle *trans,
1453 goto release_node; 1453 goto release_node;
1454 } 1454 }
1455 1455
1456 delayed_item->key.objectid = btrfs_ino(dir); 1456 delayed_item->key.objectid = btrfs_ino(BTRFS_I(dir));
1457 delayed_item->key.type = BTRFS_DIR_INDEX_KEY; 1457 delayed_item->key.type = BTRFS_DIR_INDEX_KEY;
1458 delayed_item->key.offset = index; 1458 delayed_item->key.offset = index;
1459 1459
@@ -1521,7 +1521,7 @@ int btrfs_delete_delayed_dir_index(struct btrfs_trans_handle *trans,
1521 if (IS_ERR(node)) 1521 if (IS_ERR(node))
1522 return PTR_ERR(node); 1522 return PTR_ERR(node);
1523 1523
1524 item_key.objectid = btrfs_ino(dir); 1524 item_key.objectid = btrfs_ino(BTRFS_I(dir));
1525 item_key.type = BTRFS_DIR_INDEX_KEY; 1525 item_key.type = BTRFS_DIR_INDEX_KEY;
1526 item_key.offset = index; 1526 item_key.offset = index;
1527 1527