> Can someone ping the mailing list again? I think this issue might have
> dropped off the radar.

I've now subscribed to this bz so no need to ping the list again (and
David and Eric have been there from the start and should be getting the
mails too... But at this point you won't get more people from the list
anyway)

As I said on the list I don't think the fix is appropriate -- and I
still haven't had the time to dig into this properly.

My understanding so far is that the guest is reading a file that is being 
modified from the host, and then for some reason the file size isn't coherent 
internally and the read falls short despite userspace knowing the file is 
bigger.
Is that correct?

We don't have cache invalidation in 9p so for cache=loose/fscache we
just don't support files being modified from the host and I'd understand
this behaviour, but for cache=none (the default you're using here) we
should just not limit the read sizes to whatever the inode's i_size is.

So the fix really isn't to do a new stat after short reads, but to
ignore the size attribute in the first place.

Since I haven't had time to check the traces properly I also obviously
haven't had time to properly try to reproduce either, but given there is
no cache invalidation I'd expect this shouldn't be difficult... I'd also
expect the fix to not be too hard to do once we've been able to trace
where the size gets cuts off, which is probably easy enough with
qemu/GDB or for someone familiar with the netfs read helpers.

So, I'm sorry after a first fix has been made -- the analysis up till now 
already is great help! -- but my free time has gotten very short and I'll try 
to get to it when possible but if someone can help with a more appropriate fix 
in that direction it'd be great.
(Kernel work unfortunately isn't easy unless your work pays for it or you have 
a lot of free time, and both stopped being true for me a while ago...)


At a higher level, cache=loose/fscache could also perhaps use some invalidation 
logic like NFS has (iirc NFS v3 re-checks the ctime every 60s or so?), but 
that's not needed here, cache=none (and possibly writeback) should not trust 
server attributes at all and should not have this problem.

-- 
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

Reply via email to