NFSv4 regression in 3.4-rc1 causes Invalid Argument on chown/grp
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Dave Chiluk | ||
Precise |
Invalid
|
Undecided
|
Dave Chiluk | ||
Quantal |
Fix Released
|
Undecided
|
Dave Chiluk | ||
Raring |
Fix Released
|
Medium
|
Dave Chiluk |
Bug Description
SRU Justification:
Impact: chown/chgrp on AIX exported NFSv4 shares errors with Invalid argument
Fix: (upstream) fix length of string returned from idmapper to not include null.
Testcase: Mount an NFSv4 share. Take a tcpdump of running a chgrp or chown command.
Check the stringlenth of the username or group in the setattr command inside of the
tcpdump to verify that no null character is included in the string length.
"Our home directories are mounted via NFSv4 from a server running AIX 7.1.
After an upgrade of my client from Ubuntu 12.04 to 12.10, 'chgrp' fails when
trying to change a file or directory in my home directory:"
username@1210:~/x$ ls -l newfile
-rw------- 1 username groupname 0 Jan 3 16:56 newfile
username@1210:~/x$ chgrp groupname newfile
chgrp: changing group of `newfile': Invalid argument
groupname is his default group.
username@1210:~/x$ chown -v username newfile
chown: changing ownership of `newfile': Invalid argument
failed to change ownership of `newfile' from username to username
The issue was bisected to:
57e62324e469e09
commit 57e62324e469e09
Author: Bryan Schumaker <email address hidden>
Date: Fri Feb 24 14:14:51 2012 -0500
NFS: Store the legacy idmapper result in the keyring
This patch removes the old hashmap-based caching and instead uses a
"request key actor" to place an upcall to the legacy idmapper rather
than going through /sbin/request-key. This will only be used as a
fallback if /etc/request-
Signed-off-by: Bryan Schumaker <email address hidden>
Signed-off-by: Trond Myklebust <email address hidden>
:040000 040000 0f16d9ec47ae513
:040000 040000 c0e64c847a273af
In addition, a difference was found in the idmapd logs when set to "Verbosity = 3":
when trying chgrp groupname, syslog differences
Working case on kernel 3.3.3:
rpc.idmapd[676]: Client 5: (user) name "<email address hidden>" -> id "5194"
rpc.idmapd[676]: Client 5: (group) name "<email address hidden>" -> id "100003"
rpc.idmapd[676]: Client 5: (group) id "100003" -> name "<email address hidden>"
Failing case on kernel 3.4-rc1 (3.4-rc first with bug, also would be same with 3.5:
rpc.idmapd[2129]: Client 0: (group) id "100003" -> name "<email address hidden>"
Possibly related side issue that impeded testing:
Mainline kernel 3.5-rc7 and up not able to mount on: mount.nfs4: an incorrect mount option was specified
[ 612.739763] gss_create: Pseudoflavor 390004 not found!
[ 612.739771] RPC: Couldn't create auth handle (flavor 390004)
This is quite confusing to me as 3.5 in Quantal can definitely mound the NFS share.
4. Reproduce steps
4.1. Mount NFSv4 share on AIX 7.1 with Kerberos krb5i
4.2. Create new file that you should be able to change ownership of
4.3. Run chown/chgrp. Note error
a. Actual Results: chgrp: changing group of `newfile': Invalid argument
b. Expected Results: file has changed permissions
5. Known Workaround: Use a kernel pre-3.4-rc1
Exports on the AIX server (yes different format then Linux):
/cfs -vers=4,
/cfs/home -vers=4,
/cfs/share -vers=4,
Fstab on client:
cfs-nfs.
tags: | added: bot-stop-nagging |
Changed in linux (Ubuntu): | |
assignee: | nobody → Dave Chiluk (chiluk) |
description: | updated |
Changed in linux (Ubuntu Precise): | |
assignee: | nobody → Dave Chiluk (chiluk) |
status: | New → In Progress |
Changed in linux (Ubuntu Quantal): | |
assignee: | nobody → Dave Chiluk (chiluk) |
status: | New → In Progress |
Changed in linux (Ubuntu Raring): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Precise): | |
status: | In Progress → Invalid |
Changed in linux (Ubuntu Quantal): | |
status: | In Progress → Fix Released |
tags: | added: verification-needed-quantal |
tags: |
added: verification-done-quantal removed: verification-needed-quantal |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1101292
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.