diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-01 22:58:52 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-01 22:58:52 -0400 |
| commit | 9931a07d518e86eb58a75e508ed9626f86359303 (patch) | |
| tree | 8c3be85875e35ab14a14143f2499be924f149a46 /drivers/xen | |
| parent | e468f5c06b5ebef3f6f3c187e51aa6daab667e57 (diff) | |
| parent | 0e9b4a82710220c04100892fb7277b78fd33a747 (diff) | |
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
...
Diffstat (limited to 'drivers/xen')
| -rw-r--r-- | drivers/xen/pvcalls-back.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c index b1092fbefa63..2e5d845b5091 100644 --- a/drivers/xen/pvcalls-back.c +++ b/drivers/xen/pvcalls-back.c | |||
| @@ -137,13 +137,13 @@ static void pvcalls_conn_back_read(void *opaque) | |||
| 137 | if (masked_prod < masked_cons) { | 137 | if (masked_prod < masked_cons) { |
| 138 | vec[0].iov_base = data->in + masked_prod; | 138 | vec[0].iov_base = data->in + masked_prod; |
| 139 | vec[0].iov_len = wanted; | 139 | vec[0].iov_len = wanted; |
| 140 | iov_iter_kvec(&msg.msg_iter, ITER_KVEC|WRITE, vec, 1, wanted); | 140 | iov_iter_kvec(&msg.msg_iter, WRITE, vec, 1, wanted); |
| 141 | } else { | 141 | } else { |
| 142 | vec[0].iov_base = data->in + masked_prod; | 142 | vec[0].iov_base = data->in + masked_prod; |
| 143 | vec[0].iov_len = array_size - masked_prod; | 143 | vec[0].iov_len = array_size - masked_prod; |
| 144 | vec[1].iov_base = data->in; | 144 | vec[1].iov_base = data->in; |
| 145 | vec[1].iov_len = wanted - vec[0].iov_len; | 145 | vec[1].iov_len = wanted - vec[0].iov_len; |
| 146 | iov_iter_kvec(&msg.msg_iter, ITER_KVEC|WRITE, vec, 2, wanted); | 146 | iov_iter_kvec(&msg.msg_iter, WRITE, vec, 2, wanted); |
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | atomic_set(&map->read, 0); | 149 | atomic_set(&map->read, 0); |
| @@ -195,13 +195,13 @@ static void pvcalls_conn_back_write(struct sock_mapping *map) | |||
| 195 | if (pvcalls_mask(prod, array_size) > pvcalls_mask(cons, array_size)) { | 195 | if (pvcalls_mask(prod, array_size) > pvcalls_mask(cons, array_size)) { |
| 196 | vec[0].iov_base = data->out + pvcalls_mask(cons, array_size); | 196 | vec[0].iov_base = data->out + pvcalls_mask(cons, array_size); |
| 197 | vec[0].iov_len = size; | 197 | vec[0].iov_len = size; |
| 198 | iov_iter_kvec(&msg.msg_iter, ITER_KVEC|READ, vec, 1, size); | 198 | iov_iter_kvec(&msg.msg_iter, READ, vec, 1, size); |
| 199 | } else { | 199 | } else { |
| 200 | vec[0].iov_base = data->out + pvcalls_mask(cons, array_size); | 200 | vec[0].iov_base = data->out + pvcalls_mask(cons, array_size); |
| 201 | vec[0].iov_len = array_size - pvcalls_mask(cons, array_size); | 201 | vec[0].iov_len = array_size - pvcalls_mask(cons, array_size); |
| 202 | vec[1].iov_base = data->out; | 202 | vec[1].iov_base = data->out; |
| 203 | vec[1].iov_len = size - vec[0].iov_len; | 203 | vec[1].iov_len = size - vec[0].iov_len; |
| 204 | iov_iter_kvec(&msg.msg_iter, ITER_KVEC|READ, vec, 2, size); | 204 | iov_iter_kvec(&msg.msg_iter, READ, vec, 2, size); |
| 205 | } | 205 | } |
| 206 | 206 | ||
| 207 | atomic_set(&map->write, 0); | 207 | atomic_set(&map->write, 0); |
