From: kernel test robot <lkp@intel.com>
To: David Howells <dhowells@redhat.com>
Cc: kbuild-all@lists.01.org,
GNU/Weeb Mailing List <gwml@vger.gnuweeb.org>,
linux-kernel@vger.kernel.org
Subject: [ammarfaizi2-block:dhowells/linux-fs/cifs-for-sfrench 5/6] fs/cifs/smb2pdu.c:4481:57: error: 'struct cifs_writedata' has no member named 'pages'
Date: Wed, 11 May 2022 14:34:41 +0800 [thread overview]
Message-ID: <202205111436.hrkM324G-lkp@intel.com> (raw)
tree: https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/cifs-for-sfrench
head: 627ce4da99bb612945366770c5604019fb74b653
commit: e4b60df6a12099568c671591d36a9fa16515f6eb [5/6] cifs: Change the I/O paths to use an iterator rather than a page list
config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20220511/202205111436.hrkM324G-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 11.3.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/ammarfaizi2/linux-block/commit/e4b60df6a12099568c671591d36a9fa16515f6eb
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/cifs-for-sfrench
git checkout e4b60df6a12099568c671591d36a9fa16515f6eb
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash fs/cifs/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
fs/cifs/smb2pdu.c: In function 'smb2_new_read_req':
fs/cifs/smb2pdu.c:4058:57: error: 'struct cifs_readdata' has no member named 'pages'
4058 | server->smbd_conn, rdata->pages,
| ^~
fs/cifs/smb2pdu.c:4059:38: error: 'struct cifs_readdata' has no member named 'nr_pages'
4059 | rdata->nr_pages, rdata->page_offset,
| ^~
fs/cifs/smb2pdu.c:4059:55: error: 'struct cifs_readdata' has no member named 'page_offset'
4059 | rdata->nr_pages, rdata->page_offset,
| ^~
fs/cifs/smb2pdu.c:4060:38: error: 'struct cifs_readdata' has no member named 'tailsz'
4060 | rdata->tailsz, true, need_invalidate);
| ^~
fs/cifs/smb2pdu.c: In function 'smb2_async_writev':
>> fs/cifs/smb2pdu.c:4481:57: error: 'struct cifs_writedata' has no member named 'pages'
4481 | server->smbd_conn, wdata->pages,
| ^~
fs/cifs/smb2pdu.c:4482:38: error: 'struct cifs_writedata' has no member named 'nr_pages'
4482 | wdata->nr_pages, wdata->page_offset,
| ^~
fs/cifs/smb2pdu.c:4482:55: error: 'struct cifs_writedata' has no member named 'page_offset'
4482 | wdata->nr_pages, wdata->page_offset,
| ^~
fs/cifs/smb2pdu.c:4483:38: error: 'struct cifs_writedata' has no member named 'tailsz'
4483 | wdata->tailsz, false, need_invalidate);
| ^~
fs/cifs/smb2pdu.c:4490:26: error: 'struct cifs_writedata' has no member named 'nr_pages'
4490 | if (wdata->nr_pages > 1)
| ^~
In file included from include/linux/byteorder/little_endian.h:5,
from arch/riscv/include/uapi/asm/byteorder.h:10,
from include/asm-generic/bitops/le.h:6,
from arch/riscv/include/asm/bitops.h:201,
from include/linux/bitops.h:33,
from include/linux/thread_info.h:27,
from include/asm-generic/preempt.h:5,
from ./arch/riscv/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:55,
from include/linux/wait.h:9,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs/cifs/smb2pdu.c:18:
fs/cifs/smb2pdu.c:4493:47: error: 'struct cifs_writedata' has no member named 'nr_pages'
4493 | (wdata->nr_pages - 1) * wdata->pagesz -
| ^~
include/uapi/linux/byteorder/little_endian.h:34:51: note: in definition of macro '__cpu_to_le32'
34 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
fs/cifs/smb2pdu.c:4492:33: note: in expansion of macro 'cpu_to_le32'
4492 | cpu_to_le32(
| ^~~~~~~~~~~
fs/cifs/smb2pdu.c:4493:70: error: 'struct cifs_writedata' has no member named 'pagesz'
4493 | (wdata->nr_pages - 1) * wdata->pagesz -
| ^~
include/uapi/linux/byteorder/little_endian.h:34:51: note: in definition of macro '__cpu_to_le32'
34 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
fs/cifs/smb2pdu.c:4492:33: note: in expansion of macro 'cpu_to_le32'
4492 | cpu_to_le32(
| ^~~~~~~~~~~
fs/cifs/smb2pdu.c:4494:46: error: 'struct cifs_writedata' has no member named 'page_offset'
4494 | wdata->page_offset + wdata->tailsz
| ^~
include/uapi/linux/byteorder/little_endian.h:34:51: note: in definition of macro '__cpu_to_le32'
34 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
fs/cifs/smb2pdu.c:4492:33: note: in expansion of macro 'cpu_to_le32'
4492 | cpu_to_le32(
| ^~~~~~~~~~~
fs/cifs/smb2pdu.c:4494:67: error: 'struct cifs_writedata' has no member named 'tailsz'
4494 | wdata->page_offset + wdata->tailsz
| ^~
include/uapi/linux/byteorder/little_endian.h:34:51: note: in definition of macro '__cpu_to_le32'
34 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
fs/cifs/smb2pdu.c:4492:33: note: in expansion of macro 'cpu_to_le32'
4492 | cpu_to_le32(
| ^~~~~~~~~~~
fs/cifs/smb2pdu.c:4497:64: error: 'struct cifs_writedata' has no member named 'tailsz'
4497 | req->RemainingBytes = cpu_to_le32(wdata->tailsz);
| ^~
include/uapi/linux/byteorder/little_endian.h:34:51: note: in definition of macro '__cpu_to_le32'
34 | #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
| ^
fs/cifs/smb2pdu.c:4497:47: note: in expansion of macro 'cpu_to_le32'
4497 | req->RemainingBytes = cpu_to_le32(wdata->tailsz);
| ^~~~~~~~~~~
fs/cifs/smb2pdu.c:4520:21: error: 'struct smb_rqst' has no member named 'rq_npages'
4520 | rqst.rq_npages = 0;
| ^
--
In file included from include/asm-generic/bug.h:22,
from arch/riscv/include/asm/bug.h:83,
from include/linux/bug.h:5,
from arch/riscv/include/asm/cmpxchg.h:9,
from arch/riscv/include/asm/atomic.h:19,
from include/linux/atomic.h:7,
from include/linux/mm_types_task.h:13,
from include/linux/mm_types.h:5,
from include/linux/buildid.h:5,
from include/linux/module.h:14,
from fs/cifs/smbdirect.c:7:
fs/cifs/smbdirect.c: In function 'smbd_send':
>> fs/cifs/smbdirect.c:2037:48: error: 'struct smb_rqst' has no member named 'rq_npages'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:625:9: note: in expansion of macro 'no_printk'
625 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
fs/cifs/cifs_debug.h:65:17: note: in expansion of macro 'pr_debug_once'
65 | pr_debug_ ## ratefunc("%s: " fmt, \
| ^~~~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
>> fs/cifs/smbdirect.c:2037:65: error: 'struct smb_rqst' has no member named 'rq_pagesz'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:625:9: note: in expansion of macro 'no_printk'
625 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
fs/cifs/cifs_debug.h:65:17: note: in expansion of macro 'pr_debug_once'
65 | pr_debug_ ## ratefunc("%s: " fmt, \
| ^~~~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
fs/cifs/smbdirect.c:2038:23: error: 'struct smb_rqst' has no member named 'rq_tailsz'
2038 | rqst->rq_tailsz, smb_rqst_len(server, rqst));
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:625:9: note: in expansion of macro 'no_printk'
625 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
fs/cifs/cifs_debug.h:65:17: note: in expansion of macro 'pr_debug_once'
65 | pr_debug_ ## ratefunc("%s: " fmt, \
| ^~~~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
>> fs/cifs/smbdirect.c:2037:48: error: 'struct smb_rqst' has no member named 'rq_npages'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/once_lite.h:19:25: note: in expansion of macro 'printk'
19 | func(__VA_ARGS__); \
| ^~~~
include/linux/once_lite.h:11:9: note: in expansion of macro 'DO_ONCE_LITE_IF'
11 | DO_ONCE_LITE_IF(true, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
include/linux/printk.h:585:9: note: in expansion of macro 'DO_ONCE_LITE'
585 | DO_ONCE_LITE(printk, fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~
include/linux/printk.h:602:9: note: in expansion of macro 'printk_once'
602 | printk_once(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:68:17: note: in expansion of macro 'pr_err_once'
68 | pr_err_ ## ratefunc("VFS: " fmt, ##__VA_ARGS__); \
| ^~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
>> fs/cifs/smbdirect.c:2037:65: error: 'struct smb_rqst' has no member named 'rq_pagesz'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/once_lite.h:19:25: note: in expansion of macro 'printk'
19 | func(__VA_ARGS__); \
| ^~~~
include/linux/once_lite.h:11:9: note: in expansion of macro 'DO_ONCE_LITE_IF'
11 | DO_ONCE_LITE_IF(true, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
include/linux/printk.h:585:9: note: in expansion of macro 'DO_ONCE_LITE'
585 | DO_ONCE_LITE(printk, fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~
include/linux/printk.h:602:9: note: in expansion of macro 'printk_once'
602 | printk_once(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:68:17: note: in expansion of macro 'pr_err_once'
68 | pr_err_ ## ratefunc("VFS: " fmt, ##__VA_ARGS__); \
| ^~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
fs/cifs/smbdirect.c:2038:23: error: 'struct smb_rqst' has no member named 'rq_tailsz'
2038 | rqst->rq_tailsz, smb_rqst_len(server, rqst));
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/once_lite.h:19:25: note: in expansion of macro 'printk'
19 | func(__VA_ARGS__); \
| ^~~~
include/linux/once_lite.h:11:9: note: in expansion of macro 'DO_ONCE_LITE_IF'
11 | DO_ONCE_LITE_IF(true, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
include/linux/printk.h:585:9: note: in expansion of macro 'DO_ONCE_LITE'
585 | DO_ONCE_LITE(printk, fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~
include/linux/printk.h:602:9: note: in expansion of macro 'printk_once'
602 | printk_once(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:68:17: note: in expansion of macro 'pr_err_once'
68 | pr_err_ ## ratefunc("VFS: " fmt, ##__VA_ARGS__); \
| ^~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
>> fs/cifs/smbdirect.c:2037:48: error: 'struct smb_rqst' has no member named 'rq_npages'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:625:9: note: in expansion of macro 'no_printk'
625 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
fs/cifs/cifs_debug.h:70:17: note: in expansion of macro 'pr_debug_once'
70 | pr_debug_ ## ratefunc(fmt, ##__VA_ARGS__); \
| ^~~~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
>> fs/cifs/smbdirect.c:2037:65: error: 'struct smb_rqst' has no member named 'rq_pagesz'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:625:9: note: in expansion of macro 'no_printk'
625 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
fs/cifs/cifs_debug.h:70:17: note: in expansion of macro 'pr_debug_once'
70 | pr_debug_ ## ratefunc(fmt, ##__VA_ARGS__); \
| ^~~~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
fs/cifs/smbdirect.c:2038:23: error: 'struct smb_rqst' has no member named 'rq_tailsz'
2038 | rqst->rq_tailsz, smb_rqst_len(server, rqst));
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:625:9: note: in expansion of macro 'no_printk'
625 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
fs/cifs/cifs_debug.h:70:17: note: in expansion of macro 'pr_debug_once'
70 | pr_debug_ ## ratefunc(fmt, ##__VA_ARGS__); \
| ^~~~~~~~~
fs/cifs/cifs_debug.h:77:17: note: in expansion of macro 'cifs_dbg_func'
77 | cifs_dbg_func(once, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
In file included from include/asm-generic/bug.h:22,
from arch/riscv/include/asm/bug.h:83,
from include/linux/bug.h:5,
from arch/riscv/include/asm/cmpxchg.h:9,
from arch/riscv/include/asm/atomic.h:19,
from include/linux/atomic.h:7,
from include/linux/mm_types_task.h:13,
from include/linux/mm_types.h:5,
from include/linux/buildid.h:5,
from include/linux/module.h:14,
from fs/cifs/smbdirect.c:7:
>> fs/cifs/smbdirect.c:2037:48: error: 'struct smb_rqst' has no member named 'rq_npages'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:683:64: note: in definition of macro 'pr_debug_ratelimited'
683 | __dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
>> fs/cifs/smbdirect.c:2037:65: error: 'struct smb_rqst' has no member named 'rq_pagesz'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:683:64: note: in definition of macro 'pr_debug_ratelimited'
683 | __dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
fs/cifs/smbdirect.c:2038:23: error: 'struct smb_rqst' has no member named 'rq_tailsz'
2038 | rqst->rq_tailsz, smb_rqst_len(server, rqst));
| ^~
include/linux/printk.h:683:64: note: in definition of macro 'pr_debug_ratelimited'
683 | __dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
In file included from include/asm-generic/bug.h:22,
from arch/riscv/include/asm/bug.h:83,
from include/linux/bug.h:5,
from arch/riscv/include/asm/cmpxchg.h:9,
from arch/riscv/include/asm/atomic.h:19,
from include/linux/atomic.h:7,
from include/linux/mm_types_task.h:13,
from include/linux/mm_types.h:5,
from include/linux/buildid.h:5,
from include/linux/module.h:14,
from fs/cifs/smbdirect.c:7:
>> fs/cifs/smbdirect.c:2037:48: error: 'struct smb_rqst' has no member named 'rq_npages'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:640:17: note: in expansion of macro 'printk'
640 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:654:9: note: in expansion of macro 'printk_ratelimited'
654 | printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~
fs/cifs/cifs_debug.h:68:17: note: in expansion of macro 'pr_err_ratelimited'
68 | pr_err_ ## ratefunc("VFS: " fmt, ##__VA_ARGS__); \
| ^~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
>> fs/cifs/smbdirect.c:2037:65: error: 'struct smb_rqst' has no member named 'rq_pagesz'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:640:17: note: in expansion of macro 'printk'
640 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:654:9: note: in expansion of macro 'printk_ratelimited'
654 | printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~
fs/cifs/cifs_debug.h:68:17: note: in expansion of macro 'pr_err_ratelimited'
68 | pr_err_ ## ratefunc("VFS: " fmt, ##__VA_ARGS__); \
| ^~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
fs/cifs/smbdirect.c:2038:23: error: 'struct smb_rqst' has no member named 'rq_tailsz'
2038 | rqst->rq_tailsz, smb_rqst_len(server, rqst));
| ^~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:640:17: note: in expansion of macro 'printk'
640 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:654:9: note: in expansion of macro 'printk_ratelimited'
654 | printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~
fs/cifs/cifs_debug.h:68:17: note: in expansion of macro 'pr_err_ratelimited'
68 | pr_err_ ## ratefunc("VFS: " fmt, ##__VA_ARGS__); \
| ^~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
In file included from include/asm-generic/bug.h:22,
from arch/riscv/include/asm/bug.h:83,
from include/linux/bug.h:5,
from arch/riscv/include/asm/cmpxchg.h:9,
from arch/riscv/include/asm/atomic.h:19,
from include/linux/atomic.h:7,
from include/linux/mm_types_task.h:13,
from include/linux/mm_types.h:5,
from include/linux/buildid.h:5,
from include/linux/module.h:14,
from fs/cifs/smbdirect.c:7:
>> fs/cifs/smbdirect.c:2037:48: error: 'struct smb_rqst' has no member named 'rq_npages'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:683:64: note: in definition of macro 'pr_debug_ratelimited'
683 | __dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
>> fs/cifs/smbdirect.c:2037:65: error: 'struct smb_rqst' has no member named 'rq_pagesz'
2037 | rqst_idx, rqst->rq_nvec, rqst->rq_npages, rqst->rq_pagesz,
| ^~
include/linux/printk.h:683:64: note: in definition of macro 'pr_debug_ratelimited'
683 | __dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
fs/cifs/smbdirect.c:2038:23: error: 'struct smb_rqst' has no member named 'rq_tailsz'
2038 | rqst->rq_tailsz, smb_rqst_len(server, rqst));
| ^~
include/linux/printk.h:683:64: note: in definition of macro 'pr_debug_ratelimited'
683 | __dynamic_pr_debug(&descriptor, pr_fmt(fmt), ##__VA_ARGS__); \
| ^~~~~~~~~~~
fs/cifs/cifs_debug.h:79:17: note: in expansion of macro 'cifs_dbg_func'
79 | cifs_dbg_func(ratelimited, type, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~
fs/cifs/smbdirect.c:138:17: note: in expansion of macro 'cifs_dbg'
138 | cifs_dbg(VFS, "%s:%d " fmt, __func__, __LINE__, ##args);\
| ^~~~~~~~
fs/cifs/smbdirect.c:146:41: note: in expansion of macro 'log_rdma'
146 | #define log_write(level, fmt, args...) log_rdma(level, LOG_WRITE, fmt, ##args)
| ^~~~~~~~
fs/cifs/smbdirect.c:2036:9: note: in expansion of macro 'log_write'
2036 | log_write(INFO, "rqst_idx=%d nvec=%d rqst->rq_npages=%d rq_pagesz=%d rq_tailsz=%d buflen=%lu\n",
| ^~~~~~~~~
fs/cifs/smbdirect.c:2107:29: error: 'struct smb_rqst' has no member named 'rq_npages'
2107 | for (i = 0; i < rqst->rq_npages; i++) {
| ^~
>> fs/cifs/smbdirect.c:2110:17: error: implicit declaration of function 'rqst_page_get_length' [-Werror=implicit-function-declaration]
2110 | rqst_page_get_length(rqst, i, &buflen, &offset);
| ^~~~~~~~~~~~~~~~~~~~
>> fs/cifs/smbdirect.c:2123:43: error: 'struct smb_rqst' has no member named 'rq_pages'
2123 | info, rqst->rq_pages[i],
| ^~
cc1: some warnings being treated as errors
vim +4481 fs/cifs/smb2pdu.c
33319141252fd1 Pavel Shilovsky 2012-09-18 4428
33319141252fd1 Pavel Shilovsky 2012-09-18 4429 /* smb2_async_writev - send an async write, and set up mid to handle result */
33319141252fd1 Pavel Shilovsky 2012-09-18 4430 int
4a5c80d7b5615b Steve French 2014-02-07 4431 smb2_async_writev(struct cifs_writedata *wdata,
4a5c80d7b5615b Steve French 2014-02-07 4432 void (*release)(struct kref *kref))
33319141252fd1 Pavel Shilovsky 2012-09-18 4433 {
cb7e9eabb2b584 Pavel Shilovsky 2014-06-05 4434 int rc = -EACCES, flags = 0;
33319141252fd1 Pavel Shilovsky 2012-09-18 4435 struct smb2_write_req *req = NULL;
0d35e382e4e96a Ronnie Sahlberg 2021-11-05 4436 struct smb2_hdr *shdr;
33319141252fd1 Pavel Shilovsky 2012-09-18 4437 struct cifs_tcon *tcon = tlink_tcon(wdata->cfile->tlink);
352d96f3acc6e0 Aurelien Aptel 2020-05-31 4438 struct TCP_Server_Info *server = wdata->server;
c713c8770fa5bf Ronnie Sahlberg 2018-06-12 4439 struct kvec iov[1];
738f9de5cdb917 Pavel Shilovsky 2016-11-23 4440 struct smb_rqst rqst = { };
f5688a6d7c5c52 Ronnie Sahlberg 2017-11-20 4441 unsigned int total_len;
33319141252fd1 Pavel Shilovsky 2012-09-18 4442
352d96f3acc6e0 Aurelien Aptel 2020-05-31 4443 if (!wdata->server)
352d96f3acc6e0 Aurelien Aptel 2020-05-31 4444 server = wdata->server = cifs_pick_channel(tcon->ses);
352d96f3acc6e0 Aurelien Aptel 2020-05-31 4445
352d96f3acc6e0 Aurelien Aptel 2020-05-31 4446 rc = smb2_plain_req_init(SMB2_WRITE, tcon, server,
352d96f3acc6e0 Aurelien Aptel 2020-05-31 4447 (void **) &req, &total_len);
f0b93cb9d10789 Pavel Shilovsky 2019-01-25 4448 if (rc)
f0b93cb9d10789 Pavel Shilovsky 2019-01-25 4449 return rc;
33319141252fd1 Pavel Shilovsky 2012-09-18 4450
5a77e75fedce55 Steve French 2018-05-09 4451 if (smb3_encryption_required(tcon))
7fb8986e7449d0 Pavel Shilovsky 2016-10-31 4452 flags |= CIFS_TRANSFORM_REQ;
7fb8986e7449d0 Pavel Shilovsky 2016-10-31 4453
0d35e382e4e96a Ronnie Sahlberg 2021-11-05 4454 shdr = (struct smb2_hdr *)req;
0d35e382e4e96a Ronnie Sahlberg 2021-11-05 4455 shdr->Id.SyncId.ProcessId = cpu_to_le32(wdata->cfile->pid);
33319141252fd1 Pavel Shilovsky 2012-09-18 4456
351a59dace0e0e Paulo Alcantara 2022-03-21 4457 req->PersistentFileId = wdata->cfile->fid.persistent_fid;
351a59dace0e0e Paulo Alcantara 2022-03-21 4458 req->VolatileFileId = wdata->cfile->fid.volatile_fid;
33319141252fd1 Pavel Shilovsky 2012-09-18 4459 req->WriteChannelInfoOffset = 0;
33319141252fd1 Pavel Shilovsky 2012-09-18 4460 req->WriteChannelInfoLength = 0;
33319141252fd1 Pavel Shilovsky 2012-09-18 4461 req->Channel = 0;
33319141252fd1 Pavel Shilovsky 2012-09-18 4462 req->Offset = cpu_to_le64(wdata->offset);
33319141252fd1 Pavel Shilovsky 2012-09-18 4463 req->DataOffset = cpu_to_le16(
f5688a6d7c5c52 Ronnie Sahlberg 2017-11-20 4464 offsetof(struct smb2_write_req, Buffer));
33319141252fd1 Pavel Shilovsky 2012-09-18 4465 req->RemainingBytes = 0;
d323c24617527f Steve French 2019-02-25 4466
d323c24617527f Steve French 2019-02-25 4467 trace_smb3_write_enter(0 /* xid */, wdata->cfile->fid.persistent_fid,
d323c24617527f Steve French 2019-02-25 4468 tcon->tid, tcon->ses->Suid, wdata->offset, wdata->bytes);
db223a590d45b5 Long Li 2017-11-22 4469 #ifdef CONFIG_CIFS_SMB_DIRECT
db223a590d45b5 Long Li 2017-11-22 4470 /*
db223a590d45b5 Long Li 2017-11-22 4471 * If we want to do a server RDMA read, fill in and append
db223a590d45b5 Long Li 2017-11-22 4472 * smbd_buffer_descriptor_v1 to the end of write request
db223a590d45b5 Long Li 2017-11-22 4473 */
bb4c0419476bd3 Long Li 2018-04-17 4474 if (server->rdma && !server->sign && wdata->bytes >=
db223a590d45b5 Long Li 2017-11-22 4475 server->smbd_conn->rdma_readwrite_threshold) {
db223a590d45b5 Long Li 2017-11-22 4476
db223a590d45b5 Long Li 2017-11-22 4477 struct smbd_buffer_descriptor_v1 *v1;
db223a590d45b5 Long Li 2017-11-22 4478 bool need_invalidate = server->dialect == SMB30_PROT_ID;
db223a590d45b5 Long Li 2017-11-22 4479
db223a590d45b5 Long Li 2017-11-22 4480 wdata->mr = smbd_register_mr(
db223a590d45b5 Long Li 2017-11-22 @4481 server->smbd_conn, wdata->pages,
7cf20bce77581b Long Li 2018-05-30 4482 wdata->nr_pages, wdata->page_offset,
7cf20bce77581b Long Li 2018-05-30 4483 wdata->tailsz, false, need_invalidate);
db223a590d45b5 Long Li 2017-11-22 4484 if (!wdata->mr) {
b7972092199f6d Long Li 2019-04-05 4485 rc = -EAGAIN;
db223a590d45b5 Long Li 2017-11-22 4486 goto async_writev_out;
db223a590d45b5 Long Li 2017-11-22 4487 }
db223a590d45b5 Long Li 2017-11-22 4488 req->Length = 0;
db223a590d45b5 Long Li 2017-11-22 4489 req->DataOffset = 0;
7cf20bce77581b Long Li 2018-05-30 4490 if (wdata->nr_pages > 1)
db223a590d45b5 Long Li 2017-11-22 4491 req->RemainingBytes =
7cf20bce77581b Long Li 2018-05-30 4492 cpu_to_le32(
7cf20bce77581b Long Li 2018-05-30 4493 (wdata->nr_pages - 1) * wdata->pagesz -
7cf20bce77581b Long Li 2018-05-30 4494 wdata->page_offset + wdata->tailsz
7cf20bce77581b Long Li 2018-05-30 4495 );
7cf20bce77581b Long Li 2018-05-30 4496 else
7cf20bce77581b Long Li 2018-05-30 4497 req->RemainingBytes = cpu_to_le32(wdata->tailsz);
db223a590d45b5 Long Li 2017-11-22 4498 req->Channel = SMB2_CHANNEL_RDMA_V1_INVALIDATE;
db223a590d45b5 Long Li 2017-11-22 4499 if (need_invalidate)
db223a590d45b5 Long Li 2017-11-22 4500 req->Channel = SMB2_CHANNEL_RDMA_V1;
db223a590d45b5 Long Li 2017-11-22 4501 req->WriteChannelInfoOffset =
2026b06e9ce852 Steve French 2018-01-24 4502 cpu_to_le16(offsetof(struct smb2_write_req, Buffer));
db223a590d45b5 Long Li 2017-11-22 4503 req->WriteChannelInfoLength =
2026b06e9ce852 Steve French 2018-01-24 4504 cpu_to_le16(sizeof(struct smbd_buffer_descriptor_v1));
db223a590d45b5 Long Li 2017-11-22 4505 v1 = (struct smbd_buffer_descriptor_v1 *) &req->Buffer[0];
2026b06e9ce852 Steve French 2018-01-24 4506 v1->offset = cpu_to_le64(wdata->mr->mr->iova);
2026b06e9ce852 Steve French 2018-01-24 4507 v1->token = cpu_to_le32(wdata->mr->mr->rkey);
2026b06e9ce852 Steve French 2018-01-24 4508 v1->length = cpu_to_le32(wdata->mr->mr->length);
db223a590d45b5 Long Li 2017-11-22 4509 }
db223a590d45b5 Long Li 2017-11-22 4510 #endif
c713c8770fa5bf Ronnie Sahlberg 2018-06-12 4511 iov[0].iov_len = total_len - 1;
c713c8770fa5bf Ronnie Sahlberg 2018-06-12 4512 iov[0].iov_base = (char *)req;
33319141252fd1 Pavel Shilovsky 2012-09-18 4513
738f9de5cdb917 Pavel Shilovsky 2016-11-23 4514 rqst.rq_iov = iov;
c713c8770fa5bf Ronnie Sahlberg 2018-06-12 4515 rqst.rq_nvec = 1;
e4b60df6a12099 David Howells 2022-01-24 4516 rqst.rq_iter = wdata->iter;
db223a590d45b5 Long Li 2017-11-22 4517 #ifdef CONFIG_CIFS_SMB_DIRECT
db223a590d45b5 Long Li 2017-11-22 4518 if (wdata->mr) {
c713c8770fa5bf Ronnie Sahlberg 2018-06-12 4519 iov[0].iov_len += sizeof(struct smbd_buffer_descriptor_v1);
db223a590d45b5 Long Li 2017-11-22 4520 rqst.rq_npages = 0;
db223a590d45b5 Long Li 2017-11-22 4521 }
db223a590d45b5 Long Li 2017-11-22 4522 #endif
f96637be081141 Joe Perches 2013-05-04 4523 cifs_dbg(FYI, "async write at %llu %u bytes\n",
f96637be081141 Joe Perches 2013-05-04 4524 wdata->offset, wdata->bytes);
33319141252fd1 Pavel Shilovsky 2012-09-18 4525
:::::: The code at line 4481 was first introduced by commit
:::::: db223a590d45b5e584a430c46a778699a5825cdd CIFS: SMBD: Upper layer performs SMB write via RDMA read through memory registration
:::::: TO: Long Li <longli@microsoft.com>
:::::: CC: Steve French <smfrench@gmail.com>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
reply other threads:[~2022-05-11 6:36 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202205111436.hrkM324G-lkp@intel.com \
--to=lkp@intel.com \
--cc=dhowells@redhat.com \
--cc=gwml@vger.gnuweeb.org \
--cc=kbuild-all@lists.01.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.