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

Atin Mukherjee amukherj at redhat.com
Wed Mar 16 03:39:12 UTC 2016



On 03/15/2016 06:39 PM, Jiffin Tony Thottan wrote:
> 
> 
> 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?
How about the above question?
>>>     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
> 
> -- 
> Jiffin
>>> 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-devel mailing list