Messages in this thread | | | Date | Thu, 16 Dec 2021 14:54:58 +0800 | From | kernel test robot <> | 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' |
| |
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
| |