All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	"Darrick J. Wong" <darrick.wong@oracle.com>,
	linux-kernel@vger.kernel.org
Subject: [djwong-xfs:repair-symlink-swapext 321/325] fs/xfs/libxfs/xfs_symlink_remote.c:26:1: warning: no previous prototype for function 'xfs_symlink_blocks'
Date: Thu, 16 Dec 2021 14:54:58 +0800	[thread overview]
Message-ID: <202112161445.FSm8Pr8b-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git repair-symlink-swapext
head:   851df07d9599471df909c4ff0e3cf33f4b9619f0
commit: 515b3743bd3bfc67a91b56942181662cf55293ad [321/325] xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h
config: riscv-randconfig-r042-20211216 (https://download.01.org/0day-ci/archive/20211216/202112161445.FSm8Pr8b-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=515b3743bd3bfc67a91b56942181662cf55293ad
        git remote add djwong-xfs https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
        git fetch --no-tags djwong-xfs repair-symlink-swapext
        git checkout 515b3743bd3bfc67a91b56942181662cf55293ad
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash fs/xfs/

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/xfs/libxfs/xfs_symlink_remote.c:26:1: warning: no previous prototype for function 'xfs_symlink_blocks' [-Wmissing-prototypes]
   xfs_symlink_blocks(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:25:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int
   ^
   static 
>> fs/xfs/libxfs/xfs_symlink_remote.c:36:1: warning: no previous prototype for function 'xfs_symlink_hdr_set' [-Wmissing-prototypes]
   xfs_symlink_hdr_set(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:35:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int
   ^
   static 
>> fs/xfs/libxfs/xfs_symlink_remote.c:66:1: warning: no previous prototype for function 'xfs_symlink_hdr_ok' [-Wmissing-prototypes]
   xfs_symlink_hdr_ok(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:65:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   bool
   ^
   static 
>> fs/xfs/libxfs/xfs_symlink_remote.c:165:1: warning: no previous prototype for function 'xfs_symlink_local_to_remote' [-Wmissing-prototypes]
   xfs_symlink_local_to_remote(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:164:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void
   ^
   static 
>> fs/xfs/libxfs/xfs_symlink_remote.c:204:1: warning: no previous prototype for function 'xfs_symlink_shortform_verify' [-Wmissing-prototypes]
   xfs_symlink_shortform_verify(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:203:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   xfs_failaddr_t
   ^
   static 
   5 warnings generated.


vim +/xfs_symlink_blocks +26 fs/xfs/libxfs/xfs_symlink_remote.c

1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   19  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   20  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   21  /*
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   22   * Each contiguous block has a header, so it is not just a simple pathlen
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   23   * to FSB conversion.
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   24   */
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   25  int
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  @26  xfs_symlink_blocks(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   27  	struct xfs_mount *mp,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   28  	int		pathlen)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   29  {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   30  	int buflen = XFS_SYMLINK_BUF_SPACE(mp, mp->m_sb.sb_blocksize);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   31  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   32  	return (pathlen + buflen - 1) / buflen;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   33  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   34  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   35  int
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  @36  xfs_symlink_hdr_set(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   37  	struct xfs_mount	*mp,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   38  	xfs_ino_t		ino,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   39  	uint32_t		offset,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   40  	uint32_t		size,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   41  	struct xfs_buf		*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   42  {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   43  	struct xfs_dsymlink_hdr	*dsl = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   44  
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18   45  	if (!xfs_has_crc(mp))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   46  		return 0;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   47  
a45086e27dfa21 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12   48  	memset(dsl, 0, sizeof(struct xfs_dsymlink_hdr));
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   49  	dsl->sl_magic = cpu_to_be32(XFS_SYMLINK_MAGIC);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   50  	dsl->sl_offset = cpu_to_be32(offset);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   51  	dsl->sl_bytes = cpu_to_be32(size);
ce748eaa65f2e9 fs/xfs/libxfs/xfs_symlink_remote.c Eric Sandeen      2015-07-29   52  	uuid_copy(&dsl->sl_uuid, &mp->m_sb.sb_meta_uuid);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   53  	dsl->sl_owner = cpu_to_be64(ino);
9343ee76909e3f fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18   54  	dsl->sl_blkno = cpu_to_be64(xfs_buf_daddr(bp));
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   55  	bp->b_ops = &xfs_symlink_buf_ops;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   56  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   57  	return sizeof(struct xfs_dsymlink_hdr);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   58  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   59  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   60  /*
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   61   * Checking of the symlink header is split into two parts. the verifier does
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   62   * CRC, location and bounds checking, the unpacking function checks the path
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   63   * parameters and owner.
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   64   */
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   65  bool
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  @66  xfs_symlink_hdr_ok(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   67  	xfs_ino_t		ino,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   68  	uint32_t		offset,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   69  	uint32_t		size,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   70  	struct xfs_buf		*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   71  {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   72  	struct xfs_dsymlink_hdr *dsl = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   73  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   74  	if (offset != be32_to_cpu(dsl->sl_offset))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   75  		return false;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   76  	if (size != be32_to_cpu(dsl->sl_bytes))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   77  		return false;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   78  	if (ino != be64_to_cpu(dsl->sl_owner))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   79  		return false;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   80  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   81  	/* ok */
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   82  	return true;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   83  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   84  
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   85  static xfs_failaddr_t
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   86  xfs_symlink_verify(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   87  	struct xfs_buf		*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   88  {
dbd329f1e44ed4 fs/xfs/libxfs/xfs_symlink_remote.c Christoph Hellwig 2019-06-28   89  	struct xfs_mount	*mp = bp->b_mount;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   90  	struct xfs_dsymlink_hdr	*dsl = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   91  
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18   92  	if (!xfs_has_crc(mp))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   93  		return __this_address;
39708c20ab5133 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2019-02-07   94  	if (!xfs_verify_magic(bp, dsl->sl_magic))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   95  		return __this_address;
ce748eaa65f2e9 fs/xfs/libxfs/xfs_symlink_remote.c Eric Sandeen      2015-07-29   96  	if (!uuid_equal(&dsl->sl_uuid, &mp->m_sb.sb_meta_uuid))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   97  		return __this_address;
9343ee76909e3f fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18   98  	if (xfs_buf_daddr(bp) != be64_to_cpu(dsl->sl_blkno))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   99  		return __this_address;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  100  	if (be32_to_cpu(dsl->sl_offset) +
6eb0b8df9f74f3 fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2017-07-07  101  				be32_to_cpu(dsl->sl_bytes) >= XFS_SYMLINK_MAXLEN)
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  102  		return __this_address;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  103  	if (dsl->sl_owner == 0)
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  104  		return __this_address;
a45086e27dfa21 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12  105  	if (!xfs_log_check_lsn(mp, be64_to_cpu(dsl->sl_lsn)))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  106  		return __this_address;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  107  
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  108  	return NULL;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  109  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  110  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  111  static void
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  112  xfs_symlink_read_verify(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  113  	struct xfs_buf	*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  114  {
dbd329f1e44ed4 fs/xfs/libxfs/xfs_symlink_remote.c Christoph Hellwig 2019-06-28  115  	struct xfs_mount *mp = bp->b_mount;
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  116  	xfs_failaddr_t	fa;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  117  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  118  	/* no verification of non-crc buffers */
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18  119  	if (!xfs_has_crc(mp))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  120  		return;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  121  
ce5028cfe3ca48 fs/xfs/xfs_symlink_remote.c        Eric Sandeen      2014-02-27  122  	if (!xfs_buf_verify_cksum(bp, XFS_SYMLINK_CRC_OFF))
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  123  		xfs_verifier_error(bp, -EFSBADCRC, __this_address);
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  124  	else {
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  125  		fa = xfs_symlink_verify(bp);
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  126  		if (fa)
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  127  			xfs_verifier_error(bp, -EFSCORRUPTED, fa);
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  128  	}
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  129  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  130  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  131  static void
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  132  xfs_symlink_write_verify(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  133  	struct xfs_buf	*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  134  {
dbd329f1e44ed4 fs/xfs/libxfs/xfs_symlink_remote.c Christoph Hellwig 2019-06-28  135  	struct xfs_mount *mp = bp->b_mount;
fb1755a645972e fs/xfs/libxfs/xfs_symlink_remote.c Carlos Maiolino   2018-01-24  136  	struct xfs_buf_log_item	*bip = bp->b_log_item;
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  137  	xfs_failaddr_t		fa;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  138  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  139  	/* no verification of non-crc buffers */
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18  140  	if (!xfs_has_crc(mp))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  141  		return;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  142  
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  143  	fa = xfs_symlink_verify(bp);
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  144  	if (fa) {
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  145  		xfs_verifier_error(bp, -EFSCORRUPTED, fa);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  146  		return;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  147  	}
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  148  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  149  	if (bip) {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  150  		struct xfs_dsymlink_hdr *dsl = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  151  		dsl->sl_lsn = cpu_to_be64(bip->bli_item.li_lsn);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  152  	}
f1dbcd7e38c80c fs/xfs/xfs_symlink_remote.c        Eric Sandeen      2014-02-27  153  	xfs_buf_update_cksum(bp, XFS_SYMLINK_CRC_OFF);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  154  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  155  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  156  const struct xfs_buf_ops xfs_symlink_buf_ops = {
233135b763db7c fs/xfs/libxfs/xfs_symlink_remote.c Eric Sandeen      2016-01-04  157  	.name = "xfs_symlink",
39708c20ab5133 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2019-02-07  158  	.magic = { 0, cpu_to_be32(XFS_SYMLINK_MAGIC) },
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  159  	.verify_read = xfs_symlink_read_verify,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  160  	.verify_write = xfs_symlink_write_verify,
b55725974c9d3a fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  161  	.verify_struct = xfs_symlink_verify,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  162  };
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  163  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  164  void
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12 @165  xfs_symlink_local_to_remote(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  166  	struct xfs_trans	*tp,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  167  	struct xfs_buf		*bp,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  168  	struct xfs_inode	*ip,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  169  	struct xfs_ifork	*ifp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  170  {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  171  	struct xfs_mount	*mp = ip->i_mount;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  172  	char			*buf;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  173  
fe22d552b82d7c fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2015-01-22  174  	xfs_trans_buf_set_type(tp, bp, XFS_BLFT_SYMLINK_BUF);
fe22d552b82d7c fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2015-01-22  175  
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18  176  	if (!xfs_has_crc(mp)) {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  177  		bp->b_ops = NULL;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  178  		memcpy(bp->b_addr, ifp->if_u1.if_data, ifp->if_bytes);
b7cdc66be54b64 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12  179  		xfs_trans_log_buf(tp, bp, 0, ifp->if_bytes - 1);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  180  		return;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  181  	}
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  182  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  183  	/*
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  184  	 * As this symlink fits in an inode literal area, it must also fit in
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  185  	 * the smallest buffer the filesystem supports.
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  186  	 */
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  187  	ASSERT(BBTOB(bp->b_length) >=
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  188  			ifp->if_bytes + sizeof(struct xfs_dsymlink_hdr));
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  189  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  190  	bp->b_ops = &xfs_symlink_buf_ops;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  191  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  192  	buf = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  193  	buf += xfs_symlink_hdr_set(mp, ip->i_ino, 0, ifp->if_bytes, bp);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  194  	memcpy(buf, ifp->if_u1.if_data, ifp->if_bytes);
b7cdc66be54b64 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12  195  	xfs_trans_log_buf(tp, bp, 0, sizeof(struct xfs_dsymlink_hdr) +
b7cdc66be54b64 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12  196  					ifp->if_bytes - 1);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  197  }
0795e004fd4f27 fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  198  
43feeea88c9cb2 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2018-12-12  199  /*
43feeea88c9cb2 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2018-12-12  200   * Verify the in-memory consistency of an inline symlink data fork. This
43feeea88c9cb2 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2018-12-12  201   * does not do on-disk format checks.
43feeea88c9cb2 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2018-12-12  202   */
0795e004fd4f27 fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  203  xfs_failaddr_t
0795e004fd4f27 fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08 @204  xfs_symlink_shortform_verify(

:::::: The code at line 26 was first introduced by commit
:::::: 1fb7e48db6810093012873a652062648ace6b5bb xfs: split out the remote symlink handling

:::::: TO: Dave Chinner <dchinner@redhat.com>
:::::: CC: Ben Myers <bpm@sgi.com>

---
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: [djwong-xfs:repair-symlink-swapext 321/325] fs/xfs/libxfs/xfs_symlink_remote.c:26:1: warning: no previous prototype for function 'xfs_symlink_blocks'
Date: Thu, 16 Dec 2021 14:54:58 +0800	[thread overview]
Message-ID: <202112161445.FSm8Pr8b-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git repair-symlink-swapext
head:   851df07d9599471df909c4ff0e3cf33f4b9619f0
commit: 515b3743bd3bfc67a91b56942181662cf55293ad [321/325] xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h
config: riscv-randconfig-r042-20211216 (https://download.01.org/0day-ci/archive/20211216/202112161445.FSm8Pr8b-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=515b3743bd3bfc67a91b56942181662cf55293ad
        git remote add djwong-xfs https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
        git fetch --no-tags djwong-xfs repair-symlink-swapext
        git checkout 515b3743bd3bfc67a91b56942181662cf55293ad
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash fs/xfs/

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/xfs/libxfs/xfs_symlink_remote.c:26:1: warning: no previous prototype for function 'xfs_symlink_blocks' [-Wmissing-prototypes]
   xfs_symlink_blocks(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:25:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int
   ^
   static 
>> fs/xfs/libxfs/xfs_symlink_remote.c:36:1: warning: no previous prototype for function 'xfs_symlink_hdr_set' [-Wmissing-prototypes]
   xfs_symlink_hdr_set(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:35:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int
   ^
   static 
>> fs/xfs/libxfs/xfs_symlink_remote.c:66:1: warning: no previous prototype for function 'xfs_symlink_hdr_ok' [-Wmissing-prototypes]
   xfs_symlink_hdr_ok(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:65:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   bool
   ^
   static 
>> fs/xfs/libxfs/xfs_symlink_remote.c:165:1: warning: no previous prototype for function 'xfs_symlink_local_to_remote' [-Wmissing-prototypes]
   xfs_symlink_local_to_remote(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:164:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void
   ^
   static 
>> fs/xfs/libxfs/xfs_symlink_remote.c:204:1: warning: no previous prototype for function 'xfs_symlink_shortform_verify' [-Wmissing-prototypes]
   xfs_symlink_shortform_verify(
   ^
   fs/xfs/libxfs/xfs_symlink_remote.c:203:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   xfs_failaddr_t
   ^
   static 
   5 warnings generated.


vim +/xfs_symlink_blocks +26 fs/xfs/libxfs/xfs_symlink_remote.c

1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   19  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   20  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   21  /*
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   22   * Each contiguous block has a header, so it is not just a simple pathlen
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   23   * to FSB conversion.
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   24   */
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   25  int
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  @26  xfs_symlink_blocks(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   27  	struct xfs_mount *mp,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   28  	int		pathlen)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   29  {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   30  	int buflen = XFS_SYMLINK_BUF_SPACE(mp, mp->m_sb.sb_blocksize);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   31  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   32  	return (pathlen + buflen - 1) / buflen;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   33  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   34  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   35  int
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  @36  xfs_symlink_hdr_set(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   37  	struct xfs_mount	*mp,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   38  	xfs_ino_t		ino,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   39  	uint32_t		offset,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   40  	uint32_t		size,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   41  	struct xfs_buf		*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   42  {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   43  	struct xfs_dsymlink_hdr	*dsl = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   44  
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18   45  	if (!xfs_has_crc(mp))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   46  		return 0;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   47  
a45086e27dfa21 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12   48  	memset(dsl, 0, sizeof(struct xfs_dsymlink_hdr));
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   49  	dsl->sl_magic = cpu_to_be32(XFS_SYMLINK_MAGIC);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   50  	dsl->sl_offset = cpu_to_be32(offset);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   51  	dsl->sl_bytes = cpu_to_be32(size);
ce748eaa65f2e9 fs/xfs/libxfs/xfs_symlink_remote.c Eric Sandeen      2015-07-29   52  	uuid_copy(&dsl->sl_uuid, &mp->m_sb.sb_meta_uuid);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   53  	dsl->sl_owner = cpu_to_be64(ino);
9343ee76909e3f fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18   54  	dsl->sl_blkno = cpu_to_be64(xfs_buf_daddr(bp));
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   55  	bp->b_ops = &xfs_symlink_buf_ops;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   56  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   57  	return sizeof(struct xfs_dsymlink_hdr);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   58  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   59  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   60  /*
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   61   * Checking of the symlink header is split into two parts. the verifier does
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   62   * CRC, location and bounds checking, the unpacking function checks the path
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   63   * parameters and owner.
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   64   */
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   65  bool
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  @66  xfs_symlink_hdr_ok(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   67  	xfs_ino_t		ino,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   68  	uint32_t		offset,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   69  	uint32_t		size,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   70  	struct xfs_buf		*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   71  {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   72  	struct xfs_dsymlink_hdr *dsl = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   73  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   74  	if (offset != be32_to_cpu(dsl->sl_offset))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   75  		return false;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   76  	if (size != be32_to_cpu(dsl->sl_bytes))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   77  		return false;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   78  	if (ino != be64_to_cpu(dsl->sl_owner))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   79  		return false;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   80  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   81  	/* ok */
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   82  	return true;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   83  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   84  
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   85  static xfs_failaddr_t
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   86  xfs_symlink_verify(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   87  	struct xfs_buf		*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   88  {
dbd329f1e44ed4 fs/xfs/libxfs/xfs_symlink_remote.c Christoph Hellwig 2019-06-28   89  	struct xfs_mount	*mp = bp->b_mount;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   90  	struct xfs_dsymlink_hdr	*dsl = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12   91  
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18   92  	if (!xfs_has_crc(mp))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   93  		return __this_address;
39708c20ab5133 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2019-02-07   94  	if (!xfs_verify_magic(bp, dsl->sl_magic))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   95  		return __this_address;
ce748eaa65f2e9 fs/xfs/libxfs/xfs_symlink_remote.c Eric Sandeen      2015-07-29   96  	if (!uuid_equal(&dsl->sl_uuid, &mp->m_sb.sb_meta_uuid))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   97  		return __this_address;
9343ee76909e3f fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18   98  	if (xfs_buf_daddr(bp) != be64_to_cpu(dsl->sl_blkno))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08   99  		return __this_address;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  100  	if (be32_to_cpu(dsl->sl_offset) +
6eb0b8df9f74f3 fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2017-07-07  101  				be32_to_cpu(dsl->sl_bytes) >= XFS_SYMLINK_MAXLEN)
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  102  		return __this_address;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  103  	if (dsl->sl_owner == 0)
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  104  		return __this_address;
a45086e27dfa21 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12  105  	if (!xfs_log_check_lsn(mp, be64_to_cpu(dsl->sl_lsn)))
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  106  		return __this_address;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  107  
a6a781a58befcb fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  108  	return NULL;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  109  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  110  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  111  static void
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  112  xfs_symlink_read_verify(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  113  	struct xfs_buf	*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  114  {
dbd329f1e44ed4 fs/xfs/libxfs/xfs_symlink_remote.c Christoph Hellwig 2019-06-28  115  	struct xfs_mount *mp = bp->b_mount;
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  116  	xfs_failaddr_t	fa;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  117  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  118  	/* no verification of non-crc buffers */
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18  119  	if (!xfs_has_crc(mp))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  120  		return;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  121  
ce5028cfe3ca48 fs/xfs/xfs_symlink_remote.c        Eric Sandeen      2014-02-27  122  	if (!xfs_buf_verify_cksum(bp, XFS_SYMLINK_CRC_OFF))
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  123  		xfs_verifier_error(bp, -EFSBADCRC, __this_address);
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  124  	else {
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  125  		fa = xfs_symlink_verify(bp);
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  126  		if (fa)
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  127  			xfs_verifier_error(bp, -EFSCORRUPTED, fa);
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  128  	}
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  129  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  130  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  131  static void
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  132  xfs_symlink_write_verify(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  133  	struct xfs_buf	*bp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  134  {
dbd329f1e44ed4 fs/xfs/libxfs/xfs_symlink_remote.c Christoph Hellwig 2019-06-28  135  	struct xfs_mount *mp = bp->b_mount;
fb1755a645972e fs/xfs/libxfs/xfs_symlink_remote.c Carlos Maiolino   2018-01-24  136  	struct xfs_buf_log_item	*bip = bp->b_log_item;
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  137  	xfs_failaddr_t		fa;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  138  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  139  	/* no verification of non-crc buffers */
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18  140  	if (!xfs_has_crc(mp))
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  141  		return;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  142  
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  143  	fa = xfs_symlink_verify(bp);
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  144  	if (fa) {
bc1a09b8e334bf fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  145  		xfs_verifier_error(bp, -EFSCORRUPTED, fa);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  146  		return;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  147  	}
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  148  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  149  	if (bip) {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  150  		struct xfs_dsymlink_hdr *dsl = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  151  		dsl->sl_lsn = cpu_to_be64(bip->bli_item.li_lsn);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  152  	}
f1dbcd7e38c80c fs/xfs/xfs_symlink_remote.c        Eric Sandeen      2014-02-27  153  	xfs_buf_update_cksum(bp, XFS_SYMLINK_CRC_OFF);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  154  }
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  155  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  156  const struct xfs_buf_ops xfs_symlink_buf_ops = {
233135b763db7c fs/xfs/libxfs/xfs_symlink_remote.c Eric Sandeen      2016-01-04  157  	.name = "xfs_symlink",
39708c20ab5133 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2019-02-07  158  	.magic = { 0, cpu_to_be32(XFS_SYMLINK_MAGIC) },
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  159  	.verify_read = xfs_symlink_read_verify,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  160  	.verify_write = xfs_symlink_write_verify,
b55725974c9d3a fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  161  	.verify_struct = xfs_symlink_verify,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  162  };
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  163  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  164  void
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12 @165  xfs_symlink_local_to_remote(
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  166  	struct xfs_trans	*tp,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  167  	struct xfs_buf		*bp,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  168  	struct xfs_inode	*ip,
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  169  	struct xfs_ifork	*ifp)
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  170  {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  171  	struct xfs_mount	*mp = ip->i_mount;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  172  	char			*buf;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  173  
fe22d552b82d7c fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2015-01-22  174  	xfs_trans_buf_set_type(tp, bp, XFS_BLFT_SYMLINK_BUF);
fe22d552b82d7c fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2015-01-22  175  
38c26bfd90e199 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2021-08-18  176  	if (!xfs_has_crc(mp)) {
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  177  		bp->b_ops = NULL;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  178  		memcpy(bp->b_addr, ifp->if_u1.if_data, ifp->if_bytes);
b7cdc66be54b64 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12  179  		xfs_trans_log_buf(tp, bp, 0, ifp->if_bytes - 1);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  180  		return;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  181  	}
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  182  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  183  	/*
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  184  	 * As this symlink fits in an inode literal area, it must also fit in
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  185  	 * the smallest buffer the filesystem supports.
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  186  	 */
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  187  	ASSERT(BBTOB(bp->b_length) >=
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  188  			ifp->if_bytes + sizeof(struct xfs_dsymlink_hdr));
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  189  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  190  	bp->b_ops = &xfs_symlink_buf_ops;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  191  
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  192  	buf = bp->b_addr;
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  193  	buf += xfs_symlink_hdr_set(mp, ip->i_ino, 0, ifp->if_bytes, bp);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  194  	memcpy(buf, ifp->if_u1.if_data, ifp->if_bytes);
b7cdc66be54b64 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12  195  	xfs_trans_log_buf(tp, bp, 0, sizeof(struct xfs_dsymlink_hdr) +
b7cdc66be54b64 fs/xfs/libxfs/xfs_symlink_remote.c Brian Foster      2015-10-12  196  					ifp->if_bytes - 1);
1fb7e48db68100 fs/xfs/xfs_symlink_remote.c        Dave Chinner      2013-08-12  197  }
0795e004fd4f27 fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  198  
43feeea88c9cb2 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2018-12-12  199  /*
43feeea88c9cb2 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2018-12-12  200   * Verify the in-memory consistency of an inline symlink data fork. This
43feeea88c9cb2 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2018-12-12  201   * does not do on-disk format checks.
43feeea88c9cb2 fs/xfs/libxfs/xfs_symlink_remote.c Dave Chinner      2018-12-12  202   */
0795e004fd4f27 fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08  203  xfs_failaddr_t
0795e004fd4f27 fs/xfs/libxfs/xfs_symlink_remote.c Darrick J. Wong   2018-01-08 @204  xfs_symlink_shortform_verify(

:::::: The code at line 26 was first introduced by commit
:::::: 1fb7e48db6810093012873a652062648ace6b5bb xfs: split out the remote symlink handling

:::::: TO: Dave Chinner <dchinner@redhat.com>
:::::: CC: Ben Myers <bpm@sgi.com>

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

             reply	other threads:[~2021-12-16  6:55 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-16  6:54 kernel test robot [this message]
2021-12-16  6:54 ` [djwong-xfs:repair-symlink-swapext 321/325] fs/xfs/libxfs/xfs_symlink_remote.c:26:1: warning: no previous prototype for function 'xfs_symlink_blocks' 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=202112161445.FSm8Pr8b-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=darrick.wong@oracle.com \
    --cc=djwong@kernel.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@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.