<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.18.3">
</HEAD>
<BODY>
Hi all,<BR>
&nbsp;&nbsp;&nbsp; we are running stress test and virtual machine (VMWARE) on expensive hardware, after trying glusterfs on cheaper hardware.<BR>
Our platform is as follow:<BR>
- 2 node (SunFire X4150), <BR>
- OS: Debian Lenny , kernel 2.6.24, glusterfs 1.3.12, fuse-2.7.3glfs10 (from your repository)<BR>
Glusterfs and fuse are compiled on both nodes; setup provides a server/client configuration with afr and 2 bricks per node<BR>
We have 2 NIC per node directly connected for improved reliability.<BR>
the config file is reported below.<BR>
<BR>
>From log files of both nodes we have a lot of next messagges:<BR>
&quot;<BR>
...<BR>
2008-09-26 06:25:21 E [unify.c:182:unify_lookup_cbk] unify: afr2 returned 2<BR>
2008-09-26 06:25:21 E [unify.c:265:unify_lookup_cbk] unify: Revalidate failed for /virtual_machines/vm-debug-Debian/vmware-0.log<BR>
2008-09-26 06:25:21 E [fuse-bridge.c:468:fuse_entry_cbk] glusterfs-fuse: 13393848: (34) /virtual_machines/vm-debug-Debian/vmware-0.log =&gt; -1 (2)<BR>
2008-09-26 06:25:21 W [fuse-bridge.c:411:fuse_entry_cbk] glusterfs-fuse: 13393849: (34) /virtual_machines/vm-debug-Debian/vmware.log =&gt; 101514846 Rehashing because st_nlink less than dentry maps<BR>
...<BR>
&quot;<BR>
The alert refers to many files.<BR>
I would like to ask you what is the meaning of this log.<BR>
Any help is really appreciated.<BR>
Kind regards,<BR>
Davide<BR>
<BR>
------------------------------ Config file --------------------------------<BR>
# dataspace on storage1<BR>
volume ds1<BR>
&nbsp; type storage/posix<BR>
&nbsp; option directory /export/glusterfs1<BR>
end-volume<BR>
<BR>
# dataspace on storage2<BR>
volume ds2<BR>
&nbsp; type storage/posix<BR>
&nbsp; option directory /export/glusterfs2<BR>
end-volume<BR>
<BR>
# namespace for unify<BR>
volume ns1<BR>
&nbsp; type storage/posix<BR>
&nbsp; option directory /var/glusterfs/ns<BR>
end-volume<BR>
<BR>
# posix locks<BR>
volume ds-locks1<BR>
&nbsp; type features/posix-locks<BR>
&nbsp; subvolumes ds1<BR>
end-volume<BR>
<BR>
# posix locks<BR>
volume ds-locks2<BR>
&nbsp; type features/posix-locks<BR>
&nbsp; subvolumes ds2<BR>
end-volume<BR>
<BR>
volume ds-threads1<BR>
&nbsp; type performance/io-threads<BR>
&nbsp; option thread-count 4<BR>
&nbsp; option cache-size 128MB<BR>
&nbsp; subvolumes ds-locks1<BR>
end-volume<BR>
<BR>
volume ds-threads2<BR>
&nbsp; type performance/io-threads<BR>
&nbsp; option thread-count 4<BR>
&nbsp; option cache-size 128MB<BR>
&nbsp; subvolumes ds-locks2<BR>
end-volume<BR>
<BR>
volume server<BR>
&nbsp; type protocol/server<BR>
&nbsp; option transport-type tcp/server<BR>
&nbsp; subvolumes ds-threads1 ds-threads2 ns1<BR>
&nbsp; # storage network access only<BR>
&nbsp; option auth.ip.ds-threads1.allow *<BR>
&nbsp; option auth.ip.ds-threads2.allow *<BR>
&nbsp; option auth.ip.ns1.allow *<BR>
#&nbsp; option auth.ip.gfs.allow *<BR>
end-volume<BR>
<BR>
<BR>
# dataspace 1 on the other node<BR>
volume ds3<BR>
&nbsp; type protocol/client<BR>
&nbsp; option transport-type tcp/client<BR>
&nbsp; option remote-host 192.168.1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # storage network<BR>
&nbsp; option remote-subvolume ds-threads1<BR>
#&nbsp; option transport-timeout 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # value in seconds; it should be set relatively low<BR>
end-volume<BR>
<BR>
# dataspace 2 on the other node<BR>
volume ds4<BR>
&nbsp; type protocol/client<BR>
&nbsp; option transport-type tcp/client<BR>
&nbsp; option remote-host 192.168.1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # storage network<BR>
&nbsp; option remote-subvolume ds-threads2<BR>
#&nbsp; option transport-timeout 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # value in seconds; it should be set relatively low<BR>
end-volume<BR>
<BR>
# namespace 2 on the other node<BR>
volume ns2<BR>
&nbsp; type protocol/client<BR>
&nbsp; option transport-type tcp/client<BR>
&nbsp; option remote-host 192.168.1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # storage network<BR>
&nbsp; option remote-subvolume ns1<BR>
#&nbsp; option transport-timeout 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # value in seconds; it should be set relatively low<BR>
end-volume<BR>
<BR>
<BR>
# automatic file replication translator for dataspace<BR>
volume afr1<BR>
&nbsp; type cluster/afr<BR>
&nbsp; subvolumes ds-threads1 ds3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # local and remote dataspaces<BR>
end-volume<BR>
<BR>
# automatic file replication translator for dataspace<BR>
volume afr2<BR>
&nbsp; type cluster/afr<BR>
&nbsp; subvolumes ds-threads2 ds4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # local and remote dataspaces<BR>
end-volume<BR>
<BR>
# automatic file replication translator for dataspace<BR>
volume afr-ns<BR>
&nbsp; type cluster/afr<BR>
&nbsp; subvolumes ns1 ns2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # local and remote dataspaces<BR>
end-volume<BR>
<BR>
volume unify<BR>
&nbsp; type cluster/unify<BR>
&nbsp; subvolumes afr1 afr2<BR>
&nbsp; option namespace afr-ns # should be a node which is not present in 'subvolumes'<BR>
&nbsp; option scheduler rr&nbsp;&nbsp;&nbsp; # simple round-robin scheduler<BR>
end-volume<BR>
<BR>
volume writebehind<BR>
&nbsp; type performance/write-behind<BR>
&nbsp; option aggregate-size 128kB<BR>
&nbsp; subvolumes unify<BR>
end-volume<BR>
<BR>
volume readahead<BR>
&nbsp; type performance/read-ahead<BR>
&nbsp; option page-size 64kB<BR>
&nbsp; option page-count 16<BR>
&nbsp; subvolumes writebehind<BR>
end-volume<BR>
<BR>
</BODY>
</HTML>