Mail from a user on a linux Redhat 5.1 system mounting files from a F520 running 5.1.2R3, and getting some odd results with the .snapshot files. Sounds client-side to me, but I'm not real familiar with linux:
Here's an example of bad .snapshot confusion under Linux.
[runic] mv mAwareness.java mAwareness.bad [runic] cp .snapshot/hourly.1/mAwareness.java . cp: `.snapshot/hourly.1/mAwareness.java' and `./mAwareness.java' are the same file
(( no, they aren't; there shouldn't BE a ./mAwareness.java: I just mv'd it. )) (( later, viewing the directory on hawk confirms that the mv was done ))
[runic] cp .snapshot/hourly.1/mAwareness.java xx cp: .snapshot/hourly.1/mAwareness.java: No such file or directory
(( huh? it was just there ))
[runic] ls -l mA* -rw-rw-r-- 1 gmt gmt 870 Jan 12 15:33 mAwareness$1.class -rw-rw-r-- 1 gmt gmt 984 Jan 12 15:33 mAwareness$2.class -rw-rw-r-- 1 gmt gmt 1248 Jan 12 15:33 mAwareness.class -rw-rw-r-- 1 gmt gmt 1241 Dec 21 14:03 mAwareness.java
(( where's mAwareness.bad? ))
[runic] ls -l xx /bin/ls: xx: No such file or directory [runic] make clean make -f ../jMakefile clean make[1]: Entering directory `/.automount/home/gmt/.snapshot/hourly.1/cj/Monitor'
(( wait a minute. that's the wrong directory. I'm not in the snapshot dir. ))
rm -f built.t newest.t *.class *.jar rm: built.t: Read-only file system rm: newest.t: Read-only file system rm: Config.class: Read-only file system rm: Display$1.class: Read-only file system rm: Display$2.class: Read-only file system rm: Display.class: Read-only file system rm: HostPane.class: Read-only file system rm: Monitor$1.class: Read-only file system rm: Monitor$2.class: Read-only file system rm: Monitor.class: Read-only file system rm: Remote.class: Read-only file system rm: StripChart.class: Read-only file system rm: Supervisor$1.class: Read-only file system rm: Supervisor.class: Read-only file system rm: SysData.class: Read-only file system rm: SysEntry.class: Read-only file system rm: mAwareness$1.class: Read-only file system rm: mAwareness$2.class: Read-only file system rm: mAwareness.class: Read-only file system rm: mInit$1.class: Read-only file system rm: mInit.class: Read-only file system rm: mReporter$1.class: Read-only file system rm: mReporter.class: Read-only file system rm: rBoot$1.class: Read-only file system rm: rBoot.class: Read-only file system rm: rControl$1.class: Read-only file system rm: rControl.class: Read-only file system rm: rIdentity.class: Read-only file system rm: rLoad$1.class: Read-only file system rm: rLoad.class: Read-only file system rm: rMicro.class: Read-only file system rm: rboot.jar: Read-only file system rm: remote.jar: Read-only file system make[1]: *** [clean] Error 1 make[1]: Leaving directory `/.automount/home/gmt/.snapshot/hourly.1/cj/Monitor' make: *** [clean] Error 2
(( this would have worked except for the directory confusion ))
Quoting Jim Davis (jdavis@cs.arizona.edu):
Mail from a user on a linux Redhat 5.1 system mounting files from a F520 running 5.1.2R3, and getting some odd results with the .snapshot files. Sounds client-side to me, but I'm not real familiar with linux:
As Bruce said, it's impossible to tell without a full transcript. However, I have seen some code in the Linux kernel that seems to address the ill-defined issue of "snapshot confusion". Apparently this is a problem in Linux because they hash inodes (at least sometimes) by fileid, and the fileid for a directory and it's snapshot are the same. The most common manifestation of this problem, according to several people on the linux newsgroups, is a directory that suddenly becomes read-only because the attributes for the snapshot and the real directory got confused.
(For what it's worth, we have a number of Linux boxes mounting many Netapp filers here internally, and I've never seen either of these problems nor heard of anyone else seeing them.)
In any case, the Linux user may find the following information useful if he's seeing this often. A kernel-compile-time option, CONFIG_NFS_SNAPSHOT, was added to Linux around 2.1.130, and is in the 2.2.0-pre releases. This option can be flipped on with the kernel configurator and then compiled in. It sounds like it might help, but again, we have no data on this issue. If your user has success with this or wants to provide additional detail, I'd love to see it.
Thanks Paul Eastham NetApp Engineering
On Thu, 14 Jan 1999, Paul Eastham wrote:
if he's seeing this often. A kernel-compile-time option, CONFIG_NFS_SNAPSHOT, was added to Linux around 2.1.130, and is in the 2.2.0-pre releases.
Our linux guy installed a kernel with this option and the user who reported the problem says it's gone now. Thanks!
if he's seeing this often. A kernel-compile-time option, CONFIG_NFS_SNAPSHOT, was added to Linux around 2.1.130, and is in the 2.2.0-pre releases.
Jim Davis jdavis@CS.Arizona.EDU writes:
Our linux guy installed a kernel with this option and the user who reported the problem says it's gone now. Thanks!
The CONFIG_NFS_SNAPSHOT option has been #defined by default since it went in in 2.1.82, so you shouldn't need to make any configuration changes to get it.
More importantly, Linux 2.2.0-pre5 has an additional .snapshot fix that you probably want. (Although, you would want to use 2.2.0-pre7 instead.)
- Dan
On Thu, 14 Jan 1999, Daniel Quinlan wrote:
More importantly, Linux 2.2.0-pre5 has an additional .snapshot fix that you probably want. (Although, you would want to use 2.2.0-pre7 instead.)
I believe it was the -pre7 kernel he installed. He did mention that it seemed to be turned on in the source instead of being a config option.