Hi,
I found this bug report:
http://now.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=21821
The "mknod" command will fail when executed from a Linux NFS client.
Creating a named pipe will result in a zero-byte file. Creating a block
or character file will give the error message "Operation not permitted",
with no file created.
Workaround
Since this behavior is coded directly within the Linux kernel itself,
use something other than Linux when executing "mknod" over NFS.
In other words: it works on HP-UX, Solaris, etc.
This was the behaviour on old kernels though:
I checked both the latest stable (2.2.14) and development (2.3.42)
kernels and found this in fs/nfs/inode.c:
/*
* File system information
*/
static struct file_system_type nfs_fs_type = {
"nfs",
0 /* FS_NO_DCACHE - this doesn't work right now*/,
nfs_read_super,
NULL
};
Compare this to a filesystem which allows the "dev" option to mount
(in fs/ext2/super.c):
static struct file_system_type ext2_fs_type = {
"ext2",
FS_REQUIRES_DEV /* | FS_IBASKET */, /* ibaskets have unresolved bugs */
ext2_read_super,
NULL
};
So basically, whatever you do with "mount" from the user command
regarding "dev" or "nodev" with an NFS filesystem will have no effect
in the Linux kernel; it will always be "nodev".
Did you use another Linux kernel on the other Filer ?
Also, ONTAP 8, 7-Mode may behave differently then ONTAP 7, since the underlying layer is different.
Hope this helps.
Cheers,
O.