Re: [PATCH 05/11] ubifs: Rename whiteout atomically
From: kernel test robot
Date: Mon Oct 25 2021 - 10:58:24 EST
Hi Zhihao,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linux/master]
[also build test WARNING on linus/master rw-ubifs/next v5.15-rc6 next-20211025]
[cannot apply to rw-ubifs/fixes]
[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]
url: https://github.com/0day-ci/linux/commits/Zhihao-Cheng/Some-bugfixs-for-ubifs-ubi/20211025-113114
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2f111a6fd5b5297b4e92f53798ca086f7c7d33a4
config: i386-randconfig-a006-20211025 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project a461fa64bb37cffd73f683c74f6b0780379fc2ca)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/8a6ca5bc1be93cca9c7b0167a71bdd338f854600
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Zhihao-Cheng/Some-bugfixs-for-ubifs-ubi/20211025-113114
git checkout 8a6ca5bc1be93cca9c7b0167a71bdd338f854600
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All warnings (new ones prefixed by >>):
>> fs/ubifs/dir.c:357:22: warning: variable 'ui' set but not used [-Wunused-but-set-variable]
struct ubifs_inode *ui;
^
1 warning generated.
vim +/ui +357 fs/ubifs/dir.c
351
352 static struct inode *create_whiteout(struct inode *dir, struct dentry *dentry,
353 umode_t mode)
354 {
355 int err;
356 struct inode *inode;
> 357 struct ubifs_inode *ui;
358 struct ubifs_info *c = dir->i_sb->s_fs_info;
359 struct fscrypt_name nm;
360
361 /*
362 * Create an inode('nlink = 1') for whiteout without updating journal,
363 * let ubifs_jnl_rename() store it on flash to complete rename whiteout
364 * atomically.
365 */
366
367 dbg_gen("dent '%pd', mode %#hx in dir ino %lu",
368 dentry, mode, dir->i_ino);
369
370 err = fscrypt_setup_filename(dir, &dentry->d_name, 0, &nm);
371 if (err)
372 return ERR_PTR(err);
373
374 inode = ubifs_new_inode(c, dir, mode);
375 if (IS_ERR(inode)) {
376 err = PTR_ERR(inode);
377 goto out_free;
378 }
379 ui = ubifs_inode(inode);
380
381 init_special_inode(inode, inode->i_mode, WHITEOUT_DEV);
382 ubifs_assert(c, inode->i_op == &ubifs_file_inode_operations);
383
384 err = ubifs_init_security(dir, inode, &dentry->d_name);
385 if (err)
386 goto out_inode;
387
388 /* The dir size is updated by do_rename. */
389 insert_inode_hash(inode);
390
391 return inode;
392
393 out_inode:
394 make_bad_inode(inode);
395 iput(inode);
396 out_free:
397 fscrypt_free_filename(&nm);
398 ubifs_err(c, "cannot create whiteout file, error %d", err);
399 return ERR_PTR(err);
400 }
401
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip