From: kernel test robot <lkp@intel.com>
To: Kent Overstreet <kmo@daterainc.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: fs/bcachefs/snapshot.c:974:17: sparse: sparse: cast from restricted __le32
Date: Sat, 16 Dec 2023 06:57:24 +0800 [thread overview]
Message-ID: <202312160608.Di8lWfTr-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 3bd7d748816927202268cb335921f7f68b3ca723
commit: 8e877caaad818595ecb6754355cea2058fd9848e bcachefs: Split out snapshot.c
date: 8 weeks ago
config: mips-randconfig-r132-20231115 (https://download.01.org/0day-ci/archive/20231216/202312160608.Di8lWfTr-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231216/202312160608.Di8lWfTr-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/202312160608.Di8lWfTr-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> fs/bcachefs/snapshot.c:974:17: sparse: sparse: cast from restricted __le32
vim +974 fs/bcachefs/snapshot.c
916
917 static int bch2_snapshot_node_delete(struct btree_trans *trans, u32 id)
918 {
919 struct bch_fs *c = trans->c;
920 struct btree_iter iter, p_iter = (struct btree_iter) { NULL };
921 struct btree_iter tree_iter = (struct btree_iter) { NULL };
922 struct bkey_s_c_snapshot s;
923 u32 parent_id;
924 unsigned i;
925 int ret = 0;
926
927 s = bch2_bkey_get_iter_typed(trans, &iter, BTREE_ID_snapshots, POS(0, id),
928 BTREE_ITER_INTENT, snapshot);
929 ret = bkey_err(s);
930 bch2_fs_inconsistent_on(bch2_err_matches(ret, ENOENT), c,
931 "missing snapshot %u", id);
932
933 if (ret)
934 goto err;
935
936 BUG_ON(!BCH_SNAPSHOT_DELETED(s.v));
937 parent_id = le32_to_cpu(s.v->parent);
938
939 if (parent_id) {
940 struct bkey_i_snapshot *parent;
941
942 parent = bch2_bkey_get_mut_typed(trans, &p_iter,
943 BTREE_ID_snapshots, POS(0, parent_id),
944 0, snapshot);
945 ret = PTR_ERR_OR_ZERO(parent);
946 if (unlikely(ret)) {
947 bch2_fs_inconsistent_on(bch2_err_matches(ret, ENOENT), c,
948 "missing snapshot %u", parent_id);
949 goto err;
950 }
951
952 for (i = 0; i < 2; i++)
953 if (le32_to_cpu(parent->v.children[i]) == id)
954 break;
955
956 if (i == 2)
957 bch_err(c, "snapshot %u missing child pointer to %u",
958 parent_id, id);
959 else
960 parent->v.children[i] = 0;
961
962 if (le32_to_cpu(parent->v.children[0]) <
963 le32_to_cpu(parent->v.children[1]))
964 swap(parent->v.children[0],
965 parent->v.children[1]);
966 } else {
967 /*
968 * We're deleting the root of a snapshot tree: update the
969 * snapshot_tree entry to point to the new root, or delete it if
970 * this is the last snapshot ID in this tree:
971 */
972 struct bkey_i_snapshot_tree *s_t;
973
> 974 BUG_ON(s.v->children[1]);
975
976 s_t = bch2_bkey_get_mut_typed(trans, &tree_iter,
977 BTREE_ID_snapshot_trees, POS(0, le32_to_cpu(s.v->tree)),
978 0, snapshot_tree);
979 ret = PTR_ERR_OR_ZERO(s_t);
980 if (ret)
981 goto err;
982
983 if (s.v->children[0]) {
984 s_t->v.root_snapshot = s.v->children[0];
985 } else {
986 s_t->k.type = KEY_TYPE_deleted;
987 set_bkey_val_u64s(&s_t->k, 0);
988 }
989 }
990
991 ret = bch2_btree_delete_at(trans, &iter, 0);
992 err:
993 bch2_trans_iter_exit(trans, &tree_iter);
994 bch2_trans_iter_exit(trans, &p_iter);
995 bch2_trans_iter_exit(trans, &iter);
996 return ret;
997 }
998
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2023-12-15 22:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-15 22:57 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-12-04 16:26 fs/bcachefs/snapshot.c:974:17: sparse: sparse: cast from restricted __le32 kernel test robot
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=202312160608.Di8lWfTr-lkp@intel.com \
--to=lkp@intel.com \
--cc=kmo@daterainc.com \
--cc=linux-kernel@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox