[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: