* Re: [PATCH V8 05/10] famfs_fuse: GET_DAXDEV message and daxdev_table
[not found] <0100019d06402f14-3a614309-878f-4837-be72-e36fd75d74f6-000000@email.amazonses.com>
@ 2026-03-20 13:02 ` kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-03-20 13:02 UTC (permalink / raw)
To: John Groves, John Groves, Miklos Szeredi, Dan Williams,
Bernd Schubert, Alison Schofield
Cc: llvm, oe-kbuild-all, Jonathan Corbet, Shuah Khan, Vishal Verma,
Dave Jiang, Matthew Wilcox, Jan Kara, Alexander Viro,
David Hildenbrand, Christian Brauner, Darrick J . Wong,
Randy Dunlap, Jeff Layton, Amir Goldstein, Jonathan Cameron,
Stefan Hajnoczi, Joanne Koong, Josef Bacik, Bagas Sanjaya,
Chen Linxuan, James Morse, Fuad Tabba, Sean Christopherson,
Shivank Garg, Ackerley Tng, Gregory Price
Hi John,
kernel test robot noticed the following build errors:
[auto build test ERROR on mszeredi-fuse/for-next]
[also build test ERROR on brauner-vfs/vfs.all linus/master v7.0-rc4 next-20260319]
[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/John-Groves/famfs_fuse-Basic-fuse-kernel-ABI-enablement-for-famfs/20260320-152719
base: https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-next
patch link: https://lore.kernel.org/r/0100019d06402f14-3a614309-878f-4837-be72-e36fd75d74f6-000000%40email.amazonses.com
patch subject: [PATCH V8 05/10] famfs_fuse: GET_DAXDEV message and daxdev_table
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20260320/202603201310.TAKgF3KT-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260320/202603201310.TAKgF3KT-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/202603201310.TAKgF3KT-lkp@intel.com/
All errors (new ones prefixed by >>):
>> fs/fuse/famfs.c:163:18: error: call to undeclared function 'dax_dev_get'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
163 | daxdev->devp = dax_dev_get(daxdev->devno);
| ^
>> fs/fuse/famfs.c:163:16: error: incompatible integer to pointer conversion assigning to 'struct dax_device *' from 'int' [-Wint-conversion]
163 | daxdev->devp = dax_dev_get(daxdev->devno);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
vim +/dax_dev_get +163 fs/fuse/famfs.c
90
91 /**
92 * famfs_fuse_get_daxdev() - Retrieve info for a DAX device from fuse server
93 *
94 * Send a GET_DAXDEV message to the fuse server to retrieve info on a
95 * dax device.
96 *
97 * @fm: fuse_mount
98 * @index: the index of the dax device; daxdevs are referred to by index
99 * in fmaps, and the server resolves the index to a particular daxdev
100 *
101 * Returns: 0=success
102 * -errno=failure
103 */
104 static int
105 famfs_fuse_get_daxdev(struct fuse_mount *fm, const u64 index)
106 {
107 struct fuse_daxdev_out daxdev_out = { 0 };
108 struct fuse_conn *fc = fm->fc;
109 struct famfs_daxdev *daxdev;
110 int rc;
111
112 FUSE_ARGS(args);
113
114 /* Store the daxdev in our table */
115 if (index >= fc->dax_devlist->nslots) {
116 pr_err("%s: index(%lld) > nslots(%d)\n",
117 __func__, index, fc->dax_devlist->nslots);
118 return -EINVAL;
119 }
120
121 args.opcode = FUSE_GET_DAXDEV;
122 args.nodeid = index;
123
124 args.in_numargs = 0;
125
126 args.out_numargs = 1;
127 args.out_args[0].size = sizeof(daxdev_out);
128 args.out_args[0].value = &daxdev_out;
129
130 /* Send GET_DAXDEV command */
131 rc = fuse_simple_request(fm, &args);
132 if (rc) {
133 pr_err("%s: rc=%d from fuse_simple_request()\n",
134 __func__, rc);
135 /* Error will be that the payload is smaller than FMAP_BUFSIZE,
136 * which is the max we can handle. Empty payload handled below.
137 */
138 return rc;
139 }
140
141 scoped_guard(rwsem_write, &fc->famfs_devlist_sem) {
142 daxdev = &fc->dax_devlist->devlist[index];
143
144 /* Abort if daxdev is now valid (races are possible here) */
145 if (daxdev->valid) {
146 pr_debug("%s: daxdev already known\n", __func__);
147 return 0;
148 }
149
150 /* Verify dev is valid and can be opened and gets the devno */
151 rc = famfs_verify_daxdev(daxdev_out.name, &daxdev->devno);
152 if (rc) {
153 pr_err("%s: rc=%d from famfs_verify_daxdev()\n",
154 __func__, rc);
155 return rc;
156 }
157
158 daxdev->name = kstrdup(daxdev_out.name, GFP_KERNEL);
159 if (!daxdev->name)
160 return -ENOMEM;
161
162 /* This will fail if it's not a dax device */
> 163 daxdev->devp = dax_dev_get(daxdev->devno);
164 if (!daxdev->devp) {
165 pr_warn("%s: device %s not found or not dax\n",
166 __func__, daxdev_out.name);
167 kfree(daxdev->name);
168 daxdev->name = NULL;
169 return -ENODEV;
170 }
171
172 wmb(); /* All other fields must be visible before valid */
173 daxdev->valid = 1;
174 }
175
176 return 0;
177 }
178
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread