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:
Родитель
388f6966b0
Коммит
52cbee2a57
|
@ -388,6 +388,9 @@ 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);
|
||||
|
||||
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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче