BTW while I still have time to type things:
(In reply to TJ from comment #7)
> Considering the (changed) source-code of
> fs/9p/vfs_file.c::v9fs_file_read_iter() in commit
> 80105ed2fd2715fb09a8fdb0655a8bdc86c120db.
>
> Prior to the commit there was a code path specifically for O_NONBLOCK (as
> well as for p9L_DIRECT). Now there is only a code-path for P9L_DIRECT.
>
> kernel.36.log shows that within this function the p9L_DIRECT path is taken
> since there is no debug message from the final debug message:
>
> if (fid->mode & P9L_DIRECT)
> return netfs_unbuffered_read_iter(iocb, to);
>
> p9_debug(P9_DEBUG_VFS, "(cached)\n");
> return netfs_file_read_iter(iocb, to);
> }
>
> I'm not familiar enough with the netfs layer to understand if O_NONBLOCK is
> being handled (correctly) there - if special handling is indeed required?
That O_NONBLOCK handling was slightly different; with O_NONBLOCK we used to
stop the read loop on first server read result, even if it wasn't 0.
Without O_NONBLOCK we used to loop until eof (e.g. read returns 0)
For this particular case, the O_NONBLOCK handling doesn't matter at all (eofcat
will loop anyway), but for synthetic servers that use files as pipes we might
want the O_NONBLOCK handling back.
OTOH, that made some programs like tar very slow because they set O_NONBLOCK on
regular files when they don't need to; I kind of regret having accepted
52cbee2a5768 ("9p: read only once on O_NONBLOCK") now; we probably should have
added a new way of setting it (e.g. at mount time). But right now there's no
way of doing that, so Sergey will likely ask again when they upgrade their
kernel...
anyway, ETIMEDOUT.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2056461
Title:
autopkgtest-virt-qemu on noble images sometimes hangs doing copydown
To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/2056461/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs