Thread (1 message) 1 message, 1 author, 2015-05-21

NFS client broken in 4.1.0-rc2

From: Chuck Lever <hidden>
Date: 2015-05-21 01:16:18
Also in: linux-fsdevel, linux-nfs, lkml

On May 20, 2015, at 7:22 PM, Russell King - ARM Linux [off-list ref] wrote:
On Fri, May 15, 2015 at 03:50:14PM +0100, Russell King - ARM Linux wrote:
quoted
On Fri, May 15, 2015 at 10:26:48AM -0400, Chuck Lever wrote:
quoted
On May 15, 2015, at 10:24 AM, Russell King - ARM Linux [off-list ref] wrote:
quoted
While trying to update a kernel and modules on one of my test systems,
I was greeted by these errors:

tar: lib/modules/4.1.0-rc2+/kernel/drivers/media/platform/coda/coda.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/drivers/media/dvb-frontends/drx39xyj/drx39xyj.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/drivers/media/usb/em28xx/em28xx.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/drivers/usb/serial/option.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/drivers/usb/serial/ftdi_sio.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/drivers/input/mouse/psmouse.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/fs/udf/udf.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/fs/fuse/fuse.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/fs/nfsd/nfsd.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/sound/soc/codecs/snd-soc-wm8962.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/kernel/net/bluetooth/bluetooth.ko: Cannot utime
tar: lib/modules/4.1.0-rc2+/modules.alias.bin: Cannot utime
tar: lib/modules/4.1.0-rc2+/modules.alias: Cannot utime
tar: Exiting with failure status due to previous errors

Searching google wasn't helpful, as all the "Cannot utime" errors that
google could find are followed by an errno string.

stracing at first sight didn't seem to be helpful, as no syscalls (apart
from openat() with a pre-existing file) were failing.

Having recently updated to fc21 tar generating the archive, I thought
maybe it was a tar format bug between fc21 tar and the target's tar.
That was until I tried to "apt-get source tar" on the target, and was
greeted by the same error.

So I then tried untaring the tar source archive onto a ramfs, which
worked without complaint.  The difference being that it's a root NFS
box, and so I was untaring onto NFS.

Here's the entry from /proc/mounts:

x.y.z.221:/var/boot/ci on / type nfs (rw,nolock,vers=4,addr=x.y.z.221,clientaddr=a.b.c.55)

Looking closer at the strace reveals this:

openat(AT_FDCWD, "lib/modules/4.1.0-rc2+/kernel/drivers/media/platform/coda/coda.ko", O_WRONLY|O_CREAT|O_EXCL|O_NOCTTY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC, 0600) = -1 EEXIST (File exists)
unlinkat(AT_FDCWD, "lib/modules/4.1.0-rc2+/kernel/drivers/media/platform/coda/coda.ko", 0) = 0
openat(AT_FDCWD, "lib/modules/4.1.0-rc2+/kernel/drivers/media/platform/coda/coda.ko", O_WRONLY|O_CREAT|O_EXCL|O_NOCTTY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC, 0600) = 4
write(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\1\0(\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
...
write(4, "\300H\0\0\34\345\1\0\314H\0\0\34\345\1\0\330H\0\0\34\345\1\0<I\0\0\34\370\1\0"..., 7312) = 7312
dup2(4, 4)                              = 4
fstat64(4, {st_mode=0757221, st_size=13181880119170311768, ...}) = 21
write(2, "tar: ", 5)                    = 5
write(2, "lib/modules/4.1.0-rc2+/kernel/dr"..., 79) = 79
write(2, "\n", 1)                       = 1
fchown32(4, 0, 0)                       = 0
fchmod(4, 0664)                         = 0
close(4)                                = 0

Look closely at that fstat64, and you'll notice that it's returning crap.
This is likely fixed by:

 http://marc.info/?l=linux-nfs&m=143095122604344&w=2
Yes, it appears to be fixed by that change.  I'll add it to my tree so
my test systems work.
I notice NFS patches were merged by Linus recently, but this patch was not
in the set.  Is this patch scheduled to go in for 4.1?
Trond sent Linus a pull request yesterday for 2 patches, including
the one you are asking about. See:

http://marc.info/?l=linux-nfs&m=143205093309624&w=2

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help