RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 789298 - Files on NFS4 become unwritable, but OK after explicit stat
Summary: Files on NFS4 become unwritable, but OK after explicit stat
Keywords:
Status: CLOSED DUPLICATE of bug 739797
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.2
Hardware: Unspecified
OS: Linux
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Jeff Layton
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-10 10:29 UTC by Rik Theys
Modified: 2018-11-30 22:20 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 794780 (view as bug list)
Environment:
Last Closed: 2012-03-20 14:15:39 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Rik Theys 2012-02-10 10:29:19 UTC
Description of problem:

Hi,

Our home directories here are mounted over NFS4. When I log in to machine A and run

vim
:q

and then log into machine B and do:

vim
:q

I get E137: Viminfo file is not writable: /users/system/rtheys/.viminfo

Every invocation of 'vim and :q' will trigger this.

Explicitely doing a stat of the file fixes this.

Doing the vim :q thing on machine A while it has been triggered on B works: A never shows this message, while B continues to show it until the file is stat'ed.

The file server is a RHEL 6.2 machine.

I can trigger this bug on RHEL 6 clients, but NOT on RHEL 5 clients.

This seems to have been discussed here:
http://comments.gmane.org/gmane.linux.nfs/37230

According to that thread, vim tries to do a stat on the ~/.viminfo file and receives incorrect st_uid/st_gid information (-2)? If it gets the wrong information I assume this is a kernel bug. Why is the information incorrect?

The easiest way to reproduce this is with vim, but I've seen similar strange behaviour when modifying my ~/.ssh/authorized_keys file and then trying to ssh to other machines. They say they are ignoring the file because the permissions are not OK. This looks like the same bug to me, but is harder to reproduce here.

This bug has been introduced between 2.6.31 and 2.6.32 by commit 80e52aced138bb41b045a8595a87510f27d8d8c5

commit 80e52aced138bb41b045a8595a87510f27d8d8c5
Author: Trond Myklebust <Trond.Myklebust>
Date:   Sun Aug 9 15:06:19 2009 -0400

    NFSv4: Don't do idmapper upcalls for asynchronous RPC calls

    We don't want to cause rpciod to hang...

    Signed-off-by: Trond Myklebust <Trond.Myklebust>


The 3.3-rc kernels have an upstream fix that works if applied to a pristine 3.2.5 kernel:

From: Trond Myklebust <Trond.Myklebust>
Date: Sat, 7 Jan 2012 13:22:46 -0500
Subject: NFSv4: Save the owner/group name string when doing open

commit 6926afd1925a54a13684ebe05987868890665e2b upstream.

...so that we can do the uid/gid mapping outside the asynchronous RPC
context.
This fixes a bug in the current NFSv4 atomic open code where the client
isn't able to determine what the true uid/gid fields of the file are,
(because the asynchronous nature of the OPEN call denies it the ability
to do an upcall) and so fills them with default values, marking the
inode as needing revalidation.
Unfortunately, in some cases, the VFS will do some additional sanity
checks on the file, and may override the server's decision to allow
the open because it sees the wrong owner/group fields.

Signed-off-by: Trond Myklebust <Trond.Myklebust>
Signed-off-by: Jonathan Nieder <jrnieder>

Please consider backporting this fix to a RHEL 6 update.

Regards, 

Rik


Version-Release number of selected component (if applicable):

all RHEL6 kernels

How reproducible:

always

Steps to Reproduce:
1. open a terminal and ssh to machine A on which your home directory is NFS4 mounted
2. open a terminal and ssh to machine B on which that same homedir is also NFS4 mounted
3. open vim and :q on machine A
4. open vim and :q on machine B
5. Machine B will keep on giving this error message unless the file is explicitly stat'ed. After opening vim on A again, the error message will return.

Actual results:

error about not being able to write

Expected results:

no error from vim

Additional info:

Comment 2 Jeff Layton 2012-03-20 14:15:39 UTC

*** This bug has been marked as a duplicate of bug 739797 ***

Comment 3 Orion Poplawski 2012-03-28 17:53:38 UTC
Unfortunately I don't have permission to see bug 739797.  Is this slated for a fix in EL6 soon?  I think I'm running into a version of this but it would be nice to test with a kernel with the patch applied if possible.

Comment 4 Jeff Layton 2012-03-28 17:59:38 UTC
It's coming in 6.3. If you think you're hitting the problem, then you're
certainly welcome to open a support case and reference that bug. They should
be able to get you a test kernel that you can use to confirm it.


Note You need to log in before you can comment on or make changes to this bug.