Bug#659111: Regarding NFSv4: Save the owner/group name string when doing open
Hi,
On 05/09/2012 04:34 PM, Myklebust, Trond wrote:
Can you please comment on wether additional fixes and/or
dependencies are needed to backport the patch below to the Debian
3.2 kernel?
So, the "Save owner/group name string" is the most efficient way of
ensuring that the open works as expected, and it should be a fairly
self-contained patch.
There is an alternative solution, which is much shorter (and therefore
appropriate for stable kernels). That is to add a line of the form
nfs_revalidate_inode(server, state->inode);
in _nfs4_do_open() immediately after the "if (opendata->o_arg.open_flags
& O_EXCL) {}" condition. That will cause the NFSv4 client to send an
extra GETATTR if the inode is incomplete.
I will build a kernel with this change applied and see if it fixes the
issue. Jonathan was wondering if a similar line is needed in
nfs4_open_reclaim?
To me, it would make more sense to apply the upstream patch (to the
Debian kernel) as it has been tested in the more recent kernels and is
self-contained. But I will leave that decision up to the Debian maintainers.
I looked at the 2.6.32-44 kernel source to see if the simple fix Trond
suggested can be applied there as well, but I fail to find the context
where the extra line could be needed. So I'm not sure if it applies to
the 2.6.32 kernel. Would it nice if it did as it would have a bigger
chance of being applied there as well then.
Note that I've been running the patches Jonathan provided in the bug
report[1] on a squeeze box for 47 days now without any issues and the
issue is fixed by those as well:
> v2.6.33-rc1~54^2~7 "rpc: add a new priority in RPC task", 2009-12-14
> v2.6.33-rc1~54^2~5 "nfs: make recovery state manager operations
> privileged", 2009-12-14
> v3.3-rc1~116^2~1 "NFSv4: Save the owner/group name string when doing
> open", 2012-01-07
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659111
Regards,
Rik
Reply to: