All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Filipe Manana <fdmanana@suse.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	David Sterba <dsterba@suse.com>,
	linux-doc@vger.kernel.org
Subject: [kdave-btrfs-devel:misc-next 149/153] fs/btrfs/tree-log.c:6755: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
Date: Wed, 26 Jan 2022 07:12:14 +0800	[thread overview]
Message-ID: <202201260759.edlA9lHT-lkp@intel.com> (raw)

tree:   https://github.com/kdave/btrfs-devel.git misc-next
head:   8e5d6a5c062f370d4d0b2dace7e95ab40c6ce3dd
commit: 6bfc5d45946acd8286fb026137f20ee8747a50f1 [149/153] btrfs: pass the dentry to btrfs_log_new_name() instead of the inode
config: nds32-allyesconfig (https://download.01.org/0day-ci/archive/20220126/202201260759.edlA9lHT-lkp@intel.com/config)
compiler: nds32le-linux-gcc (GCC) 11.2.0
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/kdave/btrfs-devel/commit/6bfc5d45946acd8286fb026137f20ee8747a50f1
        git remote add kdave-btrfs-devel https://github.com/kdave/btrfs-devel.git
        git fetch --no-tags kdave-btrfs-devel misc-next
        git checkout 6bfc5d45946acd8286fb026137f20ee8747a50f1
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nds32 SHELL=/bin/bash fs/btrfs/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> fs/btrfs/tree-log.c:6755: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Update the log after adding a new name for an inode.


vim +6755 fs/btrfs/tree-log.c

  6753	
  6754	/**
> 6755	 * Update the log after adding a new name for an inode.
  6756	 *
  6757	 * @trans:              Transaction handle.
  6758	 * @old_dentry:         The dentry associated with the old name and the old
  6759	 *                      parent directory.
  6760	 * @old_dir:            The inode of the previous parent directory for the case
  6761	 *                      of a rename. For a link operation, it must be NULL.
  6762	 * @parent:             The dentry associated with the directory under which the
  6763	 *                      new name is located.
  6764	 *
  6765	 * Call this after adding a new name for an inode, as a result of a link or
  6766	 * rename operation, and it will properly update the log to reflect the new name.
  6767	 */
  6768	void btrfs_log_new_name(struct btrfs_trans_handle *trans,
  6769				struct dentry *old_dentry, struct btrfs_inode *old_dir,
  6770				struct dentry *parent)
  6771	{
  6772		struct btrfs_inode *inode = BTRFS_I(d_inode(old_dentry));
  6773		struct btrfs_log_ctx ctx;
  6774	
  6775		/*
  6776		 * this will force the logging code to walk the dentry chain
  6777		 * up for the file
  6778		 */
  6779		if (!S_ISDIR(inode->vfs_inode.i_mode))
  6780			inode->last_unlink_trans = trans->transid;
  6781	
  6782		/*
  6783		 * if this inode hasn't been logged and directory we're renaming it
  6784		 * from hasn't been logged, we don't need to log it
  6785		 */
  6786		if (!inode_logged(trans, inode) &&
  6787		    (!old_dir || !inode_logged(trans, old_dir)))
  6788			return;
  6789	
  6790		/*
  6791		 * If we are doing a rename (old_dir is not NULL) from a directory that
  6792		 * was previously logged, make sure the next log attempt on the directory
  6793		 * is not skipped and logs the inode again. This is because the log may
  6794		 * not currently be authoritative for a range including the old
  6795		 * BTRFS_DIR_INDEX_KEY key, so we want to make sure after a log replay we
  6796		 * do not end up with both the new and old dentries around (in case the
  6797		 * inode is a directory we would have a directory with two hard links and
  6798		 * 2 inode references for different parents). The next log attempt of
  6799		 * old_dir will happen at btrfs_log_all_parents(), called through
  6800		 * btrfs_log_inode_parent() below, because we have previously set
  6801		 * inode->last_unlink_trans to the current transaction ID, either here or
  6802		 * at btrfs_record_unlink_dir() in case the inode is a directory.
  6803		 */
  6804		if (old_dir)
  6805			old_dir->logged_trans = 0;
  6806	
  6807		btrfs_init_log_ctx(&ctx, &inode->vfs_inode);
  6808		ctx.logging_new_name = true;
  6809		/*
  6810		 * We don't care about the return value. If we fail to log the new name
  6811		 * then we know the next attempt to sync the log will fallback to a full
  6812		 * transaction commit (due to a call to btrfs_set_log_full_commit()), so
  6813		 * we don't need to worry about getting a log committed that has an
  6814		 * inconsistent state after a rename operation.
  6815		 */
  6816		btrfs_log_inode_parent(trans, inode, parent, LOG_INODE_EXISTS, &ctx);
  6817	}
  6818	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [kdave-btrfs-devel:misc-next 149/153] fs/btrfs/tree-log.c:6755: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
Date: Wed, 26 Jan 2022 07:12:14 +0800	[thread overview]
Message-ID: <202201260759.edlA9lHT-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4844 bytes --]

tree:   https://github.com/kdave/btrfs-devel.git misc-next
head:   8e5d6a5c062f370d4d0b2dace7e95ab40c6ce3dd
commit: 6bfc5d45946acd8286fb026137f20ee8747a50f1 [149/153] btrfs: pass the dentry to btrfs_log_new_name() instead of the inode
config: nds32-allyesconfig (https://download.01.org/0day-ci/archive/20220126/202201260759.edlA9lHT-lkp(a)intel.com/config)
compiler: nds32le-linux-gcc (GCC) 11.2.0
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/kdave/btrfs-devel/commit/6bfc5d45946acd8286fb026137f20ee8747a50f1
        git remote add kdave-btrfs-devel https://github.com/kdave/btrfs-devel.git
        git fetch --no-tags kdave-btrfs-devel misc-next
        git checkout 6bfc5d45946acd8286fb026137f20ee8747a50f1
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nds32 SHELL=/bin/bash fs/btrfs/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> fs/btrfs/tree-log.c:6755: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Update the log after adding a new name for an inode.


vim +6755 fs/btrfs/tree-log.c

  6753	
  6754	/**
> 6755	 * Update the log after adding a new name for an inode.
  6756	 *
  6757	 * @trans:              Transaction handle.
  6758	 * @old_dentry:         The dentry associated with the old name and the old
  6759	 *                      parent directory.
  6760	 * @old_dir:            The inode of the previous parent directory for the case
  6761	 *                      of a rename. For a link operation, it must be NULL.
  6762	 * @parent:             The dentry associated with the directory under which the
  6763	 *                      new name is located.
  6764	 *
  6765	 * Call this after adding a new name for an inode, as a result of a link or
  6766	 * rename operation, and it will properly update the log to reflect the new name.
  6767	 */
  6768	void btrfs_log_new_name(struct btrfs_trans_handle *trans,
  6769				struct dentry *old_dentry, struct btrfs_inode *old_dir,
  6770				struct dentry *parent)
  6771	{
  6772		struct btrfs_inode *inode = BTRFS_I(d_inode(old_dentry));
  6773		struct btrfs_log_ctx ctx;
  6774	
  6775		/*
  6776		 * this will force the logging code to walk the dentry chain
  6777		 * up for the file
  6778		 */
  6779		if (!S_ISDIR(inode->vfs_inode.i_mode))
  6780			inode->last_unlink_trans = trans->transid;
  6781	
  6782		/*
  6783		 * if this inode hasn't been logged and directory we're renaming it
  6784		 * from hasn't been logged, we don't need to log it
  6785		 */
  6786		if (!inode_logged(trans, inode) &&
  6787		    (!old_dir || !inode_logged(trans, old_dir)))
  6788			return;
  6789	
  6790		/*
  6791		 * If we are doing a rename (old_dir is not NULL) from a directory that
  6792		 * was previously logged, make sure the next log attempt on the directory
  6793		 * is not skipped and logs the inode again. This is because the log may
  6794		 * not currently be authoritative for a range including the old
  6795		 * BTRFS_DIR_INDEX_KEY key, so we want to make sure after a log replay we
  6796		 * do not end up with both the new and old dentries around (in case the
  6797		 * inode is a directory we would have a directory with two hard links and
  6798		 * 2 inode references for different parents). The next log attempt of
  6799		 * old_dir will happen at btrfs_log_all_parents(), called through
  6800		 * btrfs_log_inode_parent() below, because we have previously set
  6801		 * inode->last_unlink_trans to the current transaction ID, either here or
  6802		 * at btrfs_record_unlink_dir() in case the inode is a directory.
  6803		 */
  6804		if (old_dir)
  6805			old_dir->logged_trans = 0;
  6806	
  6807		btrfs_init_log_ctx(&ctx, &inode->vfs_inode);
  6808		ctx.logging_new_name = true;
  6809		/*
  6810		 * We don't care about the return value. If we fail to log the new name
  6811		 * then we know the next attempt to sync the log will fallback to a full
  6812		 * transaction commit (due to a call to btrfs_set_log_full_commit()), so
  6813		 * we don't need to worry about getting a log committed that has an
  6814		 * inconsistent state after a rename operation.
  6815		 */
  6816		btrfs_log_inode_parent(trans, inode, parent, LOG_INODE_EXISTS, &ctx);
  6817	}
  6818	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

             reply	other threads:[~2022-01-25 23:12 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-25 23:12 kernel test robot [this message]
2022-01-25 23:12 ` [kdave-btrfs-devel:misc-next 149/153] fs/btrfs/tree-log.c:6755: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst kernel test robot
2022-01-26 10:31 ` Filipe Manana
2022-01-26 10:31   ` Filipe Manana
2022-01-26 12:43   ` David Sterba
2022-01-26 12:43     ` David Sterba

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=202201260759.edlA9lHT-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dsterba@suse.com \
    --cc=fdmanana@suse.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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.