Re: [GEDI] Proposal for an extended READDIRPLUS operation via gfAPI

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

 



On Fri, Apr 21, 2017 at 06:50:28PM +0530, Soumya Koduri wrote:
> Hi,
> 
> We currently have readdirplus operation to fetch stat for each of the
> dirents. But that may not be sufficient and often applications may need
> extra information, like for eg., NFS-Ganesha like applications which operate
> on handles need to generate handles for each of those dirents returned. So
> this would require extra calls to the backend, in this case LOOKUP (which is
> very expensive operation) resulting in quite slow
> readdir performance.
> 
> To address that, introducing this new API using which applications can
> request for any extra information to be returned as part of
> readdirplus response [1]
> 
> Patch: https://review.gluster.org/#/c/15663
> Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1442950
> Github issue#  https://github.com/gluster/glusterfs/issues/174
> 
> The interface is designed to be a bit aligned with xstat [2] format as
> suggested by Niels. This helps in extending this operation in future.
> 
> The synopsis of this new API - the arguments to be passed and how it can be
> used is mentioned in the patch [3].
> 
> Since the initial requirement is to return handles, I have defined it with
> glfs_h_* prefix for now, but it may well be used by applications not having
> to use them (like SMB). Suggestions are welcome.

I do not think this should be a glfs_h_* specific function. None of the
parameters depend on handles. That one of the attributes that can be
requested is a glfs_object (handle) is just sortof conincidence.
 
> The current changes are POC and need to tested extensively but we had seen a
> huge performance improvement (with initial patch-set, at least on a single
> brick volume).
> 
> Request for comments/suggestions on any improvements needed on the
> interface.

As you've noticed, I've added quite a few comments in Gerrit already :D

Shyam gave this work an exception for 3.11, meaning that it may get
merged and backported before the 5th of May. With the current progress,
it seems you're on track to get that done.

Thanks!
Niels


> Thanks,
> Soumya
> 
> [1] https://review.gluster.org/#/c/15663
> [2] https://lwn.net/Articles/394298/
> [3] https://review.gluster.org/#/c/15663/8/api/src/glfs-handles.h
> _______________________________________________
> integration mailing list
> integration@xxxxxxxxxxx
> http://lists.gluster.org/mailman/listinfo/integration

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://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