Hmm, that’s going to be very tricky. You need to handle the condition where the client is writing to an arbitrary file handle (because the server rebooted or the server’s namespace cache has flushed since the client did a LOOKUP). How will you translate an arbitrary file handle to a replica file handle in order to open the replica file?
Frank From: Nilesh Chate [mailto:[email protected]] Sent: Monday, October 5, 2015 12:35 AM To: [email protected]; [email protected]; [email protected]; [email protected] Subject: Re: [Nfs-ganesha-devel] passing extra data via ganesha.conf Hi, I want to create a scenario where : 1. Server will export a path (say /home/xyz). 2. Client mounts this path on his machine (say /mnt/ganesha_mounted). 3. Client writes on the mounted path (say #touch /mnt/ganesha_mounted/test.txt). 4. By default test.txt will be written to /home/xyz on server BUT i also want this to be written at different path. (say /home/xyz_replication). Regards, Nilesh On Mon, Oct 5, 2015 at 12:27 PM, Nilesh Chate <[email protected] <mailto:[email protected]> > wrote: Nilesh Chate <[email protected] <mailto:[email protected]> > Thu, Oct 1, 2015 at 1:15 PM To: [email protected] <mailto:[email protected]> Hi, I am using the following ganesha.conf EXPORT { Export_Id = 77; Path = /home; Pseudo = /home; Access_Type = RW; FSAL { Name = VFS; } } Q1. I want to also pass some extra details via this config file. How do i do that?. Ex. I want to pass a string(some extra mounpoints) via this config file?. Q2. Can i know the path where the client have mounted our exported path?. If yes how? Regards, Nilesh _____ Matt Benjamin <[email protected] <mailto:[email protected]> > Thu, Oct 1, 2015 at 5:57 PM To: Nilesh Chate <[email protected] <mailto:[email protected]> > Cc: [email protected] <mailto:[email protected]> Hi Nilesh, 1. the most straightforward thing you can do is add a YOURFSAL block to the config file--at the top-level most commonly (see GPFS, Lustre, etc), but you could probably extend other blocks with some discussion on list and/or irc 2. you know the export it used, and the protocol-defined details of the client, that's it Matt -- Matt Benjamin Red Hat, Inc. 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103 <http://www.redhat.com/en/technologies/storage> http://www.redhat.com/en/technologies/storage tel. 734-761-4689 fax. 734-769-8938 cel. 734-216-5309 [Quoted text hidden] > ------------------------------------------------------------------------------ > > _______________________________________________ > Nfs-ganesha-devel mailing list > <mailto:[email protected]> > [email protected] > <https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel> > https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel > _____ Frank Filz <[email protected] <mailto:[email protected]> > Thu, Oct 1, 2015 at 10:27 PM To: Nilesh Chate <[email protected] <mailto:[email protected]> >, [email protected] <mailto:[email protected]> > From: Nilesh Chate [mailto: <mailto:[email protected]> > [email protected]] > > Hi, > I am using the following ganesha.conf > > EXPORT > { > Export_Id = 77; > Path = /home; > Pseudo = /home; > Access_Type = RW; > FSAL { > Name = VFS; > } > } > > Q1. I want to also pass some extra details via this config file. How do i do > that?. Ex. I want to pass a string(some extra mounpoints) via this config > file?. Are you implementing a new FSAL? What is the extra mountpoints you want to pass? You can add options to the FSAL block of the export. That block is BOTH parsed by Ganesha's export code AND by the FSAL. > Q2. Can i know the path where the client have mounted our exported path?. > If yes how? An FSAL could infer if any sub-directories of exports have been mounted by NFS v3 clients (and which directories, and even which client) by tracking how lookup_path is called, but of course if the client had mounted and then the server reboots, that information is lost. NFS v4 clients even when the "mount" something other than the PseudoFS root, do a PUTROOTFH followed at some later point (POSSIBLY in a single COMPOUND) LOOKUPs. There would be no way to infer for sure what the "mount" on the client was. My question to you would be what do you hope to accomplish by having this information? Perhaps there is some other way to get what you need. Frank --- This email has been checked for viruses by Avast antivirus software. <https://www.avast.com/antivirus> https://www.avast.com/antivirus _____ Malahal Naineni <[email protected] <mailto:[email protected]> > Thu, Oct 1, 2015 at 11:40 PM Reply-To: Nilesh Chate <[email protected] <mailto:[email protected]> >, [email protected] <mailto:[email protected]> To: Nilesh Chate <[email protected] <mailto:[email protected]> > Cc: [email protected] <mailto:[email protected]> Nilesh Chate [ <mailto:[email protected]> [email protected]] wrote: > Hi, > I am using the following ganesha.conf > EXPORT > { > Export_Id = 77; > Path = /home; > Pseudo = /home; > Access_Type = RW; > FSAL { > Name = VFS; > } > } > Q1. I want to also pass some extra details via this config file. How do i > do that?. Ex. I want to pass a string(some extra mounpoints) via this > config file?. Look config.txt source file. It has all the things you can keep in the ganesha config (it could one single file or multiple files). What is extra mountpoints? You mean more exports? Then you declare another EXPORT {}. You can have a number of such export blocks. Ganesha NFS server is completely different from other nfs servers. How would you do what you wanted with Linux kernel NFS server, then we may suggest corresponding options. > Q2. Can i know the path where the client have mounted our exported path?. > If yes how? Client could have mounted anywhere, and there is no way to know. If you are asking about the complete exported path (which could be a subdir inside the xport), I am not sure if you can somehow get it. Regards, Malahal. On Thu, Oct 1, 2015 at 11:40 PM, Malahal Naineni <[email protected] <mailto:[email protected]> > wrote: Nilesh Chate [[email protected] <mailto:[email protected]> ] wrote: > Hi, > I am using the following ganesha.conf > EXPORT > { > Export_Id = 77; > Path = /home; > Pseudo = /home; > Access_Type = RW; > FSAL { > Name = VFS; > } > } > Q1. I want to also pass some extra details via this config file. How do i > do that?. Ex. I want to pass a string(some extra mounpoints) via this > config file?. Look config.txt source file. It has all the things you can keep in the ganesha config (it could one single file or multiple files). What is extra mountpoints? You mean more exports? Then you declare another EXPORT {}. You can have a number of such export blocks. Ganesha NFS server is completely different from other nfs servers. How would you do what you wanted with Linux kernel NFS server, then we may suggest corresponding options. > Q2. Can i know the path where the client have mounted our exported path?. > If yes how? Client could have mounted anywhere, and there is no way to know. If you are asking about the complete exported path (which could be a subdir inside the xport), I am not sure if you can somehow get it. Regards, Malahal. --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus
------------------------------------------------------------------------------
_______________________________________________ Nfs-ganesha-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
