Merge branch 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull AFS updates from Al Viro: "AFS series, with some iov_iter bits included" * 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (26 commits) missing bits of "iov_iter: Separate type from direction and use accessor functions" afs: Probe multiple fileservers simultaneously afs: Fix callback handling afs: Eliminate the address pointer from the address list cursor afs: Allow dumping of server cursor on operation failure afs: Implement YFS support in the fs client afs: Expand data structure fields to support YFS afs: Get the target vnode in afs_rmdir() and get a callback on it afs: Calc callback expiry in op reply delivery afs: Fix FS.FetchStatus delivery from updating wrong vnode afs: Implement the YFS cache manager service afs: Remove callback details from afs_callback_break struct afs: Commit the status on a new file/dir/symlink afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS afs: Don't invoke the server to read data beyond EOF afs: Add a couple of tracepoints to log I/O errors afs: Handle EIO from delivery function afs: Fix TTL on VL server and address lists afs: Implement VL server rotation afs: Improve FS server rotation error handling ...
这个提交包含在:
@@ -1245,8 +1245,7 @@ static int iscsit_do_rx_data(
|
||||
return -1;
|
||||
|
||||
memset(&msg, 0, sizeof(struct msghdr));
|
||||
iov_iter_kvec(&msg.msg_iter, READ | ITER_KVEC,
|
||||
count->iov, count->iov_count, data);
|
||||
iov_iter_kvec(&msg.msg_iter, READ, count->iov, count->iov_count, data);
|
||||
|
||||
while (msg_data_left(&msg)) {
|
||||
rx_loop = sock_recvmsg(conn->sock, &msg, MSG_WAITALL);
|
||||
@@ -1302,8 +1301,7 @@ int tx_data(
|
||||
|
||||
memset(&msg, 0, sizeof(struct msghdr));
|
||||
|
||||
iov_iter_kvec(&msg.msg_iter, WRITE | ITER_KVEC,
|
||||
iov, iov_count, data);
|
||||
iov_iter_kvec(&msg.msg_iter, WRITE, iov, iov_count, data);
|
||||
|
||||
while (msg_data_left(&msg)) {
|
||||
int tx_loop = sock_sendmsg(conn->sock, &msg);
|
||||
|
@@ -303,7 +303,7 @@ fd_execute_rw_aio(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
|
||||
len += sg->length;
|
||||
}
|
||||
|
||||
iov_iter_bvec(&iter, ITER_BVEC | is_write, bvec, sgl_nents, len);
|
||||
iov_iter_bvec(&iter, is_write, bvec, sgl_nents, len);
|
||||
|
||||
aio_cmd->cmd = cmd;
|
||||
aio_cmd->len = len;
|
||||
@@ -353,7 +353,7 @@ static int fd_do_rw(struct se_cmd *cmd, struct file *fd,
|
||||
len += sg->length;
|
||||
}
|
||||
|
||||
iov_iter_bvec(&iter, ITER_BVEC, bvec, sgl_nents, len);
|
||||
iov_iter_bvec(&iter, READ, bvec, sgl_nents, len);
|
||||
if (is_write)
|
||||
ret = vfs_iter_write(fd, &iter, &pos, 0);
|
||||
else
|
||||
@@ -490,7 +490,7 @@ fd_execute_write_same(struct se_cmd *cmd)
|
||||
len += se_dev->dev_attrib.block_size;
|
||||
}
|
||||
|
||||
iov_iter_bvec(&iter, ITER_BVEC, bvec, nolb, len);
|
||||
iov_iter_bvec(&iter, READ, bvec, nolb, len);
|
||||
ret = vfs_iter_write(fd_dev->fd_file, &iter, &pos, 0);
|
||||
|
||||
kfree(bvec);
|
||||
|
在新工单中引用
屏蔽一个用户