[Gluster-users] Improving subdir export for NFS-Ganesha

Jiffin Tony Thottan jthottan at redhat.com
Tue Mar 15 13:09:57 UTC 2016

On 15/03/16 12:23, Atin Mukherjee wrote:
> On 03/15/2016 11:48 AM, Jiffin Tony Thottan wrote:
>> Hi all,
>> The subdir export is one of key features for NFS server. NFS-ganesha
>> have already supports subdir export,
>>   but it has lot of limitations when it is intregrated with gluster.
>> Current Implementation :
>> Following steps are required for a subdir export
>> * export volume using ganesha.enable option
>> * edit the export configuration file by adding subdir options
>> * do refresh-config in that node using ganesha-ha.sh
>> * limitation : multiple directories cannot be exported at a time via
>> script.
>>                     If user to need to do that(it is possible), all the
>> steps should be done in manually
>>                     which includes creating export conf file, use latest
>> export id, include it in ganesha conf etc.
>>                     And also here it become mandatory to export root
>> before exporting subdir.
>> Suggested approach :
>> * Introduce new volume set command  "ganesha.subdir" which will handle
>> above mentioned issue cleanly
>>     for example, gluster volume set <volname> ganesha.subdir
>> <path1,path2,path3 ...>
>>     if u want to unexport path2, use the same command  with mentioning path2
>>     gluster volume set <volname> ganesha.subdir <path1,path3 ...>.(Is
>> different option required ?)
> How do you handle a case where you have to unexport all the paths?
>>     The root of the volume should be export only using ganesha.enable
>> options.
>>     This require a lot of additions in glusterd code base and minor
>> changes in snapshot functionality.
> Could you detail out what all changes will be required in glusterd
> codebase when volume set ganesha.subdir <list of path> is executed?
> Based on that we can only take a call whether its feasible to take this
> in 3.7.x or move it to 3.8.

This is just a rough estimation :
1.) glusterd/cli for introducing new option
2.) need to modify functions like ganesha_manage_export() to accommodate 
new option
3.) changes related to ganesha scripts
4.) minor modification to snapshot 
functionality(glusterd_copy_nfs_ganesha_file)  for ganesha
approximately I expect around 100-150 lines of code to be added

>> Can above mentioned improvement  targeted  for 3.7.x release (3.7.10 or
>> 3.7.11) or should I need to move it for 3.8 release ?
>> Please provide your valuable feedback on the same.
>> Please Note : It is not related to subdir export for fuse mount.
>> Regards,
>> Jiffin

More information about the Gluster-users mailing list