Re: why there is a complex sync between /var/lib/nfs/etab in user-mode and export_table in kernel mode?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



lioupayphone wrote:
> Hello, linux-nfs
> 
> i found that an entry in /var/lib/nfs/etab (etab for abbr)  was written to exprot_table of kernel-mode via a proc-file when a client requests mnt this entry.                                       
> when the entry in export_table of kernel-mode was expired (eg : reached its expiration time), an upcall machanism is able to make sure that the newly entry from etab of user-mode was written to export_table of kernel-mode. ie, the entry in export_table of kernel-mode was updated by the one of user-mode.
> 
> if the content listed above is true, i think linux nfs is too complex. and why not remove the etab from user-mode?
> in a word, i think it is easy to just maintain export_table of kernel-mode. we can directly scan /etc/exports and make up a complete export-entry, then write it to the export_table of kernel-mode. the entries in export_table of kernel-mode would never be expired unless we explicitly remove it from the export_table of kernel-mode (a proc MUST be provided for meeting this requirement).
> 
> when the server is rebooted and nfsd proc-filesystem is ready, just re-do "scanning the /etc/exports and make up complete export-entries, then write them into export_table of kernel-mode".  
> 
> i aims to 1) remove the complex upcall machanism ,  2) get rid of the couple of /var/lib/nfs/etab in user-mode and export_table in kernel-mode.
> 
> anyone can give me some suggestions? or points out what's wrong i am.
The /var/lib/nfs/etab file is the way the exportfs command communicates 
with the mountd daemon. 'exportfs -ar' causes the exports in /etc/exports
to be parsed and written to the etab. When a mount request is received
mountd reads the etab to build its internal export table. Ultimately
when the mount is successful, the kernel writes the mount to
/proc/net/rpc/nfsd.export/content.

So that's how the etab fits in the grand scheme of things... 

I believe what you are suggesting is simply pumping down
all the exports in /etc/exports directly to the kernel.
This ideas has been discussed and I believe the conclusion
we came to was; why pump down thousands of exports that
may or may not used. Dynamically building the kernel export
data just seem to make more sense in our case...

I hope this helps...

steved.

--
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

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux