In gfapi, we pass down readdirp, irrespective of whether the application called readdir/readdirp. Hence the behaviour will be same for samba and Ganesha i suppose.
Regards, Poornima ----- Original Message ----- > From: "Pranith Kumar Karampuri" <pkara...@redhat.com> > To: "Raghavendra Gowdappa" <rgowd...@redhat.com>, "Poornima Gurusiddaiah" > <pguru...@redhat.com>, "Raghavendra Talur" <rta...@redhat.com>, "Soumya > Koduri" <skod...@redhat.com> > Cc: "Shyam Ranganathan" <srang...@redhat.com>, "Nithya Balachandran" > <nbala...@redhat.com>, "Gluster Devel" <gluster-devel@gluster.org> > Sent: Friday, September 30, 2016 12:38:06 AM > Subject: Re: Dht readdir filtering out names > Does samba/gfapi/nfs-ganesha have options to disable readdirp? > On Fri, Sep 30, 2016 at 10:04 AM, Pranith Kumar Karampuri < > pkara...@redhat.com > wrote: > > What if the lower xlators want to set the entry->inode to NULL and clear > > the > > entry->d_stat to force a lookup on the name? i.e. gfid-split-brain/ia_type > > mismatches. > > > On Fri, Sep 30, 2016 at 10:00 AM, Raghavendra Gowdappa < > > rgowd...@redhat.com > > > wrote: > > > > ----- Original Message ----- > > > > > > > From: "Raghavendra Gowdappa" < rgowd...@redhat.com > > > > > > > > To: "Pranith Kumar Karampuri" < pkara...@redhat.com > > > > > > > > Cc: "Shyam Ranganathan" < srang...@redhat.com >, "Nithya Balachandran" > > > > < > > > > nbala...@redhat.com >, "Gluster Devel" > > > > > > > < gluster-devel@gluster.org > > > > > > > > Sent: Friday, September 30, 2016 9:58:34 AM > > > > > > > Subject: Re: Dht readdir filtering out names > > > > > > > > > > > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > > > > From: "Pranith Kumar Karampuri" < pkara...@redhat.com > > > > > > > > > To: "Raghavendra Gowdappa" < rgowd...@redhat.com > > > > > > > > > Cc: "Shyam Ranganathan" < srang...@redhat.com >, "Nithya > > > > > Balachandran" > > > > > > > > < nbala...@redhat.com >, "Gluster Devel" > > > > > > > > < gluster-devel@gluster.org > > > > > > > > > Sent: Friday, September 30, 2016 9:53:44 AM > > > > > > > > Subject: Re: Dht readdir filtering out names > > > > > > > > > > > > > > > > On Fri, Sep 30, 2016 at 9:50 AM, Raghavendra Gowdappa < > > > > > rgowd...@redhat.com > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > > > > > > From: "Pranith Kumar Karampuri" < pkara...@redhat.com > > > > > > > > > > > To: "Raghavendra Gowdappa" < rgowd...@redhat.com > > > > > > > > > > > Cc: "Shyam Ranganathan" < srang...@redhat.com >, "Nithya > > > > > > > Balachandran" < > > > > > > > > > nbala...@redhat.com >, "Gluster Devel" > > > > > > > > > > < gluster-devel@gluster.org > > > > > > > > > > > Sent: Friday, September 30, 2016 9:15:04 AM > > > > > > > > > > Subject: Re: Dht readdir filtering out names > > > > > > > > > > > > > > > > > > > > On Fri, Sep 30, 2016 at 9:13 AM, Raghavendra Gowdappa < > > > > > > > > > rgowd...@redhat.com > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > dht_readdirp_cbk has different behaviour for directories and > > > > > > > > files. > > > > > > > > > > > > > > > > > > > > > > 1. If file, pick the dentry (passed from subvols as part of > > > > > > > > readdirp > > > > > > > > > > > response) if the it corresponds to data file. > > > > > > > > > > > 2. If directory pick the dentry if readdirp response is from > > > > > > > > > hashed-subvol. > > > > > > > > > > > > > > > > > > > > > > In all other cases, the dentry is skipped and not passed to > > > > > > > > higher > > > > > > > > > > > layers/application. To elaborate, the dentries which are > > > > > > > > ignored > > > > > > > > are: > > > > > > > > > > > 1. dentries corresponding to linkto files. > > > > > > > > > > > 2. dentries from non-hashed subvols corresponding to > > > > > > > > directories. > > > > > > > > > > > > > > > > > > > > > > Since the behaviour is different for different filesystem > > > > > > > > objects, > > > > > > > > > > > dht > > > > > > > > > > > needs ia_type to choose its behaviour. > > > > > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > > > > > > > > From: "Pranith Kumar Karampuri" < pkara...@redhat.com > > > > > > > > > > > > > To: "Shyam Ranganathan" < srang...@redhat.com >, "Raghavendra > > > > > > > > > Gowdappa" < > > > > > > > > > > > rgowd...@redhat.com >, "Nithya Balachandran" > > > > > > > > > > > > < nbala...@redhat.com > > > > > > > > > > > > > Cc: "Gluster Devel" < gluster-devel@gluster.org > > > > > > > > > > > > > Sent: Friday, September 30, 2016 8:39:28 AM > > > > > > > > > > > > Subject: Dht readdir filtering out names > > > > > > > > > > > > > > > > > > > > > > > > hi, > > > > > > > > > > > > In dht_readdirp_cbk() there is a check about skipping files > > > > > > > > > > > without > > > > > > > > > > > > ia_type. Could you help me understand why this check is > > > > > > > > > added? > > > > > > > > > > > > There > > > > > > > > > are > > > > > > > > > > > > times when users have to delete gfid of the entries and > > > > > > > > > trigger > > > > > > > > > something > > > > > > > > > > > > like 'find . | xargs stat' to heal the gfids. This case would > > > > > > > > > fail > > > > > > > > > if we > > > > > > > > > > > > skip entries without gfid, if the lower xlators don't send > > > > > > > > > stat > > > > > > > > > > > information > > > > > > > > > > > > for them. > > > > > > > > > > > > > > > > > > > > > > Probably we can make readdirp_cbk not rely on ia_type and pass > > > > > > > > _all_ > > > > > > > > > > > dentries received by subvols to application without filtering. > > > > > > > > > > > However > > > > > > > > > we > > > > > > > > > > > should make this behaviour optional and use this only for > > > > > > > > recovery > > > > > > > > > setups. > > > > > > > > > > > If we don't rely on ia_type (during non error scenarios), > > > > > > > > > > > applications > > > > > > > > > end > > > > > > > > > > > up seeing duplicate dentries in readdir listing. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That means dht_readdir() gives duplicate entries? As per the code > > > > > > > it > > > > > > > > > seems > > > > > > > > > > like it... > > > > > > > > > > > > > > > > > > No. It follows the filtering logic of "pick dentry only from hashed > > > > > > > > > subvol". This logic doesn't need ia_type. Now, that you brought the > > > > > > topic > > > > > > > > > of dht_readdir, I've another solution for your use case (Basically > > > > > > don't > > > > > > > > > use readdirp :) ): > > > > > > > > > > > > > > > > > > 1. mount glusterfs with "--use-readdirp=no" option. > > > > > > > > > 2. disable md-cache/stat-prefetch as it converts all readdir calls > > > > > > into > > > > > > > > > readdirp calls > > > > > > > > > > > > > > > > > > > > > > > > > Probably the ones in dht as well? i.e. use-readdirp option. > > > > > > > > > > > > > > No. dht doesn't convert a readdir into readdirp. The option you are > > > > referring > > > > > > > to might be "readdir-optimize" which is something different. > > > > > > Sorry. I was wrong. There is an option in dht too, to force using > > > readdirp. > > > As you said, we should disable that too. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Use this only for recovery setups :). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Pranith > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > regards, > > > > > > > > > > > Raghavendra > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Pranith > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Pranith > > > > > > > > > > > > > > > > > > > > -- > > > Pranith > > -- > Pranith
_______________________________________________ Gluster-devel mailing list Gluster-devel@gluster.org http://www.gluster.org/mailman/listinfo/gluster-devel