Bug 761772 (GLUSTER-40)

Summary: Various compile-time and run-time issues on FreeBSD
Product: [Community] GlusterFS Reporter: Basavanagowda Kanur <gowda>
Component: scriptsAssignee: Harshavardhana <fharshav>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: pre-2.0CC: amarts, cww, gluster-bugs, gowda
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: FreeBSD   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Log & volume spec files none

Description Basavanagowda Kanur 2009-06-23 11:25:53 UTC
Created attachment 11 [details]
the caldera flock insteadl of dotlock patch

Comment 1 Basavanagowda Kanur 2009-06-23 14:24:49 UTC
[Migrated from savannah BTS] - bug 25018 [https://savannah.nongnu.org/bugs/?25018]
Fri 05 Dec 2008 09:50:45 AM GMT, original submission by Anonymous:

pre1 works, as does pre6, in both client and server mode.

pre7 through pre10 don't compile at all, due to CFLAGS and LDFLAGS problems in the fuse client component (the environment is overridden by the makefiles). Also, the contents of these archives are weird, with directory names not matching the tar.gz file name.

pre11 through pre13 fails to mount a glusterfs volume, with fuse_mount() complaining about "Inappropriate ioctl for device".
--------------------------------------------------------------------------------

Fri 05 Dec 2008 09:53:14 AM GMT, comment #1 by 	Eirik Øverby <ltning>:

I am the submitter of this bug.
Sorry about the confusion if any.

/Eirik

--------------------------------------------------------------------------------
Fri 05 Dec 2008 09:59:17 AM GMT, comment #2:

Hi Eirik,
Thanks for detailed report.. it was helpful.. Just yesterday I found out that an extra '-o dev' sent to fuse_mount was causing problems in pre10 to pre13.. It should work in any qa7* tarball, or any later pre releases we may make soon.

I will close the bug once you report things are fine with later releases.
	Amar Tumballi <amarts>
Project Member

--------------------------------------------------------------------------------
Sun 07 Dec 2008 03:54:51 PM GMT, comment #3 by 	Eirik Øverby <ltning>:

Hi,
thanks for feedback. I've now tried both a couple of qa7x releases and 1.4.0rc1, and weirdness ensues:

I am using the AFR mode in single-process mode on two parallels VMs, using http://www.gluster.org/docs/index.php/AFR_single_process as a recipe. This worked fine with pre6, and it seems to work fine with rc1 as well. However, as I'm now running with only one of the nodes (on purpose), it has decided to fail:

I start glusterfs, and have my volume mounted on /mnt/glusterfs. I then do the following:

[root@fbsd01 /mnt/glusterfs]# mkdir jails

resulting in:

2008-12-07 15:48:53 E [fuse-bridge.c:418:fuse_entry_cbk] glusterfs-fuse: 0: MKDIR() /jails => -1 (Unknown error: 0)
2008-12-07 15:48:53 W [fuse-bridge.c:2663:fuse_thread_proc] fuse: unmounting /mnt/glusterfs
2008-12-07 15:48:53 W [glusterfs.c:635:cleanup_and_exit] glusterfs: shutting down
2008-12-07 15:48:53 W [common-utils.c:156:gf_print_bytes] glusterfs: Total data (in bytes): transfered (0), received (0)
pending frames:

Signal received: 11
configuration details:db.h 1
dlfcn 1
libpthread 1
spinlock 1
extattr.h 1
package-string: glusterfs 1.4.0rc1
mkdir: jails: Input/output error

at which point the mountpoint is dead and I need to manually unmount it then restart glusterfs. On pre6 this only happened after a while; it managed to create a few directories and files before dying in a similiar manner.

Any ideas?
/Eirik

--------------------------------------------------------------------------------

Sun 07 Dec 2008 04:22:30 PM GMT, comment #4 by 	Eirik Øverby <ltning>:

More input:
Once I have both nodes running, any change and subsequent read to/from the mountpoint gives the following:

2008-12-07 16:20:42 W [afr-self-heal-common.c:985:afr_self_heal] opt: performing self heal on / (metadata=0 data=0 entry=1)
2008-12-07 16:20:42 E [afr-self-heal-entry.c:1933:afr_sh_entry_lock_cbk] opt: locking inode of / on child 0 failed: Unknown error: 0
2008-12-07 16:20:42 E [afr-self-heal-entry.c:1933:afr_sh_entry_lock_cbk] opt: locking inode of / on child 1 failed: Unknown error: 0
2008-12-07 16:20:42 W [afr-self-heal-entry.c:1620:afr_sh_entry_impunge_all] opt: impunging entries of / on opt2 to other sinks
2008-12-07 16:20:42 W [afr-self-heal-entry.c:1098:afr_sh_entry_impunge_mknod] opt: creating file /testfil3 mode=0100644 dev=0x2897257497611993088 on ?㿿F?5(?15(
2008-12-07 16:20:42 W [posix.c:1250:posix_utimens] opt1raw: utimes on /opt/gluster/testfil3: Invalid argument
2008-12-07 16:20:42 E [afr-self-heal-entry.c:933:afr_sh_entry_impunge_utimens_cbk] opt: setting utimes of /testfil3 on opt1 failed (Invalid argument)
2008-12-07 16:20:42 W [afr-self-heal-entry.c:858:afr_sh_entry_expunge_all] opt: expunging entries of / on opt1 to other sinks
2008-12-07 16:20:42 E [afr-self-heal-entry.c:98:afr_sh_entry_unlck_cbk] opt: unlocking inode of / on child 0 failed: Unknown error: 0
2008-12-07 16:20:42 E [afr-self-heal-entry.c:98:afr_sh_entry_unlck_cbk] opt: unlocking inode of / on child 1 failed: Unknown error: 0
2008-12-07 16:20:42 W [afr-self-heal-entry.c:70:afr_sh_entry_done] opt: self heal of / completed

/Eirik

--------------------------------------------------------------------------------
Tue 03 Feb 2009 11:10:59 AM GMT, comment #5 by 	Amar Tumballi <amarts>:

Hi Eirik,
Can you check this behavior with 2.0.0rc1 release?

Regards,
--------------------------------------------------------------------------------
Tue 03 Feb 2009 12:05:15 PM GMT, comment #6 by 	Eirik Øverby <ltning>:

Hi,

I tried this about a week ago, and again now, with rc1. The below happens when I try to 'ls' a mounted volume. I'm attaching the current server and client volfiles plus logs.

/Eirik

2009-02-03 12:53:16 D [afr-self-heal-common.c:908:sh_missing_entries_lookup] replicate: looking up / on subvolume remote1
2009-02-03 12:53:16 D [afr-self-heal-common.c:908:sh_missing_entries_lookup] replicate: looking up / on subvolume remote2
pending frames:
frame : type(1) op(LOOKUP)

patchset: glusterfs--mainline--3.0--patch-844
signal received: 11
configuration details:db.h 1
dlfcn 1
libpthread 1
spinlock 1
extattr.h 1
st_atimespec.tv_nsec 1
package-string: glusterfs 2.0.0rc1

Comment 2 Amar Tumballi 2009-11-13 16:42:49 UTC
The development team is now 'only' working on 3.0.x branch, and the earlier versions will only support GNU/Linux and Solaris (for server). FreeBSD will be taken later. Please open the bug later if seen after 3.0.0 release.