All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [djwong-xfs:reserve-rt-metadata-space 153/219] fs/xfs/scrub/repair.c:1819:15: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'.
Date: Mon, 21 Dec 2020 17:20:40 +0800	[thread overview]
Message-ID: <202012211734.f3dM2IJe-lkp@intel.com> (raw)

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

CC: kbuild-all(a)lists.01.org
CC: "Darrick J. Wong" <darrick.wong@oracle.com>
TO: "Darrick J. Wong" <darrick.wong@oracle.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git reserve-rt-metadata-space
head:   207e1ccd65605924e87691251452a581587d26d2
commit: 2abf21a89e265202ca879cbca962109544b3a557 [153/219] xfs: move orphan files to the orphanage
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

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


"cppcheck warnings: (new ones prefixed by >>)"
>> fs/xfs/scrub/repair.c:1819:15: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint]
     xname.len = snprintf(fname, sizeof(fname), "%llu.%d",
                 ^
   fs/xfs/scrub/repair.c:270:6: warning: Uninitialized variable: freelen [uninitvar]
        freelen >= aglen) {
        ^

vim +1819 fs/xfs/scrub/repair.c

2abf21a89e26520 Darrick J. Wong 2020-11-17  1782  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1783  /*
2abf21a89e26520 Darrick J. Wong 2020-11-17  1784   * Move the current file to the orphanage.  The caller must not hold any locks
2abf21a89e26520 Darrick J. Wong 2020-11-17  1785   * on the orphanage and must not hold the ILOCK on sc->ip.  sc->ip and
2abf21a89e26520 Darrick J. Wong 2020-11-17  1786   * sc->orphanage must not be joined to the transaction.  The function returns
2abf21a89e26520 Darrick J. Wong 2020-11-17  1787   * with both inodes joined, ILOCKed, and dirty.
2abf21a89e26520 Darrick J. Wong 2020-11-17  1788   */
2abf21a89e26520 Darrick J. Wong 2020-11-17  1789  int
2abf21a89e26520 Darrick J. Wong 2020-11-17  1790  xrep_move_to_orphanage(
2abf21a89e26520 Darrick J. Wong 2020-11-17  1791  	struct xfs_scrub	*sc)
2abf21a89e26520 Darrick J. Wong 2020-11-17  1792  {
2abf21a89e26520 Darrick J. Wong 2020-11-17  1793  	struct xfs_name		xname;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1794  	unsigned char		fname[MAXNAMELEN + 1];
2abf21a89e26520 Darrick J. Wong 2020-11-17  1795  	struct xfs_inode	*dp = sc->orphanage;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1796  	struct xfs_mount	*mp = sc->mp;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1797  	xfs_ino_t		ino;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1798  	unsigned int		incr = 0;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1799  	unsigned int		linkres, dotdotres;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1800  	int			error;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1801  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1802  	/* No orphanage?  We can't fix this. */
2abf21a89e26520 Darrick J. Wong 2020-11-17  1803  	if (!sc->orphanage)
2abf21a89e26520 Darrick J. Wong 2020-11-17  1804  		return -EFSCORRUPTED;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1805  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1806  	/* Try to grab the IOLOCK on the orphanage. */
2abf21a89e26520 Darrick J. Wong 2020-11-17  1807  	error = xchk_ilock_inverted(sc->orphanage, XFS_IOLOCK_EXCL);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1808  	if (error)
2abf21a89e26520 Darrick J. Wong 2020-11-17  1809  		return error;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1810  	sc->orphanage_ilock_flags |= XFS_IOLOCK_EXCL;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1811  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1812  	xname.name = fname;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1813  	xname.len = snprintf(fname, sizeof(fname), "%llu", sc->ip->i_ino);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1814  	xname.type = xfs_mode_to_ftype(VFS_I(sc->ip)->i_mode);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1815  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1816  	/* Make sure the filename is unique in the lost+found. */
2abf21a89e26520 Darrick J. Wong 2020-11-17  1817  	error = xfs_dir_lookup(sc->tp, dp, &xname, &ino, NULL);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1818  	while (error == 0 && incr < 10000) {
2abf21a89e26520 Darrick J. Wong 2020-11-17 @1819  		xname.len = snprintf(fname, sizeof(fname), "%llu.%d",
2abf21a89e26520 Darrick J. Wong 2020-11-17  1820  				sc->ip->i_ino, ++incr);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1821  		error = xfs_dir_lookup(sc->tp, dp, &xname, &ino, NULL);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1822  	}
2abf21a89e26520 Darrick J. Wong 2020-11-17  1823  	if (error == 0) {
2abf21a89e26520 Darrick J. Wong 2020-11-17  1824  		/* We already have 10,000 entries in the orphanage? */
2abf21a89e26520 Darrick J. Wong 2020-11-17  1825  		return -EFSCORRUPTED;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1826  	}
2abf21a89e26520 Darrick J. Wong 2020-11-17  1827  	if (error != -ENOENT)
2abf21a89e26520 Darrick J. Wong 2020-11-17  1828  		return error;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1829  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1830  	trace_xrep_move_orphanage(sc->ip, &xname, dp->i_ino);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1831  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1832  	/*
2abf21a89e26520 Darrick J. Wong 2020-11-17  1833  	 * Reserve enough space to add a directory entry to the orphanage and
2abf21a89e26520 Darrick J. Wong 2020-11-17  1834  	 * update the dotdot entry.
2abf21a89e26520 Darrick J. Wong 2020-11-17  1835  	 */
2abf21a89e26520 Darrick J. Wong 2020-11-17  1836  	linkres = XFS_LINK_SPACE_RES(mp, xname.len);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1837  	dotdotres = XFS_RENAME_SPACE_RES(mp, 2);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1838  	error = xfs_trans_reserve_more(sc->tp, linkres + dotdotres, 0);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1839  	if (error)
2abf21a89e26520 Darrick J. Wong 2020-11-17  1840  		return error;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1841  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1842  	xfs_lock_two_inodes(dp, XFS_ILOCK_EXCL, sc->ip, XFS_ILOCK_EXCL);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1843  	sc->ilock_flags |= XFS_ILOCK_EXCL;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1844  	sc->orphanage_ilock_flags |= XFS_ILOCK_EXCL;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1845  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1846  	xfs_trans_ijoin(sc->tp, dp, 0);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1847  	xfs_trans_ijoin(sc->tp, sc->ip, 0);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1848  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1849  	/*
2abf21a89e26520 Darrick J. Wong 2020-11-17  1850  	 * Create the new name in the orphanage, and bump the link count of
2abf21a89e26520 Darrick J. Wong 2020-11-17  1851  	 * the orphanage if we just added a directory.
2abf21a89e26520 Darrick J. Wong 2020-11-17  1852  	 */
2abf21a89e26520 Darrick J. Wong 2020-11-17  1853  	error = xfs_dir_createname(sc->tp, dp, &xname, sc->ip->i_ino,
2abf21a89e26520 Darrick J. Wong 2020-11-17  1854  			linkres);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1855  	if (error)
2abf21a89e26520 Darrick J. Wong 2020-11-17  1856  		return error;
2abf21a89e26520 Darrick J. Wong 2020-11-17  1857  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1858  	xfs_trans_ichgtime(sc->tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1859  	if (S_ISDIR(VFS_I(sc->ip)->i_mode))
2abf21a89e26520 Darrick J. Wong 2020-11-17  1860  		xfs_bumplink(sc->tp, dp);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1861  	xfs_trans_log_inode(sc->tp, dp, XFS_ILOG_CORE);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1862  
2abf21a89e26520 Darrick J. Wong 2020-11-17  1863  	/* Replace the dotdot entry. */
2abf21a89e26520 Darrick J. Wong 2020-11-17  1864  	return xfs_dir_replace(sc->tp, sc->ip, &xfs_name_dotdot, dp->i_ino,
2abf21a89e26520 Darrick J. Wong 2020-11-17  1865  			dotdotres);
2abf21a89e26520 Darrick J. Wong 2020-11-17  1866  }
2abf21a89e26520 Darrick J. Wong 2020-11-17  1867  

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

             reply	other threads:[~2020-12-21  9:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-21  9:20 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-12-21  7:35 [djwong-xfs:reserve-rt-metadata-space 153/219] fs/xfs/scrub/repair.c:1819:15: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int' kernel test robot
2020-12-21  0:20 kernel test robot
2020-12-19 15:59 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=202012211734.f3dM2IJe-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.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.