[Gluster-devel] How does read-subvol-entry.t works?

Emmanuel Dreyfus manu at netbsd.org
Wed Mar 4 10:02:02 UTC 2015


On Tue, Mar 03, 2015 at 07:47:15AM +0530, Ravishankar N wrote:
> If the afr xattrs on the dir is clean on all bricks, then the dir is chosen
> by afr_read_subvol_select_by_policy().
> But in this case since the second brick is the only source, readdirs will
> have to use that as the read subvolume.

Here us my understanding so far whel listing $M0/abc/def, brick0 is ised
(while it should not), because afr_replies_interpret() gets in reply from 
brick1: 
data_accused[0] = 0	(it should be 1)
data_accused[1] = 0

data_accused[0] comes from trusted.afr.patchy-client-0 xattr of /abc/def
That attribute is correctly set.

I added dict_dump_to_log() in server_lookup_cbk() and client3_3_lookup_cbk()
to dump the xattr for /abc/def

In server_lookup_cbk() I get:
((glusterfs.inodelk-count:0)(glusterfs.entrylk-count:0)
(glusterfs.parent-entrylk:0)(trusted.afr.patchy-client-1:)
(trusted.afr.patchy-client-0:)(glusterfs.open-fd-count:0)
(trusted.glusterfs.dht:))

In client3_3_lookup_cbk() I only have left:
((trusted.glusterfs.dht:))

I will now try to see what I have on the wire.


-- 
Emmanuel Dreyfus
manu at netbsd.org


More information about the Gluster-devel mailing list