95 Commits

Author SHA1 Message Date
Jim Meyering
7c88fcd63d read_conf: don't let a corrupt config file cause invalid line[-1] reference
Change-Id: Ifbc698768d9418a54c1501efa335edd4048cfd41
BUG: 789278
Signed-off-by: Jim Meyering <meyering@redhat.com>
Reviewed-on: http://review.gluster.com/3603
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-07-11 19:14:52 -07:00
Jim Meyering
b8bc3adfd9 get_mnt_opts: don't let empty option string cause (*mpt_optsp)[-1] reference
This looks like a "can't happen" case (depending on what add_option does),
so you may prefer to add an assertion instead.

Change-Id: Ibfdd34fca045e5213de836cca252bd96408b2136
BUG: 789278
Signed-off-by: Jim Meyering <meyering@redhat.com>
Reviewed-on: http://review.gluster.com/3604
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-07-02 15:58:33 -07:00
Emmanuel Dreyfus
c97c3136bd Switch to GNU basename_r() and dirname_r()
BSD basename() and dirname() return static storage, hence they are not
thread safe, while GNU flavors are. glusterfs assumes the GNU behavior.
As a fix, we added a BSD-derived, thread-safe version of basename_r()
and dirname_r() in contrib/libgen. BSD systems can use it instead of
their built in versions.

Unfortunately, there are more reliance on GNU behavior in glusterfs.
There are place where free() is called on static storage returned by
basename(), place where a second call to dirname() overwrite the
string obtained once, and so forth.

Each of these problems can be fixed, but it is likely to be a pandora
box. We need to accept that glusterfs heavily rely on GNU behavior,
and switch contrib/libgen's basename_r() and dirname_r() to the GNU
version. This change does just that.

BUG: 764655
Change-Id: Id874b9c7aacd9aa3a7a4bd6a92a9633f5b2d6ac0
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.com/3430
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-05-24 21:51:12 -07:00
Csaba Henk
ce6dc515e1 fuse: sync with upstream
Cherry-picked following commits from
git://fuse.git.sourceforge.net/gitroot/fuse/fuse
form 555d6b50..acc5c79d interval:

  commit 1193a39c0869a3608f22472735bcffdcccb6b2a5
  Author: Reuben Hawkins <reubenhwk@gmail.com>

      cleaning up warnings

  commit dba9185999dfa35161d4c810735df0ab3fde5104
  Author: Laszlo Papp <ext-laszlo.papp@nokia.com>

      Check the 'mtablock' for negative value

  commit e63a9d8ee6529c9d15a87745276f45c9bdad3961
  Author: Miklos Szeredi <miklos@szeredi.hu>

      fusermount: clean up do_mount() function

  commit 81fee822a098a3e26969401fc486f136465f96f0
  Author: Laszlo Papp <ext-laszlo.papp@nokia.com>

      Eliminate the unused value

  commit 60eb44ee5eb2756465610b215968f176f4aaac6e
  Author: Laszlo Papp <ext-laszlo.papp@nokia.com>

      Fix resource leaks in fusermount

  commit d6bec4020fddd4dd67248789a1af600580f2cbda
  Author: Miklos Szeredi <mszeredi@suse.cz>

      In case of failure to add to /etc/mtab don't umount.

  commit 1e7607ff89c65b005f69e27aeb1649d624099873
  Author: Miklos Szeredi <mszeredi@suse.cz>

      fusermount: chdir to / before performing mount/umount

  commit 2fcbc2a5a94983813c533c015134c6974f8ee636
  Author: Miklos Szeredi <miklos@szeredi.hu>

      fusermount: don't save/restore cwd

  commit bd99f9cf24e16643752b02fb4fa7b48f2124ab4e
  Author: Miklos Szeredi <miklos@szeredi.hu>

      Fix check for read-only fs in mtab update

Nb.:
- not picked changes that implement and enforce mount/umount
  mechanisms based on newer util-linux features (umount --fake
  and --no-canonicalize)
- not picked fusermount "auto-unmount" feature

Change-Id: Ib9498516184336e77ec047e5414125332d0a4292
BUG: 762389
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: http://review.gluster.com/3343
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-05-21 13:48:11 -07:00
Csaba Henk
6012dfe6b9 fuse: reorganize mounting code
Macro-driven conditional compilation was a chaos.

New scheme is:

contrib/fuse-lib/mount-common.c:
  libfuse routines used both by glusterfs and fusermount
contrib/fuse-lib/mount.c:
  libfuse-derived but customized mounting code for glusterfs
contrib/fuse-util/mount_util.c:
  libfuse routines used only by fusermount

Change-Id: I3e0ba7f74e36556b78244cd7676eb4d379939602
BUG: 762389
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: http://review.gluster.com/3342
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-05-21 13:47:41 -07:00
Csaba Henk
439d0426dd fuse, glusterfsd: mount logic fixes
Commit 7d0397c2 introduced two issues:

 i) broke the libfuse derived mount logic (details below)
ii) in case of a daemonized glusterfs client is ran as daemon, parent
    process can return earlier than the mount is in place, which breaks
    agents that programmatically do a gluster mount via a direct call to
    glusterfs (ie. not via mount(8)).

This patch fixes these issues by a refactor that merges the approaches
sported by commits

  7d0397c2 fuse: allow requests during mount (needed for SELinux labels)
  c5d781e0 upon daemonizing, wait on mtab update to terminate in parent

Original daemonized libfuse event flow is as follows:

  try:
    fd = open("/dev/fuse")
    mount("-oopts,fd=%s" % fd ...)
    mount(8) -f    # manipulate mtab
  except:
    sp = socketpair()
    env _FUSE_COMMFD=sp fusermount -oopts
    fd = receive_fd(sp)

  where fusermount(1) does:
    fd = open("/dev/fuse")
    mount("-oopts,fd=%d" % fd ...)
    sp = atoi(getenv("_FUSE_COMMFD"))
    send_fd(sp, fd)

  daemonize(
    # in child
    fuse_loop(fd)
  )
  # in parent
  exit()

As of 013850c9 (instead of adopting FUSE's 47e61004¹), we went for async
mtab manipulation, and as of c5d781e0, still wanted keep that in sync
with termination of daemon parent, so we changed it to:

  try:
    fd = open("/dev/fuse")
    mount("-oopts,fd=%s" % fd ...)
    pid = fork(
      # in child
      mount(8) -f
    )
  except:
    sp = socketpair()
    env _FUSE_COMMFD=sp fusermount -oopts
    fd = receive_fd(sp)

  daemonize(
    fuse_loop(fd)
  )
  waitpid(pid)
  exit()

(Note the new approch came only to direct [privileged] mount, so fusermount
based mounting was already partially broken.)

As of 7d0397c2, with the purpose of facilitating async mount, the event flow
was practically reduced to:

  fd = open("/dev/fuse")
  fork(
    mount("-oopts,fd=%s" % fd ...)
    fork(
      mount(8) -n
    )
  )

  daemonize(
    fuse_loop(fd)
  )
  exit()

Thus fusermount based mounting become defunct; however, the dead
code was still kept around. So, we should either drop it or fix
it. Also, the mtab manipulator is forked into yet another child
with no purpose, while syncing with it in daemon parent is broken.
mount(2) is neither synced with parent.

Now we are coming to the following scheme:

  fd = open("/dev/fuse")
  pid = fork(
    try:
      mount("-oopts,fd=%s" % fd ...)
      mount(8) -n
    except:
      env _FUSE_DEVFD=fd fusermount -oopts
  )

  where fusermount(1) does:
    fd = getenv("_FUSE_DEVFD")
    mount("-oopts,fd=%s" % fd ...)

  daemonize(
    fuse_loop(fd)
  )
  waitpid(pid)
  exit()

Nb.:

- We can't help losing compatibility with upstream fusermount,
  as it sends back the fd only when mount(2) is completed,
  thus defeating the async mount approach. The
  'getenv("_FUSE_DEVFD")' mechanism is specfic to glusterfs'
  fusermount (at the moment -- sure we can talk about it with
  upstream)

- fusermount opens /dev/fuse at same privilege level as of
  original process², so we can bravely go on with doing the open
  unconditionally in original process

- Original mounting code actually tries to mount through
  fusermount _twice_: if first attempt fails, then, assuming
  subtype support is missing in kernel, it tries again subtype
  stripped. However, this is redundant, as fusermount internally
  also performs the subtype check³. Therefore we simplified the
  logic to have just a single fusermount call.

- we revert the changes to mount.glusterfs as of 7d0397c2, as
  now there is no issue with glusterfs to work around in that scope

¹ http://fuse.git.sourceforge.net/git/gitweb.cgi?p=fuse/fuse;a=blobdiff;f=ChangeLog;h=47e61004;hb=4c3d9b19;hpb=e61b775a
² http://fuse.git.sourceforge.net/git/gitweb.cgi?p=fuse/fuse;a=blob;f=util/fusermount.c;h=b2e87d95#l1023
³ http://fuse.git.sourceforge.net/git/gitweb.cgi?p=fuse/fuse;a=blob;f=util/fusermount.c;h=b2e87d95#l839

Change-Id: I0c4ab70e0c5ad7b27337228749b266bcd0ba941d
BUG: 811217
Signed-off-by: Csaba Henk <csaba@redhat.com>
Reviewed-on: http://review.gluster.com/3341
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-05-21 13:47:09 -07:00
Emmanuel Dreyfus
c023c1517a Provide missing basename_r and dirname_r
Some systems (e.g.: NetBSD) do not have thread-safe basename(3) and
dirname(3). This is fine with OpenGroup's Single Unix Specification
which allows these functions to use static storage. Unfortunately,
glusterfs uses them a lot and assume thread-safety.

This patch brings FreeBSD's thread-safe basename_r(3) and dirname_r(3)
in the contrib directory, and tweaks the build process so that
NetBSD builds use them instead of libc basename(3) and dirname(3)

BUG: 764655
Change-Id: Ic9a159fffdc7bacc9408f8e90854e4c2db81930c
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.com/3320
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-05-18 19:17:58 -07:00
Emmanuel Dreyfus
8c4bf91025 NetBSD build fixes
Change-Id: Ib8183d4b585465d05a7adf3a4ceae93ae1bded15
BUG: 764655
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.com/3238
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
2012-05-11 00:41:24 -07:00
Kaleb KEITHLEY
67ceb347c8 contrib/rbtree: additional license from Richard Fontana
BUG: 807724
Change-Id: I1e9a7aac7b535687b9e48bdb0e94c7f52dc6aad7
Signed-off-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.com/3252
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-04-30 11:19:08 -07:00
Kaleb KEITHLEY
bb55a0c967 contrib/rbtree license GPL -> LGPL
The latest source of rb.c in the avl-2.0.3 package from GNU/FSF is
now licensed under LGPL, a better license for allowing our partners
to write translators and applications for gluster.

Resubmitting with a BZ. The real question is whether this is okay with
LGPL or whether we should go all the way to a BSD-licensed implementation.

Change-Id: Ifb9c344c84d960832671a2619d37b925e4dede2d
BUG: 807724
Signed-off-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.com/3008
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
2012-04-25 13:19:47 -07:00
Jeff Darcy
7d0397c214 fuse: allow requests during mount (needed for SELinux labels)
Change-Id: Ia1af402897e6a7290acf79617c34fdc804751729
BUG: 811217
Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.com/3199
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-04-23 14:37:24 -07:00
Kaleb KEITHLEY
6a995ab330 contrib/md5: prune contrib/md5/* from tree
Previous change set did not delete contrib/md5 from the tree.

BUG: 807718
Change-Id: I74eee1897fac24b83b379f2433de5e4648eb5f4c
Signed-off-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.com/3095
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-04-11 20:57:57 -07:00
Amar Tumballi
b02afc6d00 core: change lk-owner as a 1k buffer
so, NLM can send the lk-owner field directly to the locks translators,
while doing the same effort, also enabled sending maximum of 500 aux gid
over protocol.

Change-Id: I87c2514392748416f7ffe21d5154faad2e413969
Signed-off-by: Amar Tumballi <amar@gluster.com>
BUG: 767229
Reviewed-on: http://review.gluster.com/779
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
2012-01-24 20:14:17 -08:00
Harshavardhana
5d194403e9 contrib/uuid: Make sure that uuid_types.h are generated per system specific.
Just the same way e2fsprogs maintains. This avoids unnecessary problems
for different architectures.

Change-Id: I3911998373756707996afb7b926ec0780ea18b81
BUG: 3833
Signed-off-by: Harshavardhana <fharshav@redhat.com>
Reviewed-on: http://review.gluster.com/764
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
2011-11-30 23:13:55 -08:00
Emmanuel Dreyfus
3f1092c1a7 We must #include <signal.h> for sigprocmask(2). Failure to do so will break
on NetBSD kernel without COMPAT_13 option.

Change-Id: Ia710bbe31ed48e4df4cd47f99e335d7226b99173
BUG: 2923
Reviewed-on: http://review.gluster.com/594
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Anand Avati <avati@gluster.com>
2011-11-23 23:49:46 -08:00
Emmanuel Dreyfus
8b8459b5ee Use /bin/mount on Linux, /sbin/mount on other systems
Change-Id: I8d2e518d29cedb1fbfa77d0189a2d4a24957e662
BUG: 2923
Reviewed-on: http://review.gluster.com/752
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
2011-11-23 23:48:09 -08:00
Harshavardhana
359eee148b fusermount: Build problem fixed with new glibc
Change-Id: Id25e688d3dbecb74d820388faec5ee5041f21630
BUG: 3797
Reviewed-on: http://review.gluster.com/714
Reviewed-by: Anand Avati <avati@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
2011-11-10 21:27:03 -08:00
Csaba Henk
b27b9d36de geo-rep: implement IP address based access control
- gsyncd gets allow-network tunable which is expected to
  hold a comma-separated list of IP network addresses
- for IP addess matching, bring in ipaddr module from Google
  (http://code.google.com/p/ipaddr-py/, rev. trunk@225)

This will let users control master's access to slave's volumes
until we implement unprivileged geo-rep (delayed due to some
technical issues). It's also needed for the completeness of
our hardening efforts, as plain file slaves won't be able
to work with an unprivileged gsyncd.

Change-Id: I58431cba6592f8672e93ea89a5eef478905b00b9
BUG: 2825
Reviewed-on: http://review.gluster.com/488
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
2011-09-22 05:24:41 -07:00
Vijay Bellur
55219903e3 libglusterfs: Bring in os_daemon_* routines to replace modified FreeBSD code
Change-Id: I41f4635b1b75adb6d22e2e325b99941f8d7a0b42
BUG: 3206
Reviewed-on: http://review.gluster.com/100
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
2011-07-28 02:52:41 -07:00
Amar Tumballi
442f64a83b build: fixes to work on solaris
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>

BUG: 3002 (build issues on solaris)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3002
2011-06-16 22:01:54 -07:00
Anand Avati
291588c6d9 fuse: NetBSD portability fixes
On NetBSD use libperfuse(3), rename umount2(2) as unmount(2), and skip
inexistant /etc/mtab management.

Thanks to: Emmanuel Dreyfus <manu@netbsd.org>

Signed-off-by: Anand Avati <avati@gluster.com>

BUG: 2923 (NetBSD port)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2923
2011-05-30 04:48:34 -07:00
Csaba Henk
c5d781e055 upon daemonizing, wait on mtab update to terminate in parent
This fixes the race in between the mtab update attempts of mount and umount
when we do a lazy umount right after mounting, in order to hide the given fs
instance; yet this way we still avoid the deadlock of the fs and mount which
we can hit if we wait unconditionally for the mtab update to terminate (cf.
bz #511).

Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>

BUG: 2690 (race between mtab updates of mount and umount)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2690
2011-05-19 15:41:47 -07:00
Venky Shankar
2a65986468 build fixes
Signed-off-by: Venky Shankar <venky@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>

BUG: 2550 (build warnings)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2550
2011-04-11 23:50:28 -07:00
Amar Tumballi
62e1096fb0 removed reference to GF_LOG_NORMAL
instead used GF_LOG_INFO, which is more standard log level.

Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Vijay Bellur <vijay@gluster.com>

BUG: 2669 (RuntimeError: cannot recognize log level "normal")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2669
2011-04-07 11:40:25 -07:00
Vijay Bellur
2854c55934 Copyright changes
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
2010-10-11 07:31:12 -07:00
Pavan Sondur
fd2e7d007e Changes to replace flock with gf_flock across GlusterFS.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>

BUG: 865 (Add locks recovery support in GlusterFS)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=865
2010-10-01 05:05:53 -07:00
Csaba Henk
55c6e67250 contrib/fuse: update from upstream [555d6b50 in git://fuse.git.sourceforge.net/fuse/fuse]
"""
commit 555d6b504308eac6b976321ce938ee4bec62c354
Author: Miklos Szeredi <mszeredi@suse.cz>
Date:   Tue Sep 28 10:13:24 2010 +0200

    Fix option escaping for fusermount.

    If the "fsname=" option contained a comma then the option parser in
    fusermount was confused (Novell bugzilla #641480).  Fix by escaping
    commas when passing them over to fusermount.

    Reported by Jan Engelhardt
"""

Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>

BUG: 1752 (sync with upstream for "Fix option escaping for fusermount.")
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1752
2010-10-01 03:41:29 -07:00
Vijay Bellur
a6b90707bf Changes for volume commands
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 1161 (gluster volume start command segfaults glusterd)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1161
2010-07-19 05:11:05 -07:00
Vijay Bellur
11cae38ac0 Fix compilation issues when uuid/uuid.h is not present
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
2010-07-15 05:37:35 -07:00
Vijay Bellur
bb209f5614 Bring in uuid to contrib
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
2010-07-15 03:18:53 -07:00
Csaba Henk
7e489f3cc7 fix up OS X after dynamic volume changes
Note that contrib is not needed to be in toplevel Makefile as
its not a separate target, rather stuff is "pulled in" from there.

Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
2010-07-08 05:25:02 -07:00
Anand Avati
79241696fb dynamic volume changes for graph replacement
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 971 (dynamic volume management)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
2010-06-07 11:58:50 -07:00
Csaba Henk
a841aba084 OS X: salvage signal handling from mount routine
Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 361 (GlusterFS 3.0 should work on Mac OS/X)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
2010-05-31 05:39:17 -07:00
Csaba Henk
11fb070964 OS X: adjustments, minor fixes to eliminate warnings
Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 361 (GlusterFS 3.0 should work on Mac OS/X)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
2010-05-21 00:31:51 -07:00
Csaba Henk
18d982e6d0 OS X: basic additions for OS X client support
Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 361 (GlusterFS 3.0 should work on Mac OS/X)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
2010-05-21 00:31:41 -07:00
Csaba Henk
b03a568368 fusermount: bring in updates from upstream
* Fix checking for symlinks in umount from /tmp.  Reported by Al
    Viro

    * Fix umounting if /tmp is a symlink.  Reported by Franco Broi

Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 657 (Metabug for tracking fuse upstream)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=657
2010-04-29 23:10:15 -07:00
Csaba Henk
94d31fdaf9 fuse: bring over recent mounting code changes from libfuse upstream
Following commits were ported (commit ids as of
http://git.gluster.com/?p=users/csaba/fuse.git
repo):

commit 06fe3eb9c864b69bea98600c0a7eab7b63834735
Author: mszeredi <mszeredi>
Date:   Thu Feb 18 11:05:12 2010 +0000

    * Fix stack alignment for clone()

 ChangeLog               |    4 ++++
 include/fuse_lowlevel.h |    1 +
 util/fusermount.c       |    9 ++++-----
 3 files changed, 9 insertions(+), 5 deletions(-)

commit dfe1aab6520d70d72d36edf0508fef9a865daa5f
Author: mszeredi <mszeredi>
Date:   Tue Jan 26 18:20:12 2010 +0000

    * Fix race if two "fusermount -u" instances are run in parallel.
    Reported by Dan Rosenberg

    * Make sure that the path to be unmounted doesn't refer to a
    symlink

 ChangeLog         |    8 +
 lib/mount.c       |    2 +-
 lib/mount_util.c  |   31 +++--
 lib/mount_util.h  |    3 +-
 util/fusermount.c |  380 +++++++++++++++++++++++++++++++++++++++++++++--------
 5 files changed, 351 insertions(+), 73 deletions(-)

Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 657 (Metabug for tracking fuse upstream)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=657
2010-02-21 00:17:42 -08:00
Csaba Henk
013850c9be fuse: add mtab entry asynchronously
Instead of taking libfuse's approach to the bug referred
-- making use of an ad-hoc mount option --, we get over
the issue by not waiting for mtab manipulation to complete.
If mtab manipulation happens to fail for some reason, just
log an error message (instead of aborting the mount).

Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 511 (mount hangs with some audit configurations)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=511
2009-12-28 04:39:31 -08:00
Csaba Henk
4b233c6341 Upgrade FUSE protocol to rev. 7.13
2.6.32 will feature FUSE proto 7.13 which lets us tune the maximal number of
in-kernel backgrounded requests via INIT.

Hereby we live up to this enhancement.

Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 385 (Upgrade FUSE protocol to rev. 7.13)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=385
2009-11-16 02:17:41 -08:00
Pavan Sondur
47da643a0e Do not abort make install if a chown on the fuser-mount script does not succeed.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343
2009-11-03 23:54:06 -08:00
Vijay Bellur
0b1197defa Changed occurrences of Z Research to Gluster.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
2009-10-07 03:54:49 -07:00
Shehjar Tikoo
f3e46f2cb4 core: Add rbtree based hash table
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>

BUG: 145 (NFSv3 related additions to 2.1 task list)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
2009-10-06 07:05:07 -07:00
Csaba Henk
901ba842cd bring in fusermount 2009-08-12 06:26:31 -07:00
Csaba Henk
fbb636390f fuse: add proper mounting support, based on libfuse routines 2009-08-12 06:21:04 -07:00
Csaba Henk
472ac9944b fuse: move libfuse derived code over under contrib/ 2009-08-12 06:21:04 -07:00