Subject: Re: Odd grunging with grep(1)
To: Charles M. Hannum <email@example.com>
From: Brain fried. Explanation is in file "core". <firstname.lastname@example.org>
Date: 10/25/1998 07:59:23
"Charles M. Hannum" sez:
* So I noticed something odd while installing a pkg (specifically xpm)
* with /usr/pkgsrc in NFS...
* ===> Registering installation for xpm-3.4k
* grep: /u1/usr/pkgsrc/graphics/xpm/files/CVS: Operation not permitted
* grep: /u1/usr/pkgsrc/graphics/xpm/pkg/CVS: Operation not permitted
* This seems Wrong.
Why so? You can't open() an NFS'd directory, and if you're doing
grep $pat $pkg/files/* $pkg/pkg/*
and there's a CVS directory, AND it's on NFS, you can expect those
kinds of messages to show up. NFS protocol apparently requires the
use of NFS_OPENDIR (or its moral equivalent, whatever it's called)
across RPC; if you try to use NFS_OPEN on a directory, the NFS server
will return EPERM.
I've been running into this one since the OLD SunOS days (3.x).
It is interesting to note that open() will still work on a local
directory; probably because there is no ufs_opendir() in the kernel
-- it's still implemented as wrappers around open() locally; I believe
(I'm not looking at my tree right now) that nfs_open() and nfs_opendir()
[or their moral equivalents] _are_ implemented in the kernel.
Bought the planet (paid cash).