Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
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.
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:
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.
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.