linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11] btrfs: ctree.[ch] cleanups
@ 2023-08-23 13:51 Josef Bacik
  2023-08-23 13:51 ` [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c Josef Bacik
                   ` (10 more replies)
  0 siblings, 11 replies; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

Hello,

While refreshing my ctree sync patches for btrfs-progs I ran into some oddness
around our crc32c related helpers that made the sync awkward.  This moves those
helpers around to other locations to make it easier to sync ctree.c into
btrfs-progs.

I also got a little distracted by the massive amount of includes we have in
ctree.h, so I moved code around to trim this down to the bare minimum we need
currently.

There's no functional change here, just moving things about and renaming things.
Thanks,

Josef

Josef Bacik (11):
  btrfs: move btrfs_crc32c_final into free-space-cache.c
  btrfs: remove btrfs_crc32c wrapper
  btrfs: move btrfs_extref_hash into inode-item.h
  btrfs: move btrfs_name_hash to dir-item.h
  btrfs: include asm/unaligned.h in accessors.h
  btrfs: include linux/crc32c in dir-item and inode-item
  btrfs: include linux/iomap.h in file.c
  btrfs: add fscrypt related dependencies to respective headers
  btrfs: add btrfs_delayed_ref_head declaration to extent-tree.h
  btrfs: include trace header in where necessary
  btrfs: remove extraneous includes from ctree.h

 fs/btrfs/accessors.h        |  1 +
 fs/btrfs/async-thread.c     |  1 +
 fs/btrfs/btrfs_inode.h      |  2 ++
 fs/btrfs/ctree.h            | 52 -------------------------------------
 fs/btrfs/dir-item.h         |  9 +++++++
 fs/btrfs/extent-tree.c      |  6 ++---
 fs/btrfs/extent-tree.h      |  1 +
 fs/btrfs/file.c             |  1 +
 fs/btrfs/free-space-cache.c |  9 +++++--
 fs/btrfs/inode-item.h       | 11 ++++++++
 fs/btrfs/locking.c          |  1 +
 fs/btrfs/props.c            |  1 +
 fs/btrfs/root-tree.h        |  2 ++
 fs/btrfs/send.c             |  6 ++---
 fs/btrfs/space-info.h       |  1 +
 fs/btrfs/tree-checker.c     |  1 +
 16 files changed, 45 insertions(+), 60 deletions(-)

-- 
2.41.0


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-23 14:25   ` Anand Jain
  2023-08-28 10:56   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 02/11] btrfs: remove btrfs_crc32c wrapper Josef Bacik
                   ` (9 subsequent siblings)
  10 siblings, 2 replies; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

This is the only place this helper is used, take it out of ctree.h and
move it into free-space-cache.c.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/ctree.h            | 5 -----
 fs/btrfs/free-space-cache.c | 5 +++++
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 9419f4e37a58..c80d9879d931 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -475,11 +475,6 @@ static inline u32 btrfs_crc32c(u32 crc, const void *address, unsigned length)
 	return crc32c(crc, address, length);
 }
 
-static inline void btrfs_crc32c_final(u32 crc, u8 *result)
-{
-	put_unaligned_le32(~crc, result);
-}
-
 static inline u64 btrfs_name_hash(const char *name, int len)
 {
        return crc32c((u32)~1, name, len);
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 27fad70451aa..759b92db35d7 100644
--- a/fs/btrfs/free-space-cache.c
+++ b/fs/btrfs/free-space-cache.c
@@ -57,6 +57,11 @@ static void bitmap_clear_bits(struct btrfs_free_space_ctl *ctl,
 			      struct btrfs_free_space *info, u64 offset,
 			      u64 bytes, bool update_stats);
 
+static inline void btrfs_crc32c_final(u32 crc, u8 *result)
+{
+	put_unaligned_le32(~crc, result);
+}
+
 static void __btrfs_remove_free_space_cache(struct btrfs_free_space_ctl *ctl)
 {
 	struct btrfs_free_space *info;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 02/11] btrfs: remove btrfs_crc32c wrapper
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
  2023-08-23 13:51 ` [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-23 14:26   ` Anand Jain
  2023-08-28 10:58   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 03/11] btrfs: move btrfs_extref_hash into inode-item.h Josef Bacik
                   ` (8 subsequent siblings)
  10 siblings, 2 replies; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

This simply sends the same arguments into crc32c(), and is just used in
a few places.  Remove this wrapper and directly call crc32c() in these
instances.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/ctree.h            | 5 -----
 fs/btrfs/extent-tree.c      | 6 +++---
 fs/btrfs/free-space-cache.c | 4 ++--
 fs/btrfs/send.c             | 6 +++---
 4 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index c80d9879d931..bffee2ab5783 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -470,11 +470,6 @@ static inline u32 BTRFS_MAX_XATTR_SIZE(const struct btrfs_fs_info *info)
 #define BTRFS_BYTES_TO_BLKS(fs_info, bytes) \
 				((bytes) >> (fs_info)->sectorsize_bits)
 
-static inline u32 btrfs_crc32c(u32 crc, const void *address, unsigned length)
-{
-	return crc32c(crc, address, length);
-}
-
 static inline u64 btrfs_name_hash(const char *name, int len)
 {
        return crc32c((u32)~1, name, len);
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index f356f08b55cb..e4d337b78e76 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -399,11 +399,11 @@ u64 hash_extent_data_ref(u64 root_objectid, u64 owner, u64 offset)
 	__le64 lenum;
 
 	lenum = cpu_to_le64(root_objectid);
-	high_crc = btrfs_crc32c(high_crc, &lenum, sizeof(lenum));
+	high_crc = crc32c(high_crc, &lenum, sizeof(lenum));
 	lenum = cpu_to_le64(owner);
-	low_crc = btrfs_crc32c(low_crc, &lenum, sizeof(lenum));
+	low_crc = crc32c(low_crc, &lenum, sizeof(lenum));
 	lenum = cpu_to_le64(offset);
-	low_crc = btrfs_crc32c(low_crc, &lenum, sizeof(lenum));
+	low_crc = crc32c(low_crc, &lenum, sizeof(lenum));
 
 	return ((u64)high_crc << 31) ^ (u64)low_crc;
 }
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 759b92db35d7..dfeed8256c02 100644
--- a/fs/btrfs/free-space-cache.c
+++ b/fs/btrfs/free-space-cache.c
@@ -545,7 +545,7 @@ static void io_ctl_set_crc(struct btrfs_io_ctl *io_ctl, int index)
 	if (index == 0)
 		offset = sizeof(u32) * io_ctl->num_pages;
 
-	crc = btrfs_crc32c(crc, io_ctl->orig + offset, PAGE_SIZE - offset);
+	crc = crc32c(crc, io_ctl->orig + offset, PAGE_SIZE - offset);
 	btrfs_crc32c_final(crc, (u8 *)&crc);
 	io_ctl_unmap_page(io_ctl);
 	tmp = page_address(io_ctl->pages[0]);
@@ -567,7 +567,7 @@ static int io_ctl_check_crc(struct btrfs_io_ctl *io_ctl, int index)
 	val = *tmp;
 
 	io_ctl_map_page(io_ctl, 0);
-	crc = btrfs_crc32c(crc, io_ctl->orig + offset, PAGE_SIZE - offset);
+	crc = crc32c(crc, io_ctl->orig + offset, PAGE_SIZE - offset);
 	btrfs_crc32c_final(crc, (u8 *)&crc);
 	if (val != crc) {
 		btrfs_err_rl(io_ctl->fs_info,
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
index 3a566150c531..3b929f0e8f04 100644
--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -796,7 +796,7 @@ static int send_cmd(struct send_ctx *sctx)
 	put_unaligned_le32(sctx->send_size - sizeof(*hdr), &hdr->len);
 	put_unaligned_le32(0, &hdr->crc);
 
-	crc = btrfs_crc32c(0, (unsigned char *)sctx->send_buf, sctx->send_size);
+	crc = crc32c(0, (unsigned char *)sctx->send_buf, sctx->send_size);
 	put_unaligned_le32(crc, &hdr->crc);
 
 	ret = write_buf(sctx->send_filp, sctx->send_buf, sctx->send_size,
@@ -5669,8 +5669,8 @@ static int send_encoded_extent(struct send_ctx *sctx, struct btrfs_path *path,
 	hdr = (struct btrfs_cmd_header *)sctx->send_buf;
 	hdr->len = cpu_to_le32(sctx->send_size + disk_num_bytes - sizeof(*hdr));
 	hdr->crc = 0;
-	crc = btrfs_crc32c(0, sctx->send_buf, sctx->send_size);
-	crc = btrfs_crc32c(crc, sctx->send_buf + data_offset, disk_num_bytes);
+	crc = crc32c(0, sctx->send_buf, sctx->send_size);
+	crc = crc32c(crc, sctx->send_buf + data_offset, disk_num_bytes);
 	hdr->crc = cpu_to_le32(crc);
 
 	ret = write_buf(sctx->send_filp, sctx->send_buf, sctx->send_size,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 03/11] btrfs: move btrfs_extref_hash into inode-item.h
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
  2023-08-23 13:51 ` [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c Josef Bacik
  2023-08-23 13:51 ` [PATCH 02/11] btrfs: remove btrfs_crc32c wrapper Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-23 14:29   ` Anand Jain
  2023-08-28 10:59   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 04/11] btrfs: move btrfs_name_hash to dir-item.h Josef Bacik
                   ` (7 subsequent siblings)
  10 siblings, 2 replies; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

Ideally this would be un-inlined, but that is a cleanup for later.  For
now move this into inode-item.h, which is where the extref code lives.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/ctree.h      | 9 ---------
 fs/btrfs/inode-item.h | 9 +++++++++
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index bffee2ab5783..7b8e52fd6d99 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -475,15 +475,6 @@ static inline u64 btrfs_name_hash(const char *name, int len)
        return crc32c((u32)~1, name, len);
 }
 
-/*
- * Figure the key offset of an extended inode ref
- */
-static inline u64 btrfs_extref_hash(u64 parent_objectid, const char *name,
-                                   int len)
-{
-       return (u64) crc32c(parent_objectid, name, len);
-}
-
 static inline gfp_t btrfs_alloc_write_mask(struct address_space *mapping)
 {
 	return mapping_gfp_constraint(mapping, ~__GFP_FS);
diff --git a/fs/btrfs/inode-item.h b/fs/btrfs/inode-item.h
index ede43b6c6559..2ee425a08e63 100644
--- a/fs/btrfs/inode-item.h
+++ b/fs/btrfs/inode-item.h
@@ -107,4 +107,13 @@ struct btrfs_inode_extref *btrfs_find_name_in_ext_backref(
 		struct extent_buffer *leaf, int slot, u64 ref_objectid,
 		const struct fscrypt_str *name);
 
+/*
+ * Figure the key offset of an extended inode ref
+ */
+static inline u64 btrfs_extref_hash(u64 parent_objectid, const char *name,
+                                   int len)
+{
+       return (u64) crc32c(parent_objectid, name, len);
+}
+
 #endif
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 04/11] btrfs: move btrfs_name_hash to dir-item.h
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
                   ` (2 preceding siblings ...)
  2023-08-23 13:51 ` [PATCH 03/11] btrfs: move btrfs_extref_hash into inode-item.h Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-23 14:34   ` Anand Jain
  2023-08-28 11:00   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 05/11] btrfs: include asm/unaligned.h in accessors.h Josef Bacik
                   ` (6 subsequent siblings)
  10 siblings, 2 replies; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

This is related to the name hashing for dir items, move it into
dir-item.h.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/ctree.h        | 5 -----
 fs/btrfs/dir-item.h     | 5 +++++
 fs/btrfs/props.c        | 1 +
 fs/btrfs/tree-checker.c | 1 +
 4 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 7b8e52fd6d99..9c2e96b8711f 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -470,11 +470,6 @@ static inline u32 BTRFS_MAX_XATTR_SIZE(const struct btrfs_fs_info *info)
 #define BTRFS_BYTES_TO_BLKS(fs_info, bytes) \
 				((bytes) >> (fs_info)->sectorsize_bits)
 
-static inline u64 btrfs_name_hash(const char *name, int len)
-{
-       return crc32c((u32)~1, name, len);
-}
-
 static inline gfp_t btrfs_alloc_write_mask(struct address_space *mapping)
 {
 	return mapping_gfp_constraint(mapping, ~__GFP_FS);
diff --git a/fs/btrfs/dir-item.h b/fs/btrfs/dir-item.h
index aab4b7cc7fa0..951b4dda46fe 100644
--- a/fs/btrfs/dir-item.h
+++ b/fs/btrfs/dir-item.h
@@ -39,4 +39,9 @@ struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_fs_info *fs_info,
 						 const char *name,
 						 int name_len);
 
+static inline u64 btrfs_name_hash(const char *name, int len)
+{
+       return crc32c((u32)~1, name, len);
+}
+
 #endif
diff --git a/fs/btrfs/props.c b/fs/btrfs/props.c
index 0755af0e53e3..f9bf591a0718 100644
--- a/fs/btrfs/props.c
+++ b/fs/btrfs/props.c
@@ -15,6 +15,7 @@
 #include "fs.h"
 #include "accessors.h"
 #include "super.h"
+#include "dir-item.h"
 
 #define BTRFS_PROP_HANDLERS_HT_BITS 8
 static DEFINE_HASHTABLE(prop_handlers_ht, BTRFS_PROP_HANDLERS_HT_BITS);
diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
index ab08a0b01311..8ad92aa43924 100644
--- a/fs/btrfs/tree-checker.c
+++ b/fs/btrfs/tree-checker.c
@@ -29,6 +29,7 @@
 #include "accessors.h"
 #include "file-item.h"
 #include "inode-item.h"
+#include "dir-item.h"
 
 /*
  * Error message should follow the following format:
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 05/11] btrfs: include asm/unaligned.h in accessors.h
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
                   ` (3 preceding siblings ...)
  2023-08-23 13:51 ` [PATCH 04/11] btrfs: move btrfs_name_hash to dir-item.h Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-28 11:04   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 06/11] btrfs: include linux/crc32c in dir-item and inode-item Josef Bacik
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

We use the unaligned helpers directly in accessors.h, add the include
here.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/accessors.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/btrfs/accessors.h b/fs/btrfs/accessors.h
index 8cfc8214109c..f958eccff477 100644
--- a/fs/btrfs/accessors.h
+++ b/fs/btrfs/accessors.h
@@ -4,6 +4,7 @@
 #define BTRFS_ACCESSORS_H
 
 #include <linux/stddef.h>
+#include <asm/unaligned.h>
 
 struct btrfs_map_token {
 	struct extent_buffer *eb;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 06/11] btrfs: include linux/crc32c in dir-item and inode-item
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
                   ` (4 preceding siblings ...)
  2023-08-23 13:51 ` [PATCH 05/11] btrfs: include asm/unaligned.h in accessors.h Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-23 14:43   ` Anand Jain
  2023-08-23 13:51 ` [PATCH 07/11] btrfs: include linux/iomap.h in file.c Josef Bacik
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

Now these are holding the crc32c wrappers, add the required include so
that we have our necessary dependencies.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/dir-item.h   | 2 ++
 fs/btrfs/inode-item.h | 1 +
 2 files changed, 3 insertions(+)

diff --git a/fs/btrfs/dir-item.h b/fs/btrfs/dir-item.h
index 951b4dda46fe..5db2ea0dfd76 100644
--- a/fs/btrfs/dir-item.h
+++ b/fs/btrfs/dir-item.h
@@ -3,6 +3,8 @@
 #ifndef BTRFS_DIR_ITEM_H
 #define BTRFS_DIR_ITEM_H
 
+#include <linux/crc32c.h>
+
 int btrfs_check_dir_item_collision(struct btrfs_root *root, u64 dir,
 			  const struct fscrypt_str *name);
 int btrfs_insert_dir_item(struct btrfs_trans_handle *trans,
diff --git a/fs/btrfs/inode-item.h b/fs/btrfs/inode-item.h
index 2ee425a08e63..63dfd227e7ce 100644
--- a/fs/btrfs/inode-item.h
+++ b/fs/btrfs/inode-item.h
@@ -4,6 +4,7 @@
 #define BTRFS_INODE_ITEM_H
 
 #include <linux/types.h>
+#include <linux/crc32c.h>
 
 struct btrfs_trans_handle;
 struct btrfs_root;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 07/11] btrfs: include linux/iomap.h in file.c
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
                   ` (5 preceding siblings ...)
  2023-08-23 13:51 ` [PATCH 06/11] btrfs: include linux/crc32c in dir-item and inode-item Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-28 11:05   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 08/11] btrfs: add fscrypt related dependencies to respective headers Josef Bacik
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

We use the iomap code in file.c, include it so we have our dependencies.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/file.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 6edad7b9a5d3..ee9621e622d0 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -17,6 +17,7 @@
 #include <linux/uio.h>
 #include <linux/iversion.h>
 #include <linux/fsverity.h>
+#include <linux/iomap.h>
 #include "ctree.h"
 #include "disk-io.h"
 #include "transaction.h"
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 08/11] btrfs: add fscrypt related dependencies to respective headers
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
                   ` (6 preceding siblings ...)
  2023-08-23 13:51 ` [PATCH 07/11] btrfs: include linux/iomap.h in file.c Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-28 11:06   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 09/11] btrfs: add btrfs_delayed_ref_head declaration to extent-tree.h Josef Bacik
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

These headers have struct fscrypt_str as function arguments, so add
struct fscrypt_str to the theader, and include linux/fscrypt.h in
btrfs_inode.h as it also needs the definition of struct fscrypt_name for
the new inode args.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/btrfs_inode.h | 1 +
 fs/btrfs/dir-item.h    | 2 ++
 fs/btrfs/inode-item.h  | 1 +
 fs/btrfs/root-tree.h   | 2 ++
 4 files changed, 6 insertions(+)

diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
index bda1fdbba666..bca97a6bb246 100644
--- a/fs/btrfs/btrfs_inode.h
+++ b/fs/btrfs/btrfs_inode.h
@@ -8,6 +8,7 @@
 
 #include <linux/hash.h>
 #include <linux/refcount.h>
+#include <linux/fscrypt.h>
 #include "extent_map.h"
 #include "extent_io.h"
 #include "ordered-data.h"
diff --git a/fs/btrfs/dir-item.h b/fs/btrfs/dir-item.h
index 5db2ea0dfd76..e40a226373d7 100644
--- a/fs/btrfs/dir-item.h
+++ b/fs/btrfs/dir-item.h
@@ -5,6 +5,8 @@
 
 #include <linux/crc32c.h>
 
+struct fscrypt_str;
+
 int btrfs_check_dir_item_collision(struct btrfs_root *root, u64 dir,
 			  const struct fscrypt_str *name);
 int btrfs_insert_dir_item(struct btrfs_trans_handle *trans,
diff --git a/fs/btrfs/inode-item.h b/fs/btrfs/inode-item.h
index 63dfd227e7ce..a4a142f1b5e3 100644
--- a/fs/btrfs/inode-item.h
+++ b/fs/btrfs/inode-item.h
@@ -13,6 +13,7 @@ struct btrfs_key;
 struct btrfs_inode_extref;
 struct btrfs_inode;
 struct extent_buffer;
+struct fscrypt_str;
 
 /*
  * Return this if we need to call truncate_block for the last bit of the
diff --git a/fs/btrfs/root-tree.h b/fs/btrfs/root-tree.h
index cbbaca32126e..eb15768b9170 100644
--- a/fs/btrfs/root-tree.h
+++ b/fs/btrfs/root-tree.h
@@ -3,6 +3,8 @@
 #ifndef BTRFS_ROOT_TREE_H
 #define BTRFS_ROOT_TREE_H
 
+struct fscrypt_str;
+
 int btrfs_subvolume_reserve_metadata(struct btrfs_root *root,
 				     struct btrfs_block_rsv *rsv,
 				     int nitems, bool use_global_rsv);
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 09/11] btrfs: add btrfs_delayed_ref_head declaration to extent-tree.h
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
                   ` (7 preceding siblings ...)
  2023-08-23 13:51 ` [PATCH 08/11] btrfs: add fscrypt related dependencies to respective headers Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-28 11:06   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 10/11] btrfs: include trace header in where necessary Josef Bacik
  2023-08-23 13:51 ` [PATCH 11/11] btrfs: remove extraneous includes from ctree.h Josef Bacik
  10 siblings, 1 reply; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

extent-tree.h uses btrfs_delayed_ref_head in a function argument but
doesn't pull it's declaration from anywhere, add it to the top of the
header.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/extent-tree.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/btrfs/extent-tree.h b/fs/btrfs/extent-tree.h
index 88c249c37516..ab2016db17e8 100644
--- a/fs/btrfs/extent-tree.h
+++ b/fs/btrfs/extent-tree.h
@@ -7,6 +7,7 @@
 #include "block-group.h"
 
 struct btrfs_free_cluster;
+struct btrfs_delayed_ref_head;
 
 enum btrfs_extent_allocation_policy {
 	BTRFS_EXTENT_ALLOC_CLUSTERED,
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 10/11] btrfs: include trace header in where necessary
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
                   ` (8 preceding siblings ...)
  2023-08-23 13:51 ` [PATCH 09/11] btrfs: add btrfs_delayed_ref_head declaration to extent-tree.h Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-28 11:07   ` Johannes Thumshirn
  2023-08-23 13:51 ` [PATCH 11/11] btrfs: remove extraneous includes from ctree.h Josef Bacik
  10 siblings, 1 reply; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

If we no longer include the tracepoints from ctree.h we fail to compile
because we have the dependency in some of the header files and source
files.  Add the include where we have these dependencies to allow us to
remove the include from ctree.h.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/async-thread.c | 1 +
 fs/btrfs/btrfs_inode.h  | 1 +
 fs/btrfs/locking.c      | 1 +
 fs/btrfs/space-info.h   | 1 +
 4 files changed, 4 insertions(+)

diff --git a/fs/btrfs/async-thread.c b/fs/btrfs/async-thread.c
index ce083e99ef68..714ca74b66bf 100644
--- a/fs/btrfs/async-thread.c
+++ b/fs/btrfs/async-thread.c
@@ -9,6 +9,7 @@
 #include <linux/list.h>
 #include <linux/spinlock.h>
 #include <linux/freezer.h>
+#include <trace/events/btrfs.h>
 #include "async-thread.h"
 #include "ctree.h"
 
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
index bca97a6bb246..b675dc09845d 100644
--- a/fs/btrfs/btrfs_inode.h
+++ b/fs/btrfs/btrfs_inode.h
@@ -9,6 +9,7 @@
 #include <linux/hash.h>
 #include <linux/refcount.h>
 #include <linux/fscrypt.h>
+#include <trace/events/btrfs.h>
 #include "extent_map.h"
 #include "extent_io.h"
 #include "ordered-data.h"
diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c
index 7979449a58d6..79a125c0f4a2 100644
--- a/fs/btrfs/locking.c
+++ b/fs/btrfs/locking.c
@@ -8,6 +8,7 @@
 #include <linux/spinlock.h>
 #include <linux/page-flags.h>
 #include <asm/bug.h>
+#include <trace/events/btrfs.h>
 #include "misc.h"
 #include "ctree.h"
 #include "extent_io.h"
diff --git a/fs/btrfs/space-info.h b/fs/btrfs/space-info.h
index 0bb9d14e60a8..ac0ce83f1477 100644
--- a/fs/btrfs/space-info.h
+++ b/fs/btrfs/space-info.h
@@ -3,6 +3,7 @@
 #ifndef BTRFS_SPACE_INFO_H
 #define BTRFS_SPACE_INFO_H
 
+#include <trace/events/btrfs.h>
 #include "volumes.h"
 
 /*
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 11/11] btrfs: remove extraneous includes from ctree.h
  2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
                   ` (9 preceding siblings ...)
  2023-08-23 13:51 ` [PATCH 10/11] btrfs: include trace header in where necessary Josef Bacik
@ 2023-08-23 13:51 ` Josef Bacik
  2023-08-25 14:21   ` kernel test robot
  10 siblings, 1 reply; 29+ messages in thread
From: Josef Bacik @ 2023-08-23 13:51 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

We don't need any of these includes in the ctree.h header file for the
header file itself, remove them to clean up ctree.h a little bit.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/ctree.h | 28 ----------------------------
 1 file changed, 28 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 9c2e96b8711f..da9e07bf76ea 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -6,36 +6,8 @@
 #ifndef BTRFS_CTREE_H
 #define BTRFS_CTREE_H
 
-#include <linux/mm.h>
-#include <linux/sched/signal.h>
-#include <linux/highmem.h>
-#include <linux/fs.h>
-#include <linux/rwsem.h>
-#include <linux/semaphore.h>
-#include <linux/completion.h>
-#include <linux/backing-dev.h>
-#include <linux/wait.h>
-#include <linux/slab.h>
-#include <trace/events/btrfs.h>
-#include <asm/unaligned.h>
 #include <linux/pagemap.h>
-#include <linux/btrfs.h>
-#include <linux/btrfs_tree.h>
-#include <linux/workqueue.h>
-#include <linux/security.h>
-#include <linux/sizes.h>
-#include <linux/dynamic_debug.h>
-#include <linux/refcount.h>
-#include <linux/crc32c.h>
-#include <linux/iomap.h>
-#include <linux/fscrypt.h>
-#include "extent-io-tree.h"
-#include "extent_io.h"
-#include "extent_map.h"
-#include "async-thread.h"
-#include "block-rsv.h"
 #include "locking.h"
-#include "misc.h"
 #include "fs.h"
 
 struct btrfs_trans_handle;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c
  2023-08-23 13:51 ` [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c Josef Bacik
@ 2023-08-23 14:25   ` Anand Jain
  2023-08-28 10:56   ` Johannes Thumshirn
  1 sibling, 0 replies; 29+ messages in thread
From: Anand Jain @ 2023-08-23 14:25 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs, kernel-team

LGTM

Reviewed-by: Anand Jain <anand.jain@oracle.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 02/11] btrfs: remove btrfs_crc32c wrapper
  2023-08-23 13:51 ` [PATCH 02/11] btrfs: remove btrfs_crc32c wrapper Josef Bacik
@ 2023-08-23 14:26   ` Anand Jain
  2023-08-28 10:58   ` Johannes Thumshirn
  1 sibling, 0 replies; 29+ messages in thread
From: Anand Jain @ 2023-08-23 14:26 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs, kernel-team

LGTM

Reviewed-by: Anand Jain <anand.jain@oracle.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 03/11] btrfs: move btrfs_extref_hash into inode-item.h
  2023-08-23 13:51 ` [PATCH 03/11] btrfs: move btrfs_extref_hash into inode-item.h Josef Bacik
@ 2023-08-23 14:29   ` Anand Jain
  2023-08-28 10:59   ` Johannes Thumshirn
  1 sibling, 0 replies; 29+ messages in thread
From: Anand Jain @ 2023-08-23 14:29 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs, kernel-team

LGTM
Reviewed-by: Anand Jain <anand.jain@oracle.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 04/11] btrfs: move btrfs_name_hash to dir-item.h
  2023-08-23 13:51 ` [PATCH 04/11] btrfs: move btrfs_name_hash to dir-item.h Josef Bacik
@ 2023-08-23 14:34   ` Anand Jain
  2023-08-28 11:00   ` Johannes Thumshirn
  1 sibling, 0 replies; 29+ messages in thread
From: Anand Jain @ 2023-08-23 14:34 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs, kernel-team

LGTM

Reviewed-by: Anand Jain <anand.jain@oracle.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 06/11] btrfs: include linux/crc32c in dir-item and inode-item
  2023-08-23 13:51 ` [PATCH 06/11] btrfs: include linux/crc32c in dir-item and inode-item Josef Bacik
@ 2023-08-23 14:43   ` Anand Jain
  0 siblings, 0 replies; 29+ messages in thread
From: Anand Jain @ 2023-08-23 14:43 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs, kernel-team

On 8/23/23 21:51, Josef Bacik wrote:
> Now these are holding the crc32c wrappers, add the required include so
> that we have our necessary dependencies.
> 
> Signed-off-by: Josef Bacik <josef@toxicpanda.com>
> ---
>   fs/btrfs/dir-item.h   | 2 ++
>   fs/btrfs/inode-item.h | 1 +
>   2 files changed, 3 insertions(+)
> 
> diff --git a/fs/btrfs/dir-item.h b/fs/btrfs/dir-item.h
> index 951b4dda46fe..5db2ea0dfd76 100644
> --- a/fs/btrfs/dir-item.h
> +++ b/fs/btrfs/dir-item.h
> @@ -3,6 +3,8 @@
>   #ifndef BTRFS_DIR_ITEM_H
>   #define BTRFS_DIR_ITEM_H
>   
> +#include <linux/crc32c.h>
> +
>   int btrfs_check_dir_item_collision(struct btrfs_root *root, u64 dir,
>   			  const struct fscrypt_str *name);
>   int btrfs_insert_dir_item(struct btrfs_trans_handle *trans,


This could be merged into Patch 4/11.

> diff --git a/fs/btrfs/inode-item.h b/fs/btrfs/inode-item.h
> index 2ee425a08e63..63dfd227e7ce 100644
> --- a/fs/btrfs/inode-item.h
> +++ b/fs/btrfs/inode-item.h
> @@ -4,6 +4,7 @@
>   #define BTRFS_INODE_ITEM_H
>   
>   #include <linux/types.h>
> +#include <linux/crc32c.h>
>   
>   struct btrfs_trans_handle;
>   struct btrfs_root;


And, this can be merged into Patch 3/11.

Otherwise, changes looks fine.

Reviewed-by: Anand Jain <anand.jain@oracle.com>




^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 11/11] btrfs: remove extraneous includes from ctree.h
  2023-08-23 13:51 ` [PATCH 11/11] btrfs: remove extraneous includes from ctree.h Josef Bacik
@ 2023-08-25 14:21   ` kernel test robot
  2023-08-28 11:08     ` Johannes Thumshirn
  0 siblings, 1 reply; 29+ messages in thread
From: kernel test robot @ 2023-08-25 14:21 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs, kernel-team; +Cc: oe-kbuild-all

Hi Josef,

kernel test robot noticed the following build errors:

[auto build test ERROR on kdave/for-next]
[also build test ERROR on next-20230825]
[cannot apply to linus/master v6.5-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Josef-Bacik/btrfs-move-btrfs_crc32c_final-into-free-space-cache-c/20230823-215354
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
patch link:    https://lore.kernel.org/r/ed1caf5b26573e62547cb3b96031af66c0f082ca.1692798556.git.josef%40toxicpanda.com
patch subject: [PATCH 11/11] btrfs: remove extraneous includes from ctree.h
config: arc-randconfig-001-20230824 (https://download.01.org/0day-ci/archive/20230825/202308252218.ReiikzVx-lkp@intel.com/config)
compiler: arc-elf-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230825/202308252218.ReiikzVx-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308252218.ReiikzVx-lkp@intel.com/

All errors (new ones prefixed by >>):

   fs/btrfs/super.c: In function 'btrfs_mount_root':
>> fs/btrfs/super.c:1453:25: error: implicit declaration of function 'security_sb_eat_lsm_opts' [-Werror=implicit-function-declaration]
    1453 |                 error = security_sb_eat_lsm_opts(data, &new_sec_opts);
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~
>> fs/btrfs/super.c:1528:25: error: implicit declaration of function 'security_sb_set_mnt_opts' [-Werror=implicit-function-declaration]
    1528 |                 error = security_sb_set_mnt_opts(s, new_sec_opts, 0, NULL);
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~
>> fs/btrfs/super.c:1529:9: error: implicit declaration of function 'security_free_mnt_opts' [-Werror=implicit-function-declaration]
    1529 |         security_free_mnt_opts(&new_sec_opts);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/super.c: In function 'btrfs_remount':
>> fs/btrfs/super.c:1704:31: error: implicit declaration of function 'security_sb_remount' [-Werror=implicit-function-declaration]
    1704 |                         ret = security_sb_remount(sb, new_sec_opts);
         |                               ^~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/security_sb_eat_lsm_opts +1453 fs/btrfs/super.c

450ba0ea06b6ed3 Josef Bacik       2010-11-19  1433  
312c89fbca06896 Misono, Tomohiro  2017-12-14  1434  /*
312c89fbca06896 Misono, Tomohiro  2017-12-14  1435   * Find a superblock for the given device / mount point.
312c89fbca06896 Misono, Tomohiro  2017-12-14  1436   *
312c89fbca06896 Misono, Tomohiro  2017-12-14  1437   * Note: This is based on mount_bdev from fs/super.c with a few additions
312c89fbca06896 Misono, Tomohiro  2017-12-14  1438   *       for multiple device setup.  Make sure to keep it in sync.
312c89fbca06896 Misono, Tomohiro  2017-12-14  1439   */
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1440  static struct dentry *btrfs_mount_root(struct file_system_type *fs_type,
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1441  		int flags, const char *device_name, void *data)
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1442  {
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1443  	struct block_device *bdev = NULL;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1444  	struct super_block *s;
36350e95a2b1fee Gu Jinxiang       2018-07-12  1445  	struct btrfs_device *device = NULL;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1446  	struct btrfs_fs_devices *fs_devices = NULL;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1447  	struct btrfs_fs_info *fs_info = NULL;
204cc0ccf1d49c6 Al Viro           2018-12-13  1448  	void *new_sec_opts = NULL;
05bdb9965305bbf Christoph Hellwig 2023-06-08  1449  	blk_mode_t mode = sb_open_mode(flags);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1450  	int error = 0;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1451  
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1452  	if (data) {
a65001e8a4d4656 Al Viro           2018-12-10 @1453  		error = security_sb_eat_lsm_opts(data, &new_sec_opts);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1454  		if (error)
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1455  			return ERR_PTR(error);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1456  	}
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1457  
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1458  	/*
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1459  	 * Setup a dummy root and fs_info for test/set super.  This is because
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1460  	 * we don't actually fill this stuff out until open_ctree, but we need
8260edba67a2e6b Josef Bacik       2020-01-24  1461  	 * then open_ctree will properly initialize the file system specific
8260edba67a2e6b Josef Bacik       2020-01-24  1462  	 * settings later.  btrfs_init_fs_info initializes the static elements
8260edba67a2e6b Josef Bacik       2020-01-24  1463  	 * of the fs_info (locks and such) to make cleanup easier if we find a
8260edba67a2e6b Josef Bacik       2020-01-24  1464  	 * superblock with our given fs_devices later on at sget() time.
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1465  	 */
a8fd1f71749387c Jeff Mahoney      2018-02-15  1466  	fs_info = kvzalloc(sizeof(struct btrfs_fs_info), GFP_KERNEL);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1467  	if (!fs_info) {
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1468  		error = -ENOMEM;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1469  		goto error_sec_opts;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1470  	}
8260edba67a2e6b Josef Bacik       2020-01-24  1471  	btrfs_init_fs_info(fs_info);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1472  
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1473  	fs_info->super_copy = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_KERNEL);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1474  	fs_info->super_for_commit = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_KERNEL);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1475  	if (!fs_info->super_copy || !fs_info->super_for_commit) {
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1476  		error = -ENOMEM;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1477  		goto error_fs_info;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1478  	}
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1479  
399f7f4c42e8a58 David Sterba      2018-06-19  1480  	mutex_lock(&uuid_mutex);
2ef789288afd365 Christoph Hellwig 2023-06-08  1481  	error = btrfs_parse_device_options(data, mode);
81ffd56b5745355 David Sterba      2018-06-19  1482  	if (error) {
399f7f4c42e8a58 David Sterba      2018-06-19  1483  		mutex_unlock(&uuid_mutex);
399f7f4c42e8a58 David Sterba      2018-06-19  1484  		goto error_fs_info;
81ffd56b5745355 David Sterba      2018-06-19  1485  	}
399f7f4c42e8a58 David Sterba      2018-06-19  1486  
2ef789288afd365 Christoph Hellwig 2023-06-08  1487  	device = btrfs_scan_one_device(device_name, mode);
36350e95a2b1fee Gu Jinxiang       2018-07-12  1488  	if (IS_ERR(device)) {
399f7f4c42e8a58 David Sterba      2018-06-19  1489  		mutex_unlock(&uuid_mutex);
36350e95a2b1fee Gu Jinxiang       2018-07-12  1490  		error = PTR_ERR(device);
399f7f4c42e8a58 David Sterba      2018-06-19  1491  		goto error_fs_info;
81ffd56b5745355 David Sterba      2018-06-19  1492  	}
399f7f4c42e8a58 David Sterba      2018-06-19  1493  
36350e95a2b1fee Gu Jinxiang       2018-07-12  1494  	fs_devices = device->fs_devices;
399f7f4c42e8a58 David Sterba      2018-06-19  1495  	fs_info->fs_devices = fs_devices;
399f7f4c42e8a58 David Sterba      2018-06-19  1496  
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1497  	error = btrfs_open_devices(fs_devices, mode, fs_type);
f5194e34cabaddd David Sterba      2018-06-19  1498  	mutex_unlock(&uuid_mutex);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1499  	if (error)
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1500  		goto error_fs_info;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1501  
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1502  	if (!(flags & SB_RDONLY) && fs_devices->rw_devices == 0) {
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1503  		error = -EACCES;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1504  		goto error_close_devices;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1505  	}
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1506  
d24fa5c1da08026 Anand Jain        2021-08-24  1507  	bdev = fs_devices->latest_dev->bdev;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1508  	s = sget(fs_type, btrfs_test_super, btrfs_set_super, flags | SB_NOSEC,
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1509  		 fs_info);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1510  	if (IS_ERR(s)) {
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1511  		error = PTR_ERR(s);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1512  		goto error_close_devices;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1513  	}
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1514  
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1515  	if (s->s_root) {
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1516  		btrfs_close_devices(fs_devices);
0d4b0463011de06 Josef Bacik       2020-01-24  1517  		btrfs_free_fs_info(fs_info);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1518  		if ((flags ^ s->s_flags) & SB_RDONLY)
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1519  			error = -EBUSY;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1520  	} else {
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1521  		snprintf(s->s_id, sizeof(s->s_id), "%pg", bdev);
e33c267ab70de42 Roman Gushchin    2022-05-31  1522  		shrinker_debugfs_rename(&s->s_shrink, "sb-%s:%s", fs_type->name,
e33c267ab70de42 Roman Gushchin    2022-05-31  1523  					s->s_id);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1524  		btrfs_sb(s)->bdev_holder = fs_type;
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1525  		error = btrfs_fill_super(s, fs_devices, data);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1526  	}
a65001e8a4d4656 Al Viro           2018-12-10  1527  	if (!error)
204cc0ccf1d49c6 Al Viro           2018-12-13 @1528  		error = security_sb_set_mnt_opts(s, new_sec_opts, 0, NULL);
a65001e8a4d4656 Al Viro           2018-12-10 @1529  	security_free_mnt_opts(&new_sec_opts);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1530  	if (error) {
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1531  		deactivate_locked_super(s);
a65001e8a4d4656 Al Viro           2018-12-10  1532  		return ERR_PTR(error);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1533  	}
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1534  
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1535  	return dget(s->s_root);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1536  
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1537  error_close_devices:
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1538  	btrfs_close_devices(fs_devices);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1539  error_fs_info:
0d4b0463011de06 Josef Bacik       2020-01-24  1540  	btrfs_free_fs_info(fs_info);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1541  error_sec_opts:
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1542  	security_free_mnt_opts(&new_sec_opts);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1543  	return ERR_PTR(error);
72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1544  }
312c89fbca06896 Misono, Tomohiro  2017-12-14  1545  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c
  2023-08-23 13:51 ` [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c Josef Bacik
  2023-08-23 14:25   ` Anand Jain
@ 2023-08-28 10:56   ` Johannes Thumshirn
  1 sibling, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 10:56 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 02/11] btrfs: remove btrfs_crc32c wrapper
  2023-08-23 13:51 ` [PATCH 02/11] btrfs: remove btrfs_crc32c wrapper Josef Bacik
  2023-08-23 14:26   ` Anand Jain
@ 2023-08-28 10:58   ` Johannes Thumshirn
  1 sibling, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 10:58 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 03/11] btrfs: move btrfs_extref_hash into inode-item.h
  2023-08-23 13:51 ` [PATCH 03/11] btrfs: move btrfs_extref_hash into inode-item.h Josef Bacik
  2023-08-23 14:29   ` Anand Jain
@ 2023-08-28 10:59   ` Johannes Thumshirn
  1 sibling, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 10:59 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 04/11] btrfs: move btrfs_name_hash to dir-item.h
  2023-08-23 13:51 ` [PATCH 04/11] btrfs: move btrfs_name_hash to dir-item.h Josef Bacik
  2023-08-23 14:34   ` Anand Jain
@ 2023-08-28 11:00   ` Johannes Thumshirn
  1 sibling, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 11:00 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 05/11] btrfs: include asm/unaligned.h in accessors.h
  2023-08-23 13:51 ` [PATCH 05/11] btrfs: include asm/unaligned.h in accessors.h Josef Bacik
@ 2023-08-28 11:04   ` Johannes Thumshirn
  0 siblings, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 11:04 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 07/11] btrfs: include linux/iomap.h in file.c
  2023-08-23 13:51 ` [PATCH 07/11] btrfs: include linux/iomap.h in file.c Josef Bacik
@ 2023-08-28 11:05   ` Johannes Thumshirn
  0 siblings, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 11:05 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 08/11] btrfs: add fscrypt related dependencies to respective headers
  2023-08-23 13:51 ` [PATCH 08/11] btrfs: add fscrypt related dependencies to respective headers Josef Bacik
@ 2023-08-28 11:06   ` Johannes Thumshirn
  0 siblings, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 11:06 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 09/11] btrfs: add btrfs_delayed_ref_head declaration to extent-tree.h
  2023-08-23 13:51 ` [PATCH 09/11] btrfs: add btrfs_delayed_ref_head declaration to extent-tree.h Josef Bacik
@ 2023-08-28 11:06   ` Johannes Thumshirn
  0 siblings, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 11:06 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 10/11] btrfs: include trace header in where necessary
  2023-08-23 13:51 ` [PATCH 10/11] btrfs: include trace header in where necessary Josef Bacik
@ 2023-08-28 11:07   ` Johannes Thumshirn
  0 siblings, 0 replies; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 11:07 UTC (permalink / raw)
  To: Josef Bacik, linux-btrfs@vger.kernel.org, kernel-team@fb.com

Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 11/11] btrfs: remove extraneous includes from ctree.h
  2023-08-25 14:21   ` kernel test robot
@ 2023-08-28 11:08     ` Johannes Thumshirn
  2023-08-28 13:29       ` Josef Bacik
  0 siblings, 1 reply; 29+ messages in thread
From: Johannes Thumshirn @ 2023-08-28 11:08 UTC (permalink / raw)
  To: kernel test robot, Josef Bacik, linux-btrfs@vger.kernel.org,
	kernel-team@fb.com
  Cc: oe-kbuild-all@lists.linux.dev

On 25.08.23 16:23, kernel test robot wrote:
> Hi Josef,
> 
> kernel test robot noticed the following build errors:
> 
> [auto build test ERROR on kdave/for-next]
> [also build test ERROR on next-20230825]
> [cannot apply to linus/master v6.5-rc7]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Josef-Bacik/btrfs-move-btrfs_crc32c_final-into-free-space-cache-c/20230823-215354
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
> patch link:    https://lore.kernel.org/r/ed1caf5b26573e62547cb3b96031af66c0f082ca.1692798556.git.josef%40toxicpanda.com
> patch subject: [PATCH 11/11] btrfs: remove extraneous includes from ctree.h
> config: arc-randconfig-001-20230824 (https://download.01.org/0day-ci/archive/20230825/202308252218.ReiikzVx-lkp@intel.com/config)
> compiler: arc-elf-gcc (GCC) 13.2.0
> reproduce: (https://download.01.org/0day-ci/archive/20230825/202308252218.ReiikzVx-lkp@intel.com/reproduce)


Looks like #include <linux/security.h> is missing in super.c


> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202308252218.ReiikzVx-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>     fs/btrfs/super.c: In function 'btrfs_mount_root':
>>> fs/btrfs/super.c:1453:25: error: implicit declaration of function 'security_sb_eat_lsm_opts' [-Werror=implicit-function-declaration]
>      1453 |                 error = security_sb_eat_lsm_opts(data, &new_sec_opts);
>           |                         ^~~~~~~~~~~~~~~~~~~~~~~~
>>> fs/btrfs/super.c:1528:25: error: implicit declaration of function 'security_sb_set_mnt_opts' [-Werror=implicit-function-declaration]
>      1528 |                 error = security_sb_set_mnt_opts(s, new_sec_opts, 0, NULL);
>           |                         ^~~~~~~~~~~~~~~~~~~~~~~~
>>> fs/btrfs/super.c:1529:9: error: implicit declaration of function 'security_free_mnt_opts' [-Werror=implicit-function-declaration]
>      1529 |         security_free_mnt_opts(&new_sec_opts);
>           |         ^~~~~~~~~~~~~~~~~~~~~~
>     fs/btrfs/super.c: In function 'btrfs_remount':
>>> fs/btrfs/super.c:1704:31: error: implicit declaration of function 'security_sb_remount' [-Werror=implicit-function-declaration]
>      1704 |                         ret = security_sb_remount(sb, new_sec_opts);
>           |                               ^~~~~~~~~~~~~~~~~~~
>     cc1: some warnings being treated as errors
> 
> 
> vim +/security_sb_eat_lsm_opts +1453 fs/btrfs/super.c
> 
> 450ba0ea06b6ed3 Josef Bacik       2010-11-19  1433
> 312c89fbca06896 Misono, Tomohiro  2017-12-14  1434  /*
> 312c89fbca06896 Misono, Tomohiro  2017-12-14  1435   * Find a superblock for the given device / mount point.
> 312c89fbca06896 Misono, Tomohiro  2017-12-14  1436   *
> 312c89fbca06896 Misono, Tomohiro  2017-12-14  1437   * Note: This is based on mount_bdev from fs/super.c with a few additions
> 312c89fbca06896 Misono, Tomohiro  2017-12-14  1438   *       for multiple device setup.  Make sure to keep it in sync.
> 312c89fbca06896 Misono, Tomohiro  2017-12-14  1439   */
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1440  static struct dentry *btrfs_mount_root(struct file_system_type *fs_type,
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1441  		int flags, const char *device_name, void *data)
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1442  {
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1443  	struct block_device *bdev = NULL;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1444  	struct super_block *s;
> 36350e95a2b1fee Gu Jinxiang       2018-07-12  1445  	struct btrfs_device *device = NULL;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1446  	struct btrfs_fs_devices *fs_devices = NULL;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1447  	struct btrfs_fs_info *fs_info = NULL;
> 204cc0ccf1d49c6 Al Viro           2018-12-13  1448  	void *new_sec_opts = NULL;
> 05bdb9965305bbf Christoph Hellwig 2023-06-08  1449  	blk_mode_t mode = sb_open_mode(flags);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1450  	int error = 0;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1451
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1452  	if (data) {
> a65001e8a4d4656 Al Viro           2018-12-10 @1453  		error = security_sb_eat_lsm_opts(data, &new_sec_opts);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1454  		if (error)
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1455  			return ERR_PTR(error);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1456  	}
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1457
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1458  	/*
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1459  	 * Setup a dummy root and fs_info for test/set super.  This is because
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1460  	 * we don't actually fill this stuff out until open_ctree, but we need
> 8260edba67a2e6b Josef Bacik       2020-01-24  1461  	 * then open_ctree will properly initialize the file system specific
> 8260edba67a2e6b Josef Bacik       2020-01-24  1462  	 * settings later.  btrfs_init_fs_info initializes the static elements
> 8260edba67a2e6b Josef Bacik       2020-01-24  1463  	 * of the fs_info (locks and such) to make cleanup easier if we find a
> 8260edba67a2e6b Josef Bacik       2020-01-24  1464  	 * superblock with our given fs_devices later on at sget() time.
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1465  	 */
> a8fd1f71749387c Jeff Mahoney      2018-02-15  1466  	fs_info = kvzalloc(sizeof(struct btrfs_fs_info), GFP_KERNEL);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1467  	if (!fs_info) {
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1468  		error = -ENOMEM;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1469  		goto error_sec_opts;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1470  	}
> 8260edba67a2e6b Josef Bacik       2020-01-24  1471  	btrfs_init_fs_info(fs_info);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1472
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1473  	fs_info->super_copy = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_KERNEL);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1474  	fs_info->super_for_commit = kzalloc(BTRFS_SUPER_INFO_SIZE, GFP_KERNEL);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1475  	if (!fs_info->super_copy || !fs_info->super_for_commit) {
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1476  		error = -ENOMEM;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1477  		goto error_fs_info;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1478  	}
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1479
> 399f7f4c42e8a58 David Sterba      2018-06-19  1480  	mutex_lock(&uuid_mutex);
> 2ef789288afd365 Christoph Hellwig 2023-06-08  1481  	error = btrfs_parse_device_options(data, mode);
> 81ffd56b5745355 David Sterba      2018-06-19  1482  	if (error) {
> 399f7f4c42e8a58 David Sterba      2018-06-19  1483  		mutex_unlock(&uuid_mutex);
> 399f7f4c42e8a58 David Sterba      2018-06-19  1484  		goto error_fs_info;
> 81ffd56b5745355 David Sterba      2018-06-19  1485  	}
> 399f7f4c42e8a58 David Sterba      2018-06-19  1486
> 2ef789288afd365 Christoph Hellwig 2023-06-08  1487  	device = btrfs_scan_one_device(device_name, mode);
> 36350e95a2b1fee Gu Jinxiang       2018-07-12  1488  	if (IS_ERR(device)) {
> 399f7f4c42e8a58 David Sterba      2018-06-19  1489  		mutex_unlock(&uuid_mutex);
> 36350e95a2b1fee Gu Jinxiang       2018-07-12  1490  		error = PTR_ERR(device);
> 399f7f4c42e8a58 David Sterba      2018-06-19  1491  		goto error_fs_info;
> 81ffd56b5745355 David Sterba      2018-06-19  1492  	}
> 399f7f4c42e8a58 David Sterba      2018-06-19  1493
> 36350e95a2b1fee Gu Jinxiang       2018-07-12  1494  	fs_devices = device->fs_devices;
> 399f7f4c42e8a58 David Sterba      2018-06-19  1495  	fs_info->fs_devices = fs_devices;
> 399f7f4c42e8a58 David Sterba      2018-06-19  1496
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1497  	error = btrfs_open_devices(fs_devices, mode, fs_type);
> f5194e34cabaddd David Sterba      2018-06-19  1498  	mutex_unlock(&uuid_mutex);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1499  	if (error)
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1500  		goto error_fs_info;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1501
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1502  	if (!(flags & SB_RDONLY) && fs_devices->rw_devices == 0) {
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1503  		error = -EACCES;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1504  		goto error_close_devices;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1505  	}
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1506
> d24fa5c1da08026 Anand Jain        2021-08-24  1507  	bdev = fs_devices->latest_dev->bdev;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1508  	s = sget(fs_type, btrfs_test_super, btrfs_set_super, flags | SB_NOSEC,
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1509  		 fs_info);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1510  	if (IS_ERR(s)) {
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1511  		error = PTR_ERR(s);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1512  		goto error_close_devices;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1513  	}
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1514
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1515  	if (s->s_root) {
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1516  		btrfs_close_devices(fs_devices);
> 0d4b0463011de06 Josef Bacik       2020-01-24  1517  		btrfs_free_fs_info(fs_info);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1518  		if ((flags ^ s->s_flags) & SB_RDONLY)
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1519  			error = -EBUSY;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1520  	} else {
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1521  		snprintf(s->s_id, sizeof(s->s_id), "%pg", bdev);
> e33c267ab70de42 Roman Gushchin    2022-05-31  1522  		shrinker_debugfs_rename(&s->s_shrink, "sb-%s:%s", fs_type->name,
> e33c267ab70de42 Roman Gushchin    2022-05-31  1523  					s->s_id);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1524  		btrfs_sb(s)->bdev_holder = fs_type;
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1525  		error = btrfs_fill_super(s, fs_devices, data);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1526  	}
> a65001e8a4d4656 Al Viro           2018-12-10  1527  	if (!error)
> 204cc0ccf1d49c6 Al Viro           2018-12-13 @1528  		error = security_sb_set_mnt_opts(s, new_sec_opts, 0, NULL);
> a65001e8a4d4656 Al Viro           2018-12-10 @1529  	security_free_mnt_opts(&new_sec_opts);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1530  	if (error) {
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1531  		deactivate_locked_super(s);
> a65001e8a4d4656 Al Viro           2018-12-10  1532  		return ERR_PTR(error);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1533  	}
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1534
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1535  	return dget(s->s_root);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1536
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1537  error_close_devices:
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1538  	btrfs_close_devices(fs_devices);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1539  error_fs_info:
> 0d4b0463011de06 Josef Bacik       2020-01-24  1540  	btrfs_free_fs_info(fs_info);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1541  error_sec_opts:
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1542  	security_free_mnt_opts(&new_sec_opts);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1543  	return ERR_PTR(error);
> 72fa39f5c7a1c9d Misono, Tomohiro  2017-12-14  1544  }
> 312c89fbca06896 Misono, Tomohiro  2017-12-14  1545
> 


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 11/11] btrfs: remove extraneous includes from ctree.h
  2023-08-28 11:08     ` Johannes Thumshirn
@ 2023-08-28 13:29       ` Josef Bacik
  0 siblings, 0 replies; 29+ messages in thread
From: Josef Bacik @ 2023-08-28 13:29 UTC (permalink / raw)
  To: Johannes Thumshirn
  Cc: kernel test robot, linux-btrfs@vger.kernel.org,
	kernel-team@fb.com, oe-kbuild-all@lists.linux.dev

On Mon, Aug 28, 2023 at 11:08:46AM +0000, Johannes Thumshirn wrote:
> On 25.08.23 16:23, kernel test robot wrote:
> > Hi Josef,
> > 
> > kernel test robot noticed the following build errors:
> > 
> > [auto build test ERROR on kdave/for-next]
> > [also build test ERROR on next-20230825]
> > [cannot apply to linus/master v6.5-rc7]
> > [If your patch is applied to the wrong git tree, kindly drop us a note.
> > And when submitting patch, we suggest to use '--base' as documented in
> > https://git-scm.com/docs/git-format-patch#_base_tree_information]
> > 
> > url:    https://github.com/intel-lab-lkp/linux/commits/Josef-Bacik/btrfs-move-btrfs_crc32c_final-into-free-space-cache-c/20230823-215354
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
> > patch link:    https://lore.kernel.org/r/ed1caf5b26573e62547cb3b96031af66c0f082ca.1692798556.git.josef%40toxicpanda.com
> > patch subject: [PATCH 11/11] btrfs: remove extraneous includes from ctree.h
> > config: arc-randconfig-001-20230824 (https://download.01.org/0day-ci/archive/20230825/202308252218.ReiikzVx-lkp@intel.com/config)
> > compiler: arc-elf-gcc (GCC) 13.2.0
> > reproduce: (https://download.01.org/0day-ci/archive/20230825/202308252218.ReiikzVx-lkp@intel.com/reproduce)
> 
> 
> Looks like #include <linux/security.h> is missing in super.c
> 

Yup I fixed it in v2 I sent on Friday.  Thanks,

Josef

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2023-08-28 13:30 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-23 13:51 [PATCH 00/11] btrfs: ctree.[ch] cleanups Josef Bacik
2023-08-23 13:51 ` [PATCH 01/11] btrfs: move btrfs_crc32c_final into free-space-cache.c Josef Bacik
2023-08-23 14:25   ` Anand Jain
2023-08-28 10:56   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 02/11] btrfs: remove btrfs_crc32c wrapper Josef Bacik
2023-08-23 14:26   ` Anand Jain
2023-08-28 10:58   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 03/11] btrfs: move btrfs_extref_hash into inode-item.h Josef Bacik
2023-08-23 14:29   ` Anand Jain
2023-08-28 10:59   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 04/11] btrfs: move btrfs_name_hash to dir-item.h Josef Bacik
2023-08-23 14:34   ` Anand Jain
2023-08-28 11:00   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 05/11] btrfs: include asm/unaligned.h in accessors.h Josef Bacik
2023-08-28 11:04   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 06/11] btrfs: include linux/crc32c in dir-item and inode-item Josef Bacik
2023-08-23 14:43   ` Anand Jain
2023-08-23 13:51 ` [PATCH 07/11] btrfs: include linux/iomap.h in file.c Josef Bacik
2023-08-28 11:05   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 08/11] btrfs: add fscrypt related dependencies to respective headers Josef Bacik
2023-08-28 11:06   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 09/11] btrfs: add btrfs_delayed_ref_head declaration to extent-tree.h Josef Bacik
2023-08-28 11:06   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 10/11] btrfs: include trace header in where necessary Josef Bacik
2023-08-28 11:07   ` Johannes Thumshirn
2023-08-23 13:51 ` [PATCH 11/11] btrfs: remove extraneous includes from ctree.h Josef Bacik
2023-08-25 14:21   ` kernel test robot
2023-08-28 11:08     ` Johannes Thumshirn
2023-08-28 13:29       ` Josef Bacik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).