Message ID | da8f34d466181ae99ccc229088f6173ce42914ae.1638569556.git.josef@toxicpanda.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Truncate cleanups and preparation work | expand |
On Fri, Dec 03, 2021 at 05:18:03PM -0500, Josef Bacik wrote: > We have a few helpers in inode-item.c, and I'm going to make a few > changes to how we do truncate in the future, so break out these > definitions into their own header file to trim down ctree.h some and > make it easier to do the work on truncate in the future. > > Signed-off-by: Josef Bacik <josef@toxicpanda.com> > --- > fs/btrfs/ctree.h | 30 ------------------------------ > fs/btrfs/delayed-inode.c | 1 + > fs/btrfs/free-space-cache.c | 1 + > fs/btrfs/inode-item.c | 1 + > fs/btrfs/inode-item.h | 37 +++++++++++++++++++++++++++++++++++++ > fs/btrfs/inode.c | 1 + > fs/btrfs/relocation.c | 1 + > fs/btrfs/tree-log.c | 1 + > 8 files changed, 43 insertions(+), 30 deletions(-) > create mode 100644 fs/btrfs/inode-item.h > > diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h > index dfee4b403da1..f33cae82e7dd 100644 > --- a/fs/btrfs/ctree.h > +++ b/fs/btrfs/ctree.h > @@ -3126,36 +3126,6 @@ int btrfs_del_orphan_item(struct btrfs_trans_handle *trans, > struct btrfs_root *root, u64 offset); > int btrfs_find_orphan_item(struct btrfs_root *root, u64 offset); > > -/* inode-item.c */ > -int btrfs_insert_inode_ref(struct btrfs_trans_handle *trans, > - struct btrfs_root *root, > - const char *name, int name_len, > - u64 inode_objectid, u64 ref_objectid, u64 index); > -int btrfs_del_inode_ref(struct btrfs_trans_handle *trans, > - struct btrfs_root *root, > - const char *name, int name_len, > - u64 inode_objectid, u64 ref_objectid, u64 *index); > -int btrfs_insert_empty_inode(struct btrfs_trans_handle *trans, > - struct btrfs_root *root, > - struct btrfs_path *path, u64 objectid); > -int btrfs_lookup_inode(struct btrfs_trans_handle *trans, struct btrfs_root > - *root, struct btrfs_path *path, > - struct btrfs_key *location, int mod); > - > -struct btrfs_inode_extref * > -btrfs_lookup_inode_extref(struct btrfs_trans_handle *trans, > - struct btrfs_root *root, > - struct btrfs_path *path, > - const char *name, int name_len, > - u64 inode_objectid, u64 ref_objectid, int ins_len, > - int cow); > - > -struct btrfs_inode_ref *btrfs_find_name_in_backref(struct extent_buffer *leaf, > - int slot, const char *name, > - int name_len); > -struct btrfs_inode_extref *btrfs_find_name_in_ext_backref( > - struct extent_buffer *leaf, int slot, u64 ref_objectid, > - const char *name, int name_len); > /* file-item.c */ > struct btrfs_dio_private; > int btrfs_del_csums(struct btrfs_trans_handle *trans, > diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c > index 6f134f2c5e68..748bf6b0d860 100644 > --- a/fs/btrfs/delayed-inode.c > +++ b/fs/btrfs/delayed-inode.c > @@ -13,6 +13,7 @@ > #include "ctree.h" > #include "qgroup.h" > #include "locking.h" > +#include "inode-item.h" > > #define BTRFS_DELAYED_WRITEBACK 512 > #define BTRFS_DELAYED_BACKGROUND 128 > diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c > index 132209ff2262..55e1be703a39 100644 > --- a/fs/btrfs/free-space-cache.c > +++ b/fs/btrfs/free-space-cache.c > @@ -23,6 +23,7 @@ > #include "block-group.h" > #include "discard.h" > #include "subpage.h" > +#include "inode-item.h" > > #define BITS_PER_BITMAP (PAGE_SIZE * 8UL) > #define MAX_CACHE_BYTES_PER_GIG SZ_64K > diff --git a/fs/btrfs/inode-item.c b/fs/btrfs/inode-item.c > index 56755ce9a907..72593a93c43c 100644 > --- a/fs/btrfs/inode-item.c > +++ b/fs/btrfs/inode-item.c > @@ -4,6 +4,7 @@ > */ > > #include "ctree.h" > +#include "inode-item.h" > #include "disk-io.h" > #include "transaction.h" > #include "print-tree.h" > diff --git a/fs/btrfs/inode-item.h b/fs/btrfs/inode-item.h > new file mode 100644 > index 000000000000..cb4b140e3b7d > --- /dev/null > +++ b/fs/btrfs/inode-item.h > @@ -0,0 +1,37 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > + > +#ifndef BTRFS_INODE_ITEM_H > +#define BTRFS_INODE_ITEM_H > + Please don't forget to add forward declarations for all structure types and include all other necessary headers for eg. u64 when adding a new header. I'll add it now.
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index dfee4b403da1..f33cae82e7dd 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3126,36 +3126,6 @@ int btrfs_del_orphan_item(struct btrfs_trans_handle *trans, struct btrfs_root *root, u64 offset); int btrfs_find_orphan_item(struct btrfs_root *root, u64 offset); -/* inode-item.c */ -int btrfs_insert_inode_ref(struct btrfs_trans_handle *trans, - struct btrfs_root *root, - const char *name, int name_len, - u64 inode_objectid, u64 ref_objectid, u64 index); -int btrfs_del_inode_ref(struct btrfs_trans_handle *trans, - struct btrfs_root *root, - const char *name, int name_len, - u64 inode_objectid, u64 ref_objectid, u64 *index); -int btrfs_insert_empty_inode(struct btrfs_trans_handle *trans, - struct btrfs_root *root, - struct btrfs_path *path, u64 objectid); -int btrfs_lookup_inode(struct btrfs_trans_handle *trans, struct btrfs_root - *root, struct btrfs_path *path, - struct btrfs_key *location, int mod); - -struct btrfs_inode_extref * -btrfs_lookup_inode_extref(struct btrfs_trans_handle *trans, - struct btrfs_root *root, - struct btrfs_path *path, - const char *name, int name_len, - u64 inode_objectid, u64 ref_objectid, int ins_len, - int cow); - -struct btrfs_inode_ref *btrfs_find_name_in_backref(struct extent_buffer *leaf, - int slot, const char *name, - int name_len); -struct btrfs_inode_extref *btrfs_find_name_in_ext_backref( - struct extent_buffer *leaf, int slot, u64 ref_objectid, - const char *name, int name_len); /* file-item.c */ struct btrfs_dio_private; int btrfs_del_csums(struct btrfs_trans_handle *trans, diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index 6f134f2c5e68..748bf6b0d860 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c @@ -13,6 +13,7 @@ #include "ctree.h" #include "qgroup.h" #include "locking.h" +#include "inode-item.h" #define BTRFS_DELAYED_WRITEBACK 512 #define BTRFS_DELAYED_BACKGROUND 128 diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index 132209ff2262..55e1be703a39 100644 --- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c @@ -23,6 +23,7 @@ #include "block-group.h" #include "discard.h" #include "subpage.h" +#include "inode-item.h" #define BITS_PER_BITMAP (PAGE_SIZE * 8UL) #define MAX_CACHE_BYTES_PER_GIG SZ_64K diff --git a/fs/btrfs/inode-item.c b/fs/btrfs/inode-item.c index 56755ce9a907..72593a93c43c 100644 --- a/fs/btrfs/inode-item.c +++ b/fs/btrfs/inode-item.c @@ -4,6 +4,7 @@ */ #include "ctree.h" +#include "inode-item.h" #include "disk-io.h" #include "transaction.h" #include "print-tree.h" diff --git a/fs/btrfs/inode-item.h b/fs/btrfs/inode-item.h new file mode 100644 index 000000000000..cb4b140e3b7d --- /dev/null +++ b/fs/btrfs/inode-item.h @@ -0,0 +1,37 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef BTRFS_INODE_ITEM_H +#define BTRFS_INODE_ITEM_H + + +int btrfs_insert_inode_ref(struct btrfs_trans_handle *trans, + struct btrfs_root *root, + const char *name, int name_len, + u64 inode_objectid, u64 ref_objectid, u64 index); +int btrfs_del_inode_ref(struct btrfs_trans_handle *trans, + struct btrfs_root *root, + const char *name, int name_len, + u64 inode_objectid, u64 ref_objectid, u64 *index); +int btrfs_insert_empty_inode(struct btrfs_trans_handle *trans, + struct btrfs_root *root, + struct btrfs_path *path, u64 objectid); +int btrfs_lookup_inode(struct btrfs_trans_handle *trans, struct btrfs_root + *root, struct btrfs_path *path, + struct btrfs_key *location, int mod); + +struct btrfs_inode_extref * +btrfs_lookup_inode_extref(struct btrfs_trans_handle *trans, + struct btrfs_root *root, + struct btrfs_path *path, + const char *name, int name_len, + u64 inode_objectid, u64 ref_objectid, int ins_len, + int cow); + +struct btrfs_inode_ref *btrfs_find_name_in_backref(struct extent_buffer *leaf, + int slot, const char *name, + int name_len); +struct btrfs_inode_extref *btrfs_find_name_in_ext_backref( + struct extent_buffer *leaf, int slot, u64 ref_objectid, + const char *name, int name_len); + +#endif /* BTRFS_INODE_ITEM_H */ diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 504cf090fc88..6ccdcf76b02f 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -54,6 +54,7 @@ #include "space-info.h" #include "zoned.h" #include "subpage.h" +#include "inode-item.h" struct btrfs_iget_args { u64 ino; diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 775aff5a2c26..f5465197996d 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -26,6 +26,7 @@ #include "misc.h" #include "subpage.h" #include "zoned.h" +#include "inode-item.h" /* * Relocation overview diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index de79e15a7c6a..c7a7f78708d5 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -20,6 +20,7 @@ #include "block-group.h" #include "space-info.h" #include "zoned.h" +#include "inode-item.h" /* magic values for the inode_only field in btrfs_log_inode: *
We have a few helpers in inode-item.c, and I'm going to make a few changes to how we do truncate in the future, so break out these definitions into their own header file to trim down ctree.h some and make it easier to do the work on truncate in the future. Signed-off-by: Josef Bacik <josef@toxicpanda.com> --- fs/btrfs/ctree.h | 30 ------------------------------ fs/btrfs/delayed-inode.c | 1 + fs/btrfs/free-space-cache.c | 1 + fs/btrfs/inode-item.c | 1 + fs/btrfs/inode-item.h | 37 +++++++++++++++++++++++++++++++++++++ fs/btrfs/inode.c | 1 + fs/btrfs/relocation.c | 1 + fs/btrfs/tree-log.c | 1 + 8 files changed, 43 insertions(+), 30 deletions(-) create mode 100644 fs/btrfs/inode-item.h