[Gluster-users] Troubles with syscall 'lstat'

Nicolas Greneche nicolas.greneche at univ-paris13.fr
Tue May 20 09:58:29 UTC 2014


Hello,

I run a glusterfs architecture in 3.3.1 version :


# glusterd -V
glusterfs 3.3.1 built on Apr 29 2013 15:17:28
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. <http://www.gluster.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU 
General Public License.

I have an odd problem when I run a software. When I run it from the 
local filesystem it works and when I copy it to a glusterfs share it 
produce errors.

Both instance of the program shares the same environement (the run on te 
same instance of operating system with the same user).

The only difference I noticed is with the syscall sequence. When It 
works I have this sequence :

write(1, "HRType:  esh_gain \n", 19)    = 19
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
write(1, "TILDE\n", 6)                  = 6
stat64("/home/ngreneche/ubuntu1204/usr/local/ACE-ilProlog-1.2.20/linux/bin/tilde", 
{st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
write(1, "Discretization busy...\n", 23) = 23

And when it doesn't work (running from a glusterfs share), I have this 
sequence :

write(1, "HRType:  esh_gain \n", 19)    = 19
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
write(1, "TILDE\n", 6)                  = 6
stat64("/home/dist/db/ubuntu1204/usr/local/ACE-ilProlog-1.2.20/linux/bin/tilde", 
{st_mode=S_IFDIR|0750, st_size=16384, ...}) = 0
mkdir("/home/dist/db/ubuntu1204/usr/local/ACE-ilProlog-1.2.20/linux/bin/tilde", 
0755) = -1 EEXIST (File exists)
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo 
...}) = 0
write(1, "An error occurred during the exe"..., 49) = 49

The only difference is that a mkdir is performed just after the stat. 
Whereas the stat check if the directory exists to trigger or not a mkdir.

My underlying filesystem on the brick is ext4.

Do you know if there are some issues with stat in the version of glusterfs ?

Regards,

-- 
Nicolas Grenèche

URL : http://blog.etcshadow.fr
Tel : 01 49 40 40 35
Fax : 01 48 22 81 50



More information about the Gluster-users mailing list