From: kernel test robot <lkp@intel.com>
To: Kent Overstreet <kmo@daterainc.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>
Subject: [linux-next:master 3807/4552] fs/bcachefs/snapshot.c:942:5: warning: no previous prototype for function 'bch2_snapshot_node_delete'
Date: Thu, 14 Sep 2023 07:39:56 +0800 [thread overview]
Message-ID: <202309140719.SIXNytRW-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: e143016b56ecb0fcda5bb6026b0a25fe55274f56
commit: c25d6a495d7f6c73c4f14d31c5e1b80ff8cbe338 [3807/4552] bcachefs: Cleanup redundant snapshot nodes
config: powerpc-randconfig-r006-20230912 (https://download.01.org/0day-ci/archive/20230914/202309140719.SIXNytRW-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230914/202309140719.SIXNytRW-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/202309140719.SIXNytRW-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from fs/bcachefs/snapshot.c:3:
In file included from fs/bcachefs/bcachefs.h:188:
In file included from include/linux/bio.h:10:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:672:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
47 | DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:669:3: note: expanded from macro 'DEF_PCI_AC_NORET'
669 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:211:1: note: expanded from here
211 | __do_insl
| ^
arch/powerpc/include/asm/io.h:611:56: note: expanded from macro '__do_insl'
611 | #define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
| ~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/bcachefs/snapshot.c:3:
In file included from fs/bcachefs/bcachefs.h:188:
In file included from include/linux/bio.h:10:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:672:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
49 | DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:669:3: note: expanded from macro 'DEF_PCI_AC_NORET'
669 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:213:1: note: expanded from here
213 | __do_outsb
| ^
arch/powerpc/include/asm/io.h:612:58: note: expanded from macro '__do_outsb'
612 | #define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
| ~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/bcachefs/snapshot.c:3:
In file included from fs/bcachefs/bcachefs.h:188:
In file included from include/linux/bio.h:10:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:672:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
51 | DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:669:3: note: expanded from macro 'DEF_PCI_AC_NORET'
669 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:215:1: note: expanded from here
215 | __do_outsw
| ^
arch/powerpc/include/asm/io.h:613:58: note: expanded from macro '__do_outsw'
613 | #define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
| ~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/bcachefs/snapshot.c:3:
In file included from fs/bcachefs/bcachefs.h:188:
In file included from include/linux/bio.h:10:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:672:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
53 | DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54 | (p, b, c), pio, p)
| ~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:669:3: note: expanded from macro 'DEF_PCI_AC_NORET'
669 | __do_##name al; \
| ^~~~~~~~~~~~~~
<scratch space>:217:1: note: expanded from here
217 | __do_outsl
| ^
arch/powerpc/include/asm/io.h:614:58: note: expanded from macro '__do_outsl'
614 | #define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
| ~~~~~~~~~~~~~~~~~~~~~^
>> fs/bcachefs/snapshot.c:942:5: warning: no previous prototype for function 'bch2_snapshot_node_delete' [-Wmissing-prototypes]
942 | int bch2_snapshot_node_delete(struct btree_trans *trans, u32 id)
| ^
fs/bcachefs/snapshot.c:942:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
942 | int bch2_snapshot_node_delete(struct btree_trans *trans, u32 id)
| ^
| static
7 warnings generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for HOTPLUG_CPU
Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV [=n] || FSL_SOC_BOOKE [=n])
Selected by [y]:
- PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=n] || ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y]
vim +/bch2_snapshot_node_delete +942 fs/bcachefs/snapshot.c
941
> 942 int bch2_snapshot_node_delete(struct btree_trans *trans, u32 id)
943 {
944 struct bch_fs *c = trans->c;
945 struct btree_iter iter, p_iter = (struct btree_iter) { NULL };
946 struct btree_iter c_iter = (struct btree_iter) { NULL };
947 struct btree_iter tree_iter = (struct btree_iter) { NULL };
948 struct bkey_s_c_snapshot s;
949 u32 parent_id, child_id;
950 unsigned i;
951 int ret = 0;
952
953 s = bch2_bkey_get_iter_typed(trans, &iter, BTREE_ID_snapshots, POS(0, id),
954 BTREE_ITER_INTENT, snapshot);
955 ret = bkey_err(s);
956 bch2_fs_inconsistent_on(bch2_err_matches(ret, ENOENT), c,
957 "missing snapshot %u", id);
958
959 if (ret)
960 goto err;
961
962 BUG_ON(s.v->children[1]);
963
964 parent_id = le32_to_cpu(s.v->parent);
965 child_id = le32_to_cpu(s.v->children[0]);
966
967 if (parent_id) {
968 struct bkey_i_snapshot *parent;
969
970 parent = bch2_bkey_get_mut_typed(trans, &p_iter,
971 BTREE_ID_snapshots, POS(0, parent_id),
972 0, snapshot);
973 ret = PTR_ERR_OR_ZERO(parent);
974 bch2_fs_inconsistent_on(bch2_err_matches(ret, ENOENT), c,
975 "missing snapshot %u", parent_id);
976 if (unlikely(ret))
977 goto err;
978
979 /* find entry in parent->children for node being deleted */
980 for (i = 0; i < 2; i++)
981 if (le32_to_cpu(parent->v.children[i]) == id)
982 break;
983
984 if (bch2_fs_inconsistent_on(i == 2, c,
985 "snapshot %u missing child pointer to %u",
986 parent_id, id))
987 goto err;
988
989 parent->v.children[i] = le32_to_cpu(child_id);
990
991 normalize_snapshot_child_pointers(&parent->v);
992 }
993
994 if (child_id) {
995 struct bkey_i_snapshot *child;
996
997 child = bch2_bkey_get_mut_typed(trans, &c_iter,
998 BTREE_ID_snapshots, POS(0, child_id),
999 0, snapshot);
1000 ret = PTR_ERR_OR_ZERO(child);
1001 bch2_fs_inconsistent_on(bch2_err_matches(ret, ENOENT), c,
1002 "missing snapshot %u", child_id);
1003 if (unlikely(ret))
1004 goto err;
1005
1006 child->v.parent = cpu_to_le32(parent_id);
1007
1008 if (!child->v.parent) {
1009 child->v.skip[0] = 0;
1010 child->v.skip[1] = 0;
1011 child->v.skip[2] = 0;
1012 }
1013 }
1014
1015 if (!parent_id) {
1016 /*
1017 * We're deleting the root of a snapshot tree: update the
1018 * snapshot_tree entry to point to the new root, or delete it if
1019 * this is the last snapshot ID in this tree:
1020 */
1021 struct bkey_i_snapshot_tree *s_t;
1022
1023 BUG_ON(s.v->children[1]);
1024
1025 s_t = bch2_bkey_get_mut_typed(trans, &tree_iter,
1026 BTREE_ID_snapshot_trees, POS(0, le32_to_cpu(s.v->tree)),
1027 0, snapshot_tree);
1028 ret = PTR_ERR_OR_ZERO(s_t);
1029 if (ret)
1030 goto err;
1031
1032 if (s.v->children[0]) {
1033 s_t->v.root_snapshot = s.v->children[0];
1034 } else {
1035 s_t->k.type = KEY_TYPE_deleted;
1036 set_bkey_val_u64s(&s_t->k, 0);
1037 }
1038 }
1039
1040 ret = bch2_btree_delete_at(trans, &iter, 0);
1041 err:
1042 bch2_trans_iter_exit(trans, &tree_iter);
1043 bch2_trans_iter_exit(trans, &p_iter);
1044 bch2_trans_iter_exit(trans, &c_iter);
1045 bch2_trans_iter_exit(trans, &iter);
1046 return ret;
1047 }
1048
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2023-09-13 23:40 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202309140719.SIXNytRW-lkp@intel.com \
--to=lkp@intel.com \
--cc=kmo@daterainc.com \
--cc=linux-mm@kvack.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.