mirror of https://gitee.com/openkylin/linux.git
9p: read only once on O_NONBLOCK
A proper way to handle O_NONBLOCK would be making the requests and responses happen asynchronously, but this would require serious code refactoring. Link: http://lkml.kernel.org/r/20200205003457.24340-2-l29ah@cock.li Signed-off-by: Sergey Alirzaev <l29ah@cock.li> Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
This commit is contained in:
parent
388f6966b0
commit
52cbee2a57
|
@ -388,7 +388,10 @@ v9fs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
|
|||
p9_debug(P9_DEBUG_VFS, "count %zu offset %lld\n",
|
||||
iov_iter_count(to), iocb->ki_pos);
|
||||
|
||||
ret = p9_client_read(fid, iocb->ki_pos, to, &err);
|
||||
if (iocb->ki_filp->f_flags & O_NONBLOCK)
|
||||
ret = p9_client_read_once(fid, iocb->ki_pos, to, &err);
|
||||
else
|
||||
ret = p9_client_read(fid, iocb->ki_pos, to, &err);
|
||||
if (!ret)
|
||||
return err;
|
||||
|
||||
|
|
Loading…
Reference in New Issue