W dniu 2015-01-27 o 09:20, Franco Broi pisze:> Well I'm stumped, just seems like the mount.glusterfs script isn't > working. I'm still running 3.5.1 and the getinode bit of my script looks > like this: > > ... > Linux) > getinode="stat -c %i $i" > > ... > inode=$( ${getinode} $mount_point 2>/dev/null); > > # this is required if the stat returns error > if [ -z "$inode" ]; then > inode="0"; > fi > > if [ $inode -ne 1 ]; then > err=1; > fi(My) script should check return code, not inode. There is right comment about that. Or maybe I don't understand construction in 298 line: --- [...] 49 Linux) 50 getinode="stat -c %i" [...] 298 inode=$( ${getinode} $mount_point 2>/dev/null); 299 # this is required if the stat returns error 300 if [ $? -ne 0 ]; then 301 warn "Mount failed. Please check the log file for more details." 302 umount $mount_point > /dev/null 2>&1; 303 exit 1; 304 fi --- When I paste between lines 298 and 300 something with 0 exit code, eg. echo $?; it works. With script from 3.6.1 package there was the same problem. -- Z powa?aniem, *Bart?omiej Syryjczyk*
What do you get is you do this? bash-4.1# stat -c %i /mnt/gluster 1 -bash-4.1# echo $? 0 On Tue, 2015-01-27 at 09:47 +0100, Bart?omiej Syryjczyk wrote:> W dniu 2015-01-27 o 09:20, Franco Broi pisze: > > Well I'm stumped, just seems like the mount.glusterfs script isn't > > working. I'm still running 3.5.1 and the getinode bit of my script looks > > like this: > > > > ... > > Linux) > > getinode="stat -c %i $i" > > > > ... > > inode=$( ${getinode} $mount_point 2>/dev/null); > > > > # this is required if the stat returns error > > if [ -z "$inode" ]; then > > inode="0"; > > fi > > > > if [ $inode -ne 1 ]; then > > err=1; > > fi > (My) script should check return code, not inode. There is right comment > about that. Or maybe I don't understand construction in 298 line: > --- > [...] > 49 Linux) > 50 getinode="stat -c %i" > [...] > 298 inode=$( ${getinode} $mount_point 2>/dev/null); > 299 # this is required if the stat returns error > 300 if [ $? -ne 0 ]; then > 301 warn "Mount failed. Please check the log file for more details." > 302 umount $mount_point > /dev/null 2>&1; > 303 exit 1; > 304 fi > --- > > When I paste between lines 298 and 300 something with 0 exit code, eg. > echo $?; > it works. > > With script from 3.6.1 package there was the same problem. >
W dniu 2015-01-27 o 09:47, Bart?omiej Syryjczyk pisze:> W dniu 2015-01-27 o 09:20, Franco Broi pisze: >> Well I'm stumped, just seems like the mount.glusterfs script isn't >> working. I'm still running 3.5.1 and the getinode bit of my script looks >> like this: >> >> ... >> Linux) >> getinode="stat -c %i $i" >> >> ... >> inode=$( ${getinode} $mount_point 2>/dev/null); >> >> # this is required if the stat returns error >> if [ -z "$inode" ]; then >> inode="0"; >> fi >> >> if [ $inode -ne 1 ]; then >> err=1; >> fi > (My) script should check return code, not inode. There is right comment > about that. Or maybe I don't understand construction in 298 line: > --- > [...] > 49 Linux) > 50 getinode="stat -c %i" > [...] > 298 inode=$( ${getinode} $mount_point 2>/dev/null); > 299 # this is required if the stat returns error > 300 if [ $? -ne 0 ]; then > 301 warn "Mount failed. Please check the log file for more details." > 302 umount $mount_point > /dev/null 2>&1; > 303 exit 1; > 304 fi > --- > > When I paste between lines 298 and 300 something with 0 exit code, eg. > echo $?; > it works. > > With script from 3.6.1 package there was the same problem.OK, I removed part "2>/dev/null", and see: stat: cannot stat ?/mnt/gluster?: Resource temporarily unavailable So I decided to add sleep just before line number 298 (this one with stat). And it works! Is it normal? -- Z powa?aniem, *Bart?omiej Syryjczyk*