[Gluster-devel] NFS problem (write error: Operation not permitted)

Anand Avati avati at zresearch.com
Wed Apr 11 18:49:38 UTC 2007


Hi, 

have you read the README.NFS in the fuse-2.6.x download tarball?
please seee if the fsid= option helps (as written in that file)

regards,
avati


On Tue, Apr 10, 2007 at 10:59:08PM +0200, gpvcs at tiscali.fr wrote:
> Hi everybody,
> 
> I tried the tla patch 98 and found it brokened for me (fcntl
> freeze).
> The nfs still doesnt work (see previous mail
> http://lists.gnu.org/archive/html/gluster-devel/2007-04/msg00051.html):
> 
> context:
> -----------
> 
> mount:
> glusterfs:31850 on /gfs/fs1 on /export/fs1 type none (rw,bind)
> /gfs/fs1 type fuse (rw,allow_other,default_permissions)
> d610:/export/fs1 on /gfs/nfs1 type nfs
> (rw,nfsvers=3,addr=192.80.221.32)
> 
> 	(-- pts/27) ls > /gfs/nfs1/zz
> 	ls: write error: Operation not permitted
> (-- pts/27) ls -lrt /gfs/nfs1/zz
> -rw-r--r--  1 fturi ft 0 Apr 10 16:28 /gfs/nfs1/zz
> 
> I've been trying to debug this NFS bug for the last few days
>  and all I found is:
> nfsd is requesting attribut (fuse_getattr)
> nfsd open the file (fuse_open) successfully
> nfsd refuse to write to the file
> nfsd relase the file (fuse_release)
> 
> 
> According to man open:
>        On NFS file systems with UID mapping enabled, open
> may return a file descrip-
>        tor but e.g. read(2) requests are denied with EACCES.
>  This  is  because  the client  performs  open  by  checking
> the permissions,but UID mapping is per-
>        formed by the server upon read and write requests.
> 
> I did research on fuse project on found:
> 	http://sourceforge.net/mailarchive/message.php?msg_id=E1ELKsj-00066E-00%40dorka.pomaz.szeredi.hu
> where miklos states:
> 	There's a difference between exporting and "exporting
> 	 properly", meaning that you provide proper
> 	 implementations for export operations that would let
> 	 you create an inode based on the inode number offered
> 	 by the client and connect it back into the dentry tree
> 	 by walking up.
> -- and later:
> 	I believe I have tracked down the problem that I'm
> 	 getting. fuse_lookup calls d_find_alias for a
> 	 directory to check if an alias is being created. 
> 	 There is a check:
>  	 if (alias && !(alias->d_flags & DCACHE_DISCONNECTED))
> Another mail
> 	http://sourceforge.net/mailarchive/message.php?msg_id=1109580348.19900.1123.camel%40ipcus
> explain the problematic of persistent inode for NFS
> 
> I understand that I-node are computed by glusterfs wich
> might be a problem.
> 
> 
> I dont really know whats happening on my box.
> Does anybody have the same problem with exporting a
> filesystem using NFS ?
> Is there any success story around it ?
> 
> I will really appreciate some help on this issue as I can
> only use NFS to access my glusterfs from AIX.
> My need is to be able to NFS export glusterfs from both
> member of the cluster.
> Mount them on two separate AIX partitions, and use fcntl to
> synchronize writting to the glusterfs cluster.
> [AIXpart1] --> [mountNFS1] --> [export fs1 ] -->
> [client1.vol] --> [AFR server1.vol server2.vol]
>                                                            
>                  /\
>                                                            
>              glusterfs
>                                                            
>                  \/
> [AIXpart2] --> [mountNFS2] --> [export fs2] -->
> [client2.vol] --> [AFR server1.vol server2.vol]
> This way both AIX partitions will share a high avaibility
> parallel file system.
> 
> Regards Francois
> 
> ---------- Initial Header -----------
> 
> From      : "gpvcs at tiscali.fr" <gpvcs at tiscali.fr>
> Subject : Re: [Gluster-devel] Is lock (fcntl) supported by
> multilple concurentclient ?
> 
> 
> 
> 
> ------------------------ ALICE C'EST ENCORE MIEUX AVEC CANAL+ LE BOUQUET ! ---------------
> Découvrez vite l'offre exclusive ALICEBOX et CANAL+ LE BOUQUET, en cliquant ici http://alicebox.fr
> Soumis à conditions.
> 
> 
> 
> 
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
> 

-- 
ultimate_answer_t
deep_thought (void)
{ 
  sleep (years2secs (7500000)); 
  return 42;
}





More information about the Gluster-devel mailing list