From: kernel test robot <lkp@intel.com>
To: Kent Overstreet <kent.overstreet@linux.dev>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [koverstreet-bcachefs:bcachefs-garbage 188/258] fs/bcachefs/fs-common.c:46:49: error: 'BTREE_ITER_with_updates' undeclared; did you mean 'BTREE_ITER_with_journal'?
Date: Tue, 10 Sep 2024 03:27:44 +0800 [thread overview]
Message-ID: <202409100357.VBtMBhOT-lkp@intel.com> (raw)
tree: https://github.com/koverstreet/bcachefs bcachefs-garbage
head: c88c2220b6b527cec382f06a0ba3feab2a593b37
commit: 20e2d4702d10bcf4ca4a9bd027be2aaac631dfab [188/258] bcachefs: Kill BTREE_ITER_with_updates
config: x86_64-buildonly-randconfig-001-20240909 (https://download.01.org/0day-ci/archive/20240910/202409100357.VBtMBhOT-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240910/202409100357.VBtMBhOT-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/202409100357.VBtMBhOT-lkp@intel.com/
All errors (new ones prefixed by >>):
fs/bcachefs/fs-common.c: In function 'bch2_create_trans':
>> fs/bcachefs/fs-common.c:46:49: error: 'BTREE_ITER_with_updates' undeclared (first use in this function); did you mean 'BTREE_ITER_with_journal'?
46 | BTREE_ITER_intent|BTREE_ITER_with_updates);
| ^~~~~~~~~~~~~~~~~~~~~~~
| BTREE_ITER_with_journal
fs/bcachefs/fs-common.c:46:49: note: each undeclared identifier is reported only once for each function it appears in
vim +46 fs/bcachefs/fs-common.c
42d237320e9817 Kent Overstreet 2021-03-16 18
6fed42bb7750e2 Kent Overstreet 2021-03-16 19 int bch2_create_trans(struct btree_trans *trans,
6fed42bb7750e2 Kent Overstreet 2021-03-16 20 subvol_inum dir,
9638574229e3ae Kent Overstreet 2019-10-02 21 struct bch_inode_unpacked *dir_u,
9638574229e3ae Kent Overstreet 2019-10-02 22 struct bch_inode_unpacked *new_inode,
9638574229e3ae Kent Overstreet 2019-10-02 23 const struct qstr *name,
9638574229e3ae Kent Overstreet 2019-10-02 24 uid_t uid, gid_t gid, umode_t mode, dev_t rdev,
9638574229e3ae Kent Overstreet 2019-10-02 25 struct posix_acl *default_acl,
6fed42bb7750e2 Kent Overstreet 2021-03-16 26 struct posix_acl *acl,
42d237320e9817 Kent Overstreet 2021-03-16 27 subvol_inum snapshot_src,
6fed42bb7750e2 Kent Overstreet 2021-03-16 28 unsigned flags)
9638574229e3ae Kent Overstreet 2019-10-02 29 {
9638574229e3ae Kent Overstreet 2019-10-02 30 struct bch_fs *c = trans->c;
67e0dd8f0d8b4b Kent Overstreet 2021-08-30 31 struct btree_iter dir_iter = { NULL };
67e0dd8f0d8b4b Kent Overstreet 2021-08-30 32 struct btree_iter inode_iter = { NULL };
6fed42bb7750e2 Kent Overstreet 2021-03-16 33 subvol_inum new_inum = dir;
ab2a29ccffd0e9 Kent Overstreet 2021-03-02 34 u64 now = bch2_current_time(c);
bff796ae6539b5 Kent Overstreet 2021-05-28 35 u64 cpu = raw_smp_processor_id();
6fed42bb7750e2 Kent Overstreet 2021-03-16 36 u64 dir_target;
6fed42bb7750e2 Kent Overstreet 2021-03-16 37 u32 snapshot;
42d237320e9817 Kent Overstreet 2021-03-16 38 unsigned dir_type = mode_to_type(mode);
9638574229e3ae Kent Overstreet 2019-10-02 39 int ret;
9638574229e3ae Kent Overstreet 2019-10-02 40
6fed42bb7750e2 Kent Overstreet 2021-03-16 41 ret = bch2_subvolume_get_snapshot(trans, dir.subvol, &snapshot);
6fed42bb7750e2 Kent Overstreet 2021-03-16 42 if (ret)
6fed42bb7750e2 Kent Overstreet 2021-03-16 43 goto err;
6fed42bb7750e2 Kent Overstreet 2021-03-16 44
ebcacf303ac177 Sasha Finkelstein 2024-08-18 45 ret = bch2_inode_peek(trans, &dir_iter, dir_u, dir,
ebcacf303ac177 Sasha Finkelstein 2024-08-18 @46 BTREE_ITER_intent|BTREE_ITER_with_updates);
8b53852d0a80ec Kent Overstreet 2020-02-18 47 if (ret)
8b53852d0a80ec Kent Overstreet 2020-02-18 48 goto err;
9638574229e3ae Kent Overstreet 2019-10-02 49
42d237320e9817 Kent Overstreet 2021-03-16 50 if (!(flags & BCH_CREATE_SNAPSHOT)) {
42d237320e9817 Kent Overstreet 2021-03-16 51 /* Normal create path - allocate a new inode: */
9638574229e3ae Kent Overstreet 2019-10-02 52 bch2_inode_init_late(new_inode, now, uid, gid, mode, rdev, dir_u);
9638574229e3ae Kent Overstreet 2019-10-02 53
42d237320e9817 Kent Overstreet 2021-03-16 54 if (flags & BCH_CREATE_TMPFILE)
103ffe9aaf8566 Kent Overstreet 2023-11-02 55 new_inode->bi_flags |= BCH_INODE_unlinked;
9638574229e3ae Kent Overstreet 2019-10-02 56
6fed42bb7750e2 Kent Overstreet 2021-03-16 57 ret = bch2_inode_create(trans, &inode_iter, new_inode, snapshot, cpu);
9638574229e3ae Kent Overstreet 2019-10-02 58 if (ret)
8b53852d0a80ec Kent Overstreet 2020-02-18 59 goto err;
9638574229e3ae Kent Overstreet 2019-10-02 60
42d237320e9817 Kent Overstreet 2021-03-16 61 snapshot_src = (subvol_inum) { 0 };
42d237320e9817 Kent Overstreet 2021-03-16 62 } else {
42d237320e9817 Kent Overstreet 2021-03-16 63 /*
42d237320e9817 Kent Overstreet 2021-03-16 64 * Creating a snapshot - we're not allocating a new inode, but
42d237320e9817 Kent Overstreet 2021-03-16 65 * we do have to lookup the root inode of the subvolume we're
42d237320e9817 Kent Overstreet 2021-03-16 66 * snapshotting and update it (in the new snapshot):
42d237320e9817 Kent Overstreet 2021-03-16 67 */
42d237320e9817 Kent Overstreet 2021-03-16 68
42d237320e9817 Kent Overstreet 2021-03-16 69 if (!snapshot_src.inum) {
42d237320e9817 Kent Overstreet 2021-03-16 70 /* Inode wasn't specified, just snapshot: */
97996ddfdb9b0b Kent Overstreet 2021-09-30 71 struct bch_subvolume s;
42d237320e9817 Kent Overstreet 2021-03-16 72
97996ddfdb9b0b Kent Overstreet 2021-09-30 73 ret = bch2_subvolume_get(trans, snapshot_src.subvol, true,
5dd8c60e1e0448 Kent Overstreet 2024-04-07 74 BTREE_ITER_cached, &s);
42d237320e9817 Kent Overstreet 2021-03-16 75 if (ret)
42d237320e9817 Kent Overstreet 2021-03-16 76 goto err;
97996ddfdb9b0b Kent Overstreet 2021-09-30 77
97996ddfdb9b0b Kent Overstreet 2021-09-30 78 snapshot_src.inum = le64_to_cpu(s.inode);
42d237320e9817 Kent Overstreet 2021-03-16 79 }
42d237320e9817 Kent Overstreet 2021-03-16 80
42d237320e9817 Kent Overstreet 2021-03-16 81 ret = bch2_inode_peek(trans, &inode_iter, new_inode, snapshot_src,
5dd8c60e1e0448 Kent Overstreet 2024-04-07 82 BTREE_ITER_intent);
42d237320e9817 Kent Overstreet 2021-03-16 83 if (ret)
42d237320e9817 Kent Overstreet 2021-03-16 84 goto err;
42d237320e9817 Kent Overstreet 2021-03-16 85
42d237320e9817 Kent Overstreet 2021-03-16 86 if (new_inode->bi_subvol != snapshot_src.subvol) {
42d237320e9817 Kent Overstreet 2021-03-16 87 /* Not a subvolume root: */
42d237320e9817 Kent Overstreet 2021-03-16 88 ret = -EINVAL;
42d237320e9817 Kent Overstreet 2021-03-16 89 goto err;
42d237320e9817 Kent Overstreet 2021-03-16 90 }
42d237320e9817 Kent Overstreet 2021-03-16 91
42d237320e9817 Kent Overstreet 2021-03-16 92 /*
42d237320e9817 Kent Overstreet 2021-03-16 93 * If we're not root, we have to own the subvolume being
42d237320e9817 Kent Overstreet 2021-03-16 94 * snapshotted:
42d237320e9817 Kent Overstreet 2021-03-16 95 */
42d237320e9817 Kent Overstreet 2021-03-16 96 if (uid && new_inode->bi_uid != uid) {
42d237320e9817 Kent Overstreet 2021-03-16 97 ret = -EPERM;
42d237320e9817 Kent Overstreet 2021-03-16 98 goto err;
42d237320e9817 Kent Overstreet 2021-03-16 99 }
42d237320e9817 Kent Overstreet 2021-03-16 100
42d237320e9817 Kent Overstreet 2021-03-16 101 flags |= BCH_CREATE_SUBVOL;
42d237320e9817 Kent Overstreet 2021-03-16 102 }
42d237320e9817 Kent Overstreet 2021-03-16 103
6fed42bb7750e2 Kent Overstreet 2021-03-16 104 new_inum.inum = new_inode->bi_inum;
6fed42bb7750e2 Kent Overstreet 2021-03-16 105 dir_target = new_inode->bi_inum;
6fed42bb7750e2 Kent Overstreet 2021-03-16 106
42d237320e9817 Kent Overstreet 2021-03-16 107 if (flags & BCH_CREATE_SUBVOL) {
42d237320e9817 Kent Overstreet 2021-03-16 108 u32 new_subvol, dir_snapshot;
42d237320e9817 Kent Overstreet 2021-03-16 109
42d237320e9817 Kent Overstreet 2021-03-16 110 ret = bch2_subvolume_create(trans, new_inode->bi_inum,
b8628a2529e7d6 Kent Overstreet 2024-02-08 111 dir.subvol,
42d237320e9817 Kent Overstreet 2021-03-16 112 snapshot_src.subvol,
42d237320e9817 Kent Overstreet 2021-03-16 113 &new_subvol, &snapshot,
42d237320e9817 Kent Overstreet 2021-03-16 114 (flags & BCH_CREATE_SNAPSHOT_RO) != 0);
42d237320e9817 Kent Overstreet 2021-03-16 115 if (ret)
42d237320e9817 Kent Overstreet 2021-03-16 116 goto err;
42d237320e9817 Kent Overstreet 2021-03-16 117
42d237320e9817 Kent Overstreet 2021-03-16 118 new_inode->bi_parent_subvol = dir.subvol;
42d237320e9817 Kent Overstreet 2021-03-16 119 new_inode->bi_subvol = new_subvol;
42d237320e9817 Kent Overstreet 2021-03-16 120 new_inum.subvol = new_subvol;
42d237320e9817 Kent Overstreet 2021-03-16 121 dir_target = new_subvol;
42d237320e9817 Kent Overstreet 2021-03-16 122 dir_type = DT_SUBVOL;
42d237320e9817 Kent Overstreet 2021-03-16 123
42d237320e9817 Kent Overstreet 2021-03-16 124 ret = bch2_subvolume_get_snapshot(trans, dir.subvol, &dir_snapshot);
42d237320e9817 Kent Overstreet 2021-03-16 125 if (ret)
42d237320e9817 Kent Overstreet 2021-03-16 126 goto err;
42d237320e9817 Kent Overstreet 2021-03-16 127
42d237320e9817 Kent Overstreet 2021-03-16 128 bch2_btree_iter_set_snapshot(&dir_iter, dir_snapshot);
42d237320e9817 Kent Overstreet 2021-03-16 129 ret = bch2_btree_iter_traverse(&dir_iter);
42d237320e9817 Kent Overstreet 2021-03-16 130 if (ret)
42d237320e9817 Kent Overstreet 2021-03-16 131 goto err;
42d237320e9817 Kent Overstreet 2021-03-16 132 }
42d237320e9817 Kent Overstreet 2021-03-16 133
42d237320e9817 Kent Overstreet 2021-03-16 134 if (!(flags & BCH_CREATE_SNAPSHOT)) {
9638574229e3ae Kent Overstreet 2019-10-02 135 if (default_acl) {
6fed42bb7750e2 Kent Overstreet 2021-03-16 136 ret = bch2_set_acl_trans(trans, new_inum, new_inode,
9638574229e3ae Kent Overstreet 2019-10-02 137 default_acl, ACL_TYPE_DEFAULT);
9638574229e3ae Kent Overstreet 2019-10-02 138 if (ret)
8b53852d0a80ec Kent Overstreet 2020-02-18 139 goto err;
9638574229e3ae Kent Overstreet 2019-10-02 140 }
9638574229e3ae Kent Overstreet 2019-10-02 141
9638574229e3ae Kent Overstreet 2019-10-02 142 if (acl) {
6fed42bb7750e2 Kent Overstreet 2021-03-16 143 ret = bch2_set_acl_trans(trans, new_inum, new_inode,
9638574229e3ae Kent Overstreet 2019-10-02 144 acl, ACL_TYPE_ACCESS);
9638574229e3ae Kent Overstreet 2019-10-02 145 if (ret)
8b53852d0a80ec Kent Overstreet 2020-02-18 146 goto err;
9638574229e3ae Kent Overstreet 2019-10-02 147 }
42d237320e9817 Kent Overstreet 2021-03-16 148 }
9638574229e3ae Kent Overstreet 2019-10-02 149
42d237320e9817 Kent Overstreet 2021-03-16 150 if (!(flags & BCH_CREATE_TMPFILE)) {
9638574229e3ae Kent Overstreet 2019-10-02 151 struct bch_hash_info dir_hash = bch2_hash_info_init(c, dir_u);
42d237320e9817 Kent Overstreet 2021-03-16 152 u64 dir_offset;
9638574229e3ae Kent Overstreet 2019-10-02 153
42d237320e9817 Kent Overstreet 2021-03-16 154 if (is_subdir_for_nlink(new_inode))
9638574229e3ae Kent Overstreet 2019-10-02 155 dir_u->bi_nlink++;
6fed42bb7750e2 Kent Overstreet 2021-03-16 156 dir_u->bi_mtime = dir_u->bi_ctime = now;
9638574229e3ae Kent Overstreet 2019-10-02 157
67e0dd8f0d8b4b Kent Overstreet 2021-08-30 158 ret = bch2_inode_write(trans, &dir_iter, dir_u);
9638574229e3ae Kent Overstreet 2019-10-02 159 if (ret)
8b53852d0a80ec Kent Overstreet 2020-02-18 160 goto err;
9638574229e3ae Kent Overstreet 2019-10-02 161
6fed42bb7750e2 Kent Overstreet 2021-03-16 162 ret = bch2_dirent_create(trans, dir, &dir_hash,
6fed42bb7750e2 Kent Overstreet 2021-03-16 163 dir_type,
6fed42bb7750e2 Kent Overstreet 2021-03-16 164 name,
6fed42bb7750e2 Kent Overstreet 2021-03-16 165 dir_target,
ab2a29ccffd0e9 Kent Overstreet 2021-03-02 166 &dir_offset,
ebcacf303ac177 Sasha Finkelstein 2024-08-18 167 STR_HASH_must_create|BTREE_ITER_with_updates);
9638574229e3ae Kent Overstreet 2019-10-02 168 if (ret)
8b53852d0a80ec Kent Overstreet 2020-02-18 169 goto err;
ab2a29ccffd0e9 Kent Overstreet 2021-03-02 170
ab2a29ccffd0e9 Kent Overstreet 2021-03-02 171 new_inode->bi_dir = dir_u->bi_inum;
ab2a29ccffd0e9 Kent Overstreet 2021-03-02 172 new_inode->bi_dir_offset = dir_offset;
ab2a29ccffd0e9 Kent Overstreet 2021-03-02 173 }
ab2a29ccffd0e9 Kent Overstreet 2021-03-02 174
5dd8c60e1e0448 Kent Overstreet 2024-04-07 175 inode_iter.flags &= ~BTREE_ITER_all_snapshots;
6fed42bb7750e2 Kent Overstreet 2021-03-16 176 bch2_btree_iter_set_snapshot(&inode_iter, snapshot);
e6ae27272491af Kent Overstreet 2021-03-15 177
67e0dd8f0d8b4b Kent Overstreet 2021-08-30 178 ret = bch2_btree_iter_traverse(&inode_iter) ?:
67e0dd8f0d8b4b Kent Overstreet 2021-08-30 179 bch2_inode_write(trans, &inode_iter, new_inode);
8b53852d0a80ec Kent Overstreet 2020-02-18 180 err:
67e0dd8f0d8b4b Kent Overstreet 2021-08-30 181 bch2_trans_iter_exit(trans, &inode_iter);
67e0dd8f0d8b4b Kent Overstreet 2021-08-30 182 bch2_trans_iter_exit(trans, &dir_iter);
8b53852d0a80ec Kent Overstreet 2020-02-18 183 return ret;
9638574229e3ae Kent Overstreet 2019-10-02 184 }
9638574229e3ae Kent Overstreet 2019-10-02 185
:::::: The code at line 46 was first introduced by commit
:::::: ebcacf303ac1773a9927e482b8ee47a925718db4 bcachefs: Hook up RENAME_WHITEOUT in rename.
:::::: TO: Sasha Finkelstein <fnkl.kernel@gmail.com>
:::::: CC: Kent Overstreet <kent.overstreet@linux.dev>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2024-09-09 19:27 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=202409100357.VBtMBhOT-lkp@intel.com \
--to=lkp@intel.com \
--cc=kent.overstreet@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.