Re: GlusterFS API to manipulate open file descriptor - glfs_fcntl?

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

 



On Tue, 2019-10-15 at 12:36 +0200, Niels de Vos wrote:
> On Tue, Oct 15, 2019 at 12:20:54PM +0530, Anoop C S wrote:
> > Hi all,
> > 
> > This is to check and confirm whether we have an API(or an internal
> > implementation which can be exposed as API) to perform operations
> > on an
> > open file descriptor as a wrapper around existing fcntl() system
> > call.
> > We do have specific APIs for locks(glfs_posix_lock) and file
> > descriptor
> > duplication(glfs_dup) which are important among those operations
> > listed
> > as per man fcntl(2).
> > 
> > At present we have a requirement(very recent) from Samba to set
> > file
> > descriptor flags through its VFS layer which would need a
> > corresponding
> > mechanism inside GlusterFS. Due to its absence, VFS module for
> > GlusterFS inside Samba will have to workaround with the hack of
> > creating fake local file descriptors outside GlusterFS.
> > 
> > Thoughts and suggestions are welcome.
> 
> The fcntl() operations are split when FUSE is used. There in direct
> fcntl() call that FUSE passes on, instead it calls lock() and similar
> interfaces. I think you refer to F_GETFD and F_SETFD commands for
> fcntl(). For all I can see, these do not exist in FUSE, and have not
> been added to gfapi either. Not sure if the single supported flag
> FD_CLOEXEC can have a benefit on Gluster, as glfs_fini() is expected
> to
> cleanup everything that gfapi allocates.
> 
> Can you explain your use-case a little more?

Quoting the response from my other reply..

> During open/create code path Samba tries to set blocking
> flag(O_NONBLOCK on Linux) on open file descriptor through its VFS
> layer. Comparing to fcntl() call command would be F_SETFL with
> required
> flag(O_NONBLOCK). It is an expectation that backend file system(in
> this
> case GlusterFS) executes this operation and return the result. VFS
> module for GlusterFS inside Samba can extract required file
> descriptor
> but would require a way to set the flag on it.

So to be specific, it is F_GETFL and F_SETFL commands that we are
looking for to be consumed.

_______________________________________________

Community Meeting Calendar:

APAC Schedule -
Every 2nd and 4th Tuesday at 11:30 AM IST
Bridge: https://bluejeans.com/118564314

NA/EMEA Schedule -
Every 1st and 3rd Tuesday at 01:00 PM EDT
Bridge: https://bluejeans.com/118564314

Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
https://lists.gluster.org/mailman/listinfo/gluster-devel




[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux