<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <blockquote type="cite">
      <pre>Try this to trigger self heal:

find &lt;gluster-mount&gt; -noleaf -print0 -name &lt;file name&gt;| xargs --null
stat &gt;/dev/null



On Sun, May 15, 2011 at 11:20 AM, Martin Schenker
&lt;<a href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">martin.schenker at profitbricks.com</a>&gt; wrote:
&gt;<i> Can someone enlighten me what's going on here? We have a two peers, the file
</i>&gt;<i> 21313 is shown through the client mountpoint as "1Jan1970", attribs on
</i>&gt;<i> server pserver3 don't match but NO self-heal or repair can be triggered
</i>&gt;<i> through "ls -alR"?!?
</i>&gt;<i>
</i>&gt;<i> Checking the files through the server mounts show that two versions are on
</i>&gt;<i> the system. But the wrong one (as with the "1Jan1970") seems to be the
</i>&gt;<i> preferred one by the client?!?
</i>&gt;<i>
</i>&gt;<i> Do I need to use setattr or what in order to get the client to see the RIGHT
</i>&gt;<i> version?!? This is not the ONLY file displaying this problematic behaviour!
</i>&gt;<i>
</i>&gt;<i> Thanks for any feedback.
</i>&gt;<i>
</i>&gt;<i> Martin
</i>&gt;<i>
</i>&gt;<i> pserver5:
</i>&gt;<i>
</i>&gt;<i> 0 <a href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">root at pserver5</a>:~ # ls -al
</i>&gt;<i> /mnt/gluster/brick1/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef
</i>&gt;<i> /hdd-images
</i>&gt;<i>
</i>&gt;<i> -rwxrwx--- 1 libvirt-qemu vcb &nbsp;483183820800 May 13 13:41 21313
</i>&gt;<i>
</i>&gt;<i> 0 <a href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">root at pserver5</a>:~ # getfattr -R -d -e hex -m "trusted.afr."
</i>&gt;<i> /mnt/gluster/brick1/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef
</i>&gt;<i> /hdd-images/21313
</i>&gt;<i> getfattr: Removing leading '/' from absolute path names
</i>&gt;<i> # file:
</i>&gt;<i> mnt/gluster/brick1/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef/
</i>&gt;<i> hdd-images/21313
</i>&gt;<i> trusted.afr.storage0-client-2=0x000000000000000000000000
</i>&gt;<i> trusted.afr.storage0-client-3=0x000000000000000000000000
</i>&gt;<i>
</i>&gt;<i> 0 <a href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">root at pserver5</a>:~ # ls -alR
</i>&gt;<i> /opt/profitbricks/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef/h
</i>&gt;<i> dd-images/21313
</i>&gt;<i> -rwxrwx--- 1 libvirt-qemu kvm 483183820800 Jan &nbsp;1 &nbsp;1970
</i>&gt;<i> /opt/profitbricks/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef/h
</i>&gt;<i> dd-images/21313
</i>&gt;<i>
</i>&gt;<i> pserver3:
</i>&gt;<i>
</i>&gt;<i> 0 <a href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">root at pserver3</a>:~ # ls -al
</i>&gt;<i> /mnt/gluster/brick1/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef
</i>&gt;<i> /hdd-images
</i>&gt;<i>
</i>&gt;<i> -rwxrwx--- 1 libvirt-qemu kvm &nbsp;483183820800 Jan &nbsp;1 &nbsp;1970 21313
</i>&gt;<i>
</i>&gt;<i> 0 <a href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">root at pserver3</a>:~ # ls -alR
</i>&gt;<i> /opt/profitbricks/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef/h
</i>&gt;<i> dd-images/21313
</i>&gt;<i> -rwxrwx--- 1 libvirt-qemu kvm 483183820800 Jan &nbsp;1 &nbsp;1970
</i>&gt;<i> /opt/profitbricks/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef/h
</i>&gt;<i> dd-images/21313
</i>&gt;<i>
</i>&gt;<i> 0 <a href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">root at pserver3</a>:~ # getfattr -R -d -e hex -m "trusted.afr."
</i>&gt;<i> /mnt/gluster/brick1/storage/images/2078/ebb83b05-3a83-9d18-
</i>&gt;<i> ad8f-8542864da6ef/hdd-images/21313
</i>&gt;<i> getfattr: Removing leading '/' from absolute path names
</i>&gt;<i> # file:
</i>&gt;<i> mnt/gluster/brick1/storage/images/2078/ebb83b05-3a83-9d18-ad8f-8542864da6ef/
</i>&gt;<i> hdd-images/21313
</i>&gt;<i> trusted.afr.storage0-client-2=0x000000000000000000000000
</i>&gt;<i> trusted.afr.storage0-client-3=0x0b0000090900000000000000 &nbsp;&lt;- mismatch,
</i>&gt;<i> should be targeted for self-heal/repair? Why is there a difference in the
</i>&gt;<i> views?
</i>&gt;<i>
</i>&gt;<i>
</i>&gt;<i> From the volfile:
</i>&gt;<i>
</i>&gt;<i> volume storage0-client-2
</i>&gt;<i> &nbsp; &nbsp;type protocol/client
</i>&gt;<i> &nbsp; &nbsp;option remote-host de-dc1-c1-pserver3
</i>&gt;<i> &nbsp; &nbsp;option remote-subvolume /mnt/gluster/brick1/storage
</i>&gt;<i> &nbsp; &nbsp;option transport-type rdma
</i>&gt;<i> &nbsp; &nbsp;option ping-timeout 5
</i>&gt;<i> end-volume
</i>&gt;<i>
</i>&gt;<i> volume storage0-client-3
</i>&gt;<i> &nbsp; &nbsp;type protocol/client
</i>&gt;<i> &nbsp; &nbsp;option remote-host de-dc1-c1-pserver5
</i>&gt;<i> &nbsp; &nbsp;option remote-subvolume /mnt/gluster/brick1/storage
</i>&gt;<i> &nbsp; &nbsp;option transport-type rdma
</i>&gt;<i> &nbsp; &nbsp;option ping-timeout 5
</i>&gt;<i> end-volume
</i>&gt;<i>
</i></pre>
    </blockquote>
    Hello All-<br>
    I am seeing similar behaviour in two of my volumes, now using
    GlusterFS version 3.2.2.&nbsp; There are files dated 1st Jan 1970 on one
    brick, where the same files on the mirror brick have sensible date
    stamps.&nbsp; In the cases I have investigated the date shown at the
    mount point is 1st Jan 1970.&nbsp; However, unlike the problem initially
    reported in this thread, I have not seen any xattr mismatches, as
    illustrated by the example below.<br>
    <br>
    [root@bdan4 glusterfs]# ls -l
    behemoth/aatsr/AT2_AVG_3PAARC19951229_D_nD2b.nc<br>
    -rw-r--r-- 1 resc essc 381894 Jan&nbsp; 1&nbsp; 1970
    behemoth/aatsr/AT2_AVG_3PAARC19951229_D_nD2b.nc<br>
    [root@bdan4 glusterfs]# getfattr -R -d -e hex -m "trusted.afr."
    behemoth/aatsr/AT2_AVG_3PAARC19951229_D_nD2b.nc<br>
    # file: behemoth/aatsr/AT2_AVG_3PAARC19951229_D_nD2b.nc<br>
    trusted.afr.marine-client-2=0x000000000000000000000000<br>
    trusted.afr.marine-client-3=0x000000000000000000000000<br>
    <br>
    I have been using the following self heal method since it became the
    recommended method shown in the GlusterFS documentation.<br>
    <pre>find &lt;gluster-mount&gt; -noleaf -print0 -name &lt;file name&gt;| xargs --null
stat &gt;/dev/null</pre>
    Is there a better way to trigger self-healing, which would catch
    these obvious modification time errors?<br>
    <br>
    -Dan.<br>
    <pre class="moz-signature" cols="72">-- 
Mr. D.A. Bretherton
Computer System Manager
Environmental Systems Science Centre
Harry Pitt Building
3 Earley Gate
University of Reading
Reading, RG6 6AL
UK

Tel. +44 118 378 5205
Fax: +44 118 378 6413 </pre>
  </body>
</html>