Hello everyone,
Performing some attribute caching tests I think I found some
inconsistencies between nfsv3 and nfsv4. Running a kernel based on
rhel6.3 (2.6.32-279.el6.x86_64) I found nfsv4 doesn't manage a file
modified on the server side (even with the noac mount option) while
nfsv3 does.
My test will be modifying a file every second on the server mount point:
[root@nfs ~]# FILE=/tmp/nfs_server/myfile ; while true ; do sleep 1 ;
sed -i 's/text1/text2/g' $FILE ; cat $FILE ; sleep 1; sed -i
's/text2/text1/g' $FILE ; cat $FILE ; done
text2
text1
text2
text1
text2
(and so on...)
Meanwhile, the client (which BTW is the same machine) will read the file
every second :
With NFSv4:
[root@nfs ~]# mount -o noac,vers=4 nfs:/tmp/nfs_server/ /tmp/nfs_client/
[root@nfs ~]# for i in 1 2 3 4 5 ; do cat /tmp/nfs_client/myfile; sleep
1 ; done
text2
text1
text1
text1
text1
With NFSv3:
[root@nfs ~]# mount -o noac,vers=3 nfs:/tmp/nfs_server/ /tmp/nfs_client/
[root@nfs ~]# for i in 1 2 3 4 5 ; do cat /tmp/nfs_client/myfile; sleep
1 ; done
text1
text2
text1
text2
text1
I can see in the tcpdump traces how the new change attribute and the
FATTR4_TIME_MODIFY attributes are well received but it's as if the nfs
client were ignoring these changes. I've been searching in the NFS list
but I didn't find anything similar. Is this a bug or just a normal
behavior? Sorry if it has been already pointed out.
Regards,
Diego Moreno
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html