mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 05:40:55 +07:00
orangefs: wait_for_direct_io(): restore the position in iter when restarting
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
parent
e17be9fd4d
commit
7b9761af86
@ -133,6 +133,7 @@ static ssize_t wait_for_direct_io(enum ORANGEFS_io_type type, struct inode *inod
|
||||
struct orangefs_khandle *handle = &orangefs_inode->refn.khandle;
|
||||
struct orangefs_bufmap *bufmap = NULL;
|
||||
struct orangefs_kernel_op_s *new_op = NULL;
|
||||
struct iov_iter saved = *iter;
|
||||
int buffer_index = -1;
|
||||
ssize_t ret;
|
||||
|
||||
@ -211,6 +212,8 @@ static ssize_t wait_for_direct_io(enum ORANGEFS_io_type type, struct inode *inod
|
||||
if (ret == -EAGAIN && op_state_purged(new_op)) {
|
||||
orangefs_bufmap_put(bufmap, buffer_index);
|
||||
buffer_index = -1;
|
||||
if (type == ORANGEFS_IO_WRITE)
|
||||
*iter = saved;
|
||||
gossip_debug(GOSSIP_FILE_DEBUG,
|
||||
"%s:going to repopulate_shared_memory.\n",
|
||||
__func__);
|
||||
|
Loading…
Reference in New Issue
Block a user