Bug 4963 - diff on nfs mounted directories fails
Summary: diff on nfs mounted directories fails
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: nfs-server
Version: 6.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: David Lawrence
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 1999-09-07 20:40 UTC by Chris Carlson
Modified: 2008-05-01 15:37 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2000-02-16 13:23:55 UTC


Attachments (Terms of Use)

Description Chris Carlson 1999-09-07 20:40:40 UTC
Performing a "diff -qr <dir1> <dir2>" fails when either of
the two directories are NFS mounted.

According to an strace of diff:

----------------------------------------
open("ndd.sav", O_RDONLY|O_NONBLOCK|0x10000) = 3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
brk(0x805d000)                          = 0x805d000
lseek(3, 0, SEEK_CUR)                   = 0
getdents(3, 0 60
12 60
28 60
44 60
/* 4 entries */, 3933) = 60
lseek(3, 0, SEEK_CUR)                   = -1 EPERM
(Operation not permitted)
getdents(3, /* 0 entries */, 3933)      = 0
close(3)                                = 0
write(2, "diff: ", 6diff: )                   = 6
write(2, "ndd.sav: Operation not permitted"..., 33ndd.sav:
Operation not permitted
) = 33
close(1)                                = 0
_exit(2)                                = ?
----------------------------------------

It appears that diff is trying to do an lseek on the
directory to rewind it but this returns an error.


Vital information:

/proc/version:
Linux version 2.2.5-15 (root@porky.devel.redhat.com) (gcc
version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1
Mon Apr 19 22:21:09 EDT 1999

NFS mounted filesystem is from an SGI Challenge L running
IRIX 6.2.

Comment 1 junkimu 2000-01-25 12:49:59 UTC
This is probably the same problem as bug 648.  Upgrading to a more recent kernel
(2.2.10 that comes with 6.1 seems to work fine) should help.

Comment 2 junkimu 2000-01-26 01:34:59 UTC
Actually, I had to install the glibc from the 6.1 distribution as well, so the
problem might be in the glibc and not the kernel.

This combination seems to solve the problem:

kernel-2.2.12-20
glibc-2.1.2-11


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