fs_locations: replica information from /etc/exports reaches kernel only sporadically

Andre van Hoorn andre.van.hoorn at informatik.uni-oldenburg.de
Wed Aug 23 21:22:38 EDT 2006


Hi,


Since the current CITI NFSv4 patches support the FS_LOCATIONS attribute
I'd like to use the existing functionality for my replication application.

Unfortunately, I couldn't retrace the way (and when) the information
flows from /etc/exports via exportfs and mountd into the nfsd kernel module:

I specified the following export with replicas in /etc/exports:
/export  *(rw,fsid=0,insecure,no_subtree_check,replicas="/@192.168.0.1")

The replica information is parsed by exportfs but doesn't reach the
kernel in /fs/nfsd/export.c:svc_export_parse(struct cache_detail *cd,
char *mesg, int mlen) where I expect the string 'mesg' to end with
"fsloc 1 192.168.0.1 / 0" each time .

I added the debug output
printk ("NFSD: svc_export_parse (mesg: %s)\n", mesg);
being executed right after entering svc_export_parse. Executing a mount
(for instance "triggered" by 'mount -t nfs4 192.168.0.2:/ /mnt/nfs4/ -o
port=2049,clientaddr=192.168.0.2,noauto,intr') I see an appropriate
export string (e.g. "* /export 1156381578 9254 65534 65534 0") which in
almost every case doesn't contain the replica information.

Sporadically (I can't reproduce it), I see the expected string "fsloc 1
192.168.0.1 / 0" appended. In this case svc_export_parse is executed
again right after it with 'mesg' not containing the replica information.

Could you give me some additional information about the current status
of the FS_LOCATIONS implementation? Did I misunderstand s.th. completely?

My relevant setup:
- - kernel 2.6.17.7 with patch linux-2.6.17-CITI_NFS4_ALL-1.diff
- - nfs-utils-1.0.10 with nfs-utils-1.0.10-CITI_NFS4_ALL-1.dif




Best regards,

André


- --
 André van Hoorn

 E-Mail:   avanhoorn at voorn.net
 Internet. http://www.voorn.net
 ----------------------------------------------------------
 Birkenweg 21 - 26725 Emden - Germany
 Telefon: +49 (4921) 954231
 ----------------------------------------------------------
 1400 University Ave. #A308D - Riverside, CA 92507 - U.S.A.
 Phone:   + 1 (909) 997-2803


More information about the NFSv4 mailing list