<div dir="ltr">Hi,<div><br></div><div> Thanks for clarify it. I am already looking it, I will upload a new patch soon to resolve the same.</div><div><br></div><div><br></div><div>Regards</div><div>Mohit Agrawal</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 6, 2017 at 11:14 AM, Ravishankar N <span dir="ltr"><<a href="mailto:ravishankar@redhat.com" target="_blank">ravishankar@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span class="">
<p><br>
</p>
<br>
<div class="m_-21839232329960367moz-cite-prefix">On 10/06/2017 11:08 AM, Mohit Agrawal
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Without a patch test case will fail, it is an
expected behavior.</div>
</blockquote></span>
When I said without patches, I meant it is failing on current HEAD
on master which has the commit 9b4de61a136b8e5ba7bf0e48690cdb
<div dir="ltr">1292d0dee8. <br>
-Ravi<br>
</div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div><br>
</div>
<div>Regards</div>
<div>Mohit Agrawal</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Oct 6, 2017 at 11:04 AM,
Ravishankar N <span dir="ltr"><<a href="mailto:ravishankar@redhat.com" target="_blank">ravishankar@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>The test is failing on master without any patches:</p>
<tt>[root@tuxpad glusterfs]# prove
tests/bugs/bug-1371806_1.t</tt><tt><br>
</tt><tt>tests/bugs/bug-1371806_1.t .. 7/9 setfattr:
./tmp1: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp2: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp3: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp4: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp5: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp6: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp7: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp8: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp9: No such file or directory</tt><tt><br>
</tt><tt>setfattr: ./tmp10: No such file or directory</tt><tt><br>
</tt><tt>./tmp1: user.foo: No such attribute</tt><tt><br>
</tt><tt>tests/bugs/bug-1371806_1.t .. Failed 2/9 subtests</tt><tt><br>
</tt><br>
Mount log for one of the directories:<br>
<tt>[2017-10-06 05:32:10.059798] I [MSGID: 109005]
[dht-selfheal.c:2458:dht_selfh<wbr>eal_directory]
0-patchy-dht: Directory selfheal failed: Unable to form
layout for directory /tmp1</tt><tt><br>
</tt><tt>[2017-10-06 05:32:10.060013] E [MSGID: 109011]
[dht-common.c:5011:dht_dir_com<wbr>mon_setxattr]
0-patchy-dht: Failed to get mds subvol for path
/tmp1gfid is 00000000-0000-0000-0000-000000<wbr>000000</tt><tt><br>
</tt><tt>[2017-10-06 05:32:10.060041] W
[fuse-bridge.c:1377:fuse_err_c<wbr>bk] 0-glusterfs-fuse:
99: SETXATTR() /tmp1 => -1 (No such file or
directory)</tt><br>
<br>
Request the patch authors to take a look at it.<br>
Thanks<br>
Ravi
<div>
<div class="m_-21839232329960367h5"><br>
<br>
<div class="m_-21839232329960367m_-5887606101253049208moz-cite-prefix">On
10/05/2017 06:04 PM, Atin Mukherjee wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div class="m_-21839232329960367h5">
<div dir="ltr">The following commit has broken the
brick multiplexing regression job.
tests/bugs/bug-1371806_1.t has failed couple of
times. One of the latest regression job report is
at <a href="https://build.gluster.org/job/regression-test-with-multiplex/406/console" target="_blank">https://build.gluster.org/job/<wbr>regression-test-with-multiplex<wbr>/406/console</a>
.<br>
<br>
<br>
commit 9b4de61a136b8e5ba7bf0e48690cdb<wbr>1292d0dee8<br>
Author: Mohit Agrawal <<a href="mailto:moagrawa@redhat.com" target="_blank">moagrawa@redhat.com</a>><br>
Date: Fri May 12 21:12:47 2017 +0530<br>
<br>
cluster/dht : User xattrs are not healed after
brick stop/start<br>
<br>
Problem: In a distributed volume custom
extended attribute value for a directory<br>
does not display correct value after
stop/start or added newly brick.<br>
If any extended(acl) attribute value
is set for a directory after stop/added<br>
the brick the
attribute(user|acl|quota) value is not updated on
brick<br>
after start the brick.<br>
<br>
Solution: First store hashed subvol or
subvol(has internal xattr) on inode ctx and<br>
consider it as a MDS subvol.At the
time of update custom xattr<br>
(user,quota,acl, selinux) on
directory first check the mds from<br>
inode ctx, if mds is not present on
inode ctx then throw EINVAL error<br>
to application otherwise set xattr
on MDS subvol with internal xattr<br>
value of -1 and then try to update
the attribute on other non MDS<br>
volumes also.If mds subvol is down
in that case throw an<br>
error "Transport endpoint is not
connected". In dht_dir_lookup_cbk|<br>
dht_revalidate_cbk|dht_discove<wbr>r_complete
call dht_call_dir_xattr_heal<br>
to heal custom extended attribute.<br>
In case of gnfs server if hashed
subvol has not found based on<br>
loc then wind a call on all subvol
to update xattr.<br>
<br>
Fix: 1) Save MDS subvol on inode ctx<br>
2) Check if mds subvol is present on
inode ctx<br>
3) If mds subvol is down then call
unwind with error ENOTCONN and if it is up<br>
then set new xattr
"GF_DHT_XATTR_MDS" to -1 and wind a call on other<br>
subvol.<br>
4) If setxattr fop is successful on
non-mds subvol then increment the value of<br>
internal xattr to +1<br>
5) At the time of directory_lookup
check the value of new xattr GF_DHT_XATTR_MDS<br>
6) If value is not 0 in
dht_lookup_dir_cbk(other cbk) functions then call
heal<br>
function to heal user xattr<br>
7) syncop_setxattr on hashed_subvol to
reset the value of xattr to 0<br>
if heal is successful on all
subvol.<br>
<br>
Test : To reproduce the issue followed below
steps<br>
1) Create a distributed volume and
create mount point<br>
2) Create some directory from mount
point mkdir tmp{1..5}<br>
3) Kill any one brick from the volume<br>
4) Set extended attribute from mount
point on directory<br>
setfattr -n user.foo -v "abc"
./tmp{1..5}<br>
It will throw error " Transport End
point is not connected "<br>
for those hashed subvol is down<br>
5) Start volume with force option to
start brick process<br>
6) Execute getfattr command on mount
point for directory<br>
7) Check extended attribute on brick<br>
getfattr -n user.foo
<volume-location>/tmp{1..5}<br>
It shows correct value for
directories for those<br>
xattr fop were executed
successfully.<br>
<br>
Note: The patch will resolve xattr healing
problem only for fuse mount<br>
not for nfs mount.<br>
<br>
BUG: 1371806<br>
Signed-off-by: Mohit Agrawal <<a href="mailto:moagrawa@redhat.com" target="_blank">moagrawa@redhat.com</a>><br>
<br>
Change-Id: I4eb137eace24a8cb796712b742f1d<wbr>177a65343d5<br>
<br>
</div>
<br>
<fieldset class="m_-21839232329960367m_-5887606101253049208mimeAttachmentHeader"></fieldset>
<br>
</div>
</div>
<pre>______________________________<wbr>_________________
Gluster-devel mailing list
<a class="m_-21839232329960367m_-5887606101253049208moz-txt-link-abbreviated" href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a>
<a class="m_-21839232329960367m_-5887606101253049208moz-txt-link-freetext" href="http://lists.gluster.org/mailman/listinfo/gluster-devel" target="_blank">http://lists.gluster.org/mailm<wbr>an/listinfo/gluster-devel</a></pre>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div>