Went through the code base again. Yes, as you said, we can get rid of fuse_getattr() not checking nodeid==1 path.
Patch here: https://review.gluster.org/16944 -Amar On Fri, Mar 24, 2017 at 2:57 AM, Zhitao Li <[email protected]> wrote: > Hello, everyone! > > > I am now optimizing the performance of "ls". When there are many little > files directly in mount point(root dir of glusterfs), I find that > fuse_getattr takes near half time of total "ls". Strictly, the nodeid==1 > check in fuse_getattr will call look operation instead of stat, and lookup > will always miss the md-cache, so it will do real lookup and cost about 3ms > a time in my case. > > > I doubt whether the special check of nodeid==1 is necessary. I disable the > check, it works normal for ls. However, in the "tests" of gluster, it > fails(quorum.t). In that case, lookup in root_dir is essential. > > > Up to now, we know that lookup bring high cost in fuse_getattr and it is > essential in some case. Could anyone give some advice to improve > fuse_getattr(lookup in root_dir) without bringing bugs? > > > I have been trying to deal with this for many days. Your help is greatly > in need. > > > > Best regards, > Zhitao Li > -- Amar Tumballi (amarts)
_______________________________________________ Gluster-devel mailing list [email protected] http://lists.gluster.org/mailman/listinfo/gluster-devel
