Bug 1138897 - NetBSD port
Summary: NetBSD port
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: porting
Version: 3.6.0
Hardware: All
OS: Other
unspecified
low
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: glusterfs-3.6.3 glusterfs-3.6.4
TreeView+ depends on / blocked
 
Reported: 2014-09-06 04:14 UTC by manu@netbsd.org
Modified: 2015-05-20 11:52 UTC (History)
3 users (show)

Fixed In Version: glusterfs-3.6.2
Doc Type: Bug Fix
Doc Text:
Clone Of: 1129939
Environment:
Last Closed: 2014-11-11 08:38:18 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description manu@netbsd.org 2014-09-06 04:14:47 UTC
+++ This bug was initially created as a clone of Bug #1129939 +++

This bug is a placeholder to gather change sets for porting GlusterFS to NetBSD

--- Additional comment from Anand Avati on 2014-08-13 23:52:02 EDT ---

REVIEW: http://review.gluster.org/8403 (Fix glustershd detection on volume restart) posted (#8) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-14 05:33:45 EDT ---

REVIEW: http://review.gluster.org/8483 (Regression test portability: 127.0.0.0/8) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-14 05:45:52 EDT ---

REVIEW: http://review.gluster.org/8483 (Regression test portability: 127.0.0.0/8) posted (#2) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-15 20:33:45 EDT ---

REVIEW: http://review.gluster.org/8403 (Fix glustershd detection on volume restart) posted (#9) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-15 21:24:03 EDT ---

REVIEW: http://review.gluster.org/8493 (NFS interoperability fix: enforce EOF at end of READDIR) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-16 05:22:04 EDT ---

REVIEW: http://review.gluster.org/8494 (Regression test portability: mount) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-19 11:57:05 EDT ---

REVIEW: http://review.gluster.org/8494 (Regression test portability: mount) posted (#2) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-19 22:55:28 EDT ---

REVIEW: http://review.gluster.org/8403 (Fix glustershd detection on volume restart) posted (#10) for review on master by Krishnan Parthasarathi (kparthas)

--- Additional comment from Anand Avati on 2014-08-20 00:07:03 EDT ---

REVIEW: http://review.gluster.org/8502 (Fix quotad RPC options use-after-free bug in gluster) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-20 03:50:01 EDT ---

REVIEW: http://review.gluster.org/8502 (Fix quotad RPC options use-after-free bug in gluster) posted (#2) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-20 04:51:51 EDT ---

REVIEW: http://review.gluster.org/8502 (Fix quotad RPC options use-after-free bug in gluster) posted (#3) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-20 16:41:14 EDT ---

COMMIT: http://review.gluster.org/8494 committed in master by Harshavardhana (harsha) 
------
commit 473f115cbf18dd5229636c817d49b2c60471e227
Author: Emmanuel Dreyfus <manu>
Date:   Tue Aug 19 17:55:46 2014 +0200

    Regression test portability: mount
    
    Address various portability-related problems related to mount
    - In order to address the non-portability of NFS mount options,
      use the mount_nfs shell function everywhere, and use it to
      translate options.
    - Make sure NFS mounts are unmounted before shutting down the
      daemons in order to avoid deadlock. The change is done in every
      test that did not unmounted NFS mounts at the end of the script,
      and in global cleanup function as well. The force_umount shell
      function from volume.rc was duplicated as umount_nfs in nfs.rc
      so that we do not have to add an include on volume.rc for all
      NFS tests that do not need it.
    - The FUSE mount type on NetBSD is puffs|perfuse|fuse.glusterfs
      instead of just fuse.glusterfs, make the regexp configurable
      in include.rc
    - Finding wether the mount is RO or RW in mount output needs
      a system-dependent command configurable in include.rc
    - mount options in /proc/mounts may be limited to "rw", adjust
      the regexp for this case where there is no comma
    
    And while there change rm into rm -f in tests/basic/mount.t
    for removal opearation that should fail, since rm may ask
    for confirmation
    
    Change-Id: I1fb708486ec350b2885e2404879561c1020fa8fd
    BUG: 1129939
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8494
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Harshavardhana <harsha>
    Tested-by: Harshavardhana <harsha>

--- Additional comment from Anand Avati on 2014-08-20 16:41:50 EDT ---

COMMIT: http://review.gluster.org/8483 committed in master by Harshavardhana (harsha) 
------
commit 28a2c9ee3994e19a708b0c42bc2445073f42a87d
Author: Emmanuel Dreyfus <manu>
Date:   Thu Aug 14 11:45:02 2014 +0200

    Regression test portability: 127.0.0.0/8
    
    On Linux, the host answers any address in  127.0.0.0/8
    On NetBSD, any address must be configured with ifconfig lo0 alias before
    it can be used.
    
    BUG: 1129939
    Change-Id: Ia628716c104d955817a95e0c5e04ead924bb4847
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8483
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Harshavardhana <harsha>
    Tested-by: Harshavardhana <harsha>

--- Additional comment from Anand Avati on 2014-08-21 23:30:18 EDT ---

COMMIT: http://review.gluster.org/8502 committed in master by Krishnan Parthasarathi (kparthas) 
------
commit 865d156d30498cd1bf4219ddbbb304d2ffd4aea0
Author: Emmanuel Dreyfus <manu>
Date:   Wed Aug 20 10:50:35 2014 +0200

    Fix quotad RPC options use-after-free bug in gluster
    
    In cli/src/cli.c:cli_quotad_clnt_rpc_init(), dict_unref (rpc_opts)
    causes the options to be freed while code in rpc/rpc-transport/socket
    still relies on it. The options are corrupted when memory is reallocated,
    which sometimes leads to a crashes on NetBSD when socket_connect()
    attempted to read options.
    
    Fix the problem by not doing the dict_unref(). Make sure the rpc_opts
    are freed on error, though.
    
    BUG: 1129939
    Change-Id: If1d6ea50cc3e1599e9e369863c8db0c0694d3671
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8502
    Reviewed-by: Santosh Pradhan <spradhan>
    Reviewed-by: Niels de Vos <ndevos>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra G <rgowdapp>
    Reviewed-by: Krishnan Parthasarathi <kparthas>
    Tested-by: Krishnan Parthasarathi <kparthas>

--- Additional comment from Kaleb KEITHLEY on 2014-08-25 07:13:08 EDT ---



--- Additional comment from Anand Avati on 2014-08-26 02:06:44 EDT ---

COMMIT: http://review.gluster.org/8403 committed in master by Vijay Bellur (vbellur) 
------
commit 4bbaf4615be673dec70fc3e1f127139b6d079869
Author: Emmanuel Dreyfus <manu>
Date:   Sat Aug 16 02:32:49 2014 +0200

    Fix glustershd detection on volume restart
    
    On NetBSD and FreeBSD, doing a 'gluster volume start $volume force' causes
    NFS server, quotad, snapd and glustershd to be undetected by glusterd once the
    volume has restarted. 'gluster volume status' shows the three processes
    as 'N' in the online column, while they have been launched successfully.
    
    This happens because glusterd attempts to connect to its child processes
    just between the child does a unlink() on the socket in
    __socket_server_bind() and the time it calls bind() and listen().
    Different scheduling policy may explain why the problem does not happen
    on Linux, but it may pop up some day since we make no guaranteed
    assumptions here.
    
    This patchet works this around by introducing a boolean
    transport.socket.ignore-enoent option, set by nfs and glustershd,
    which prevents ENOENT to be fatal and cause glusterd to retry and
    suceed later. Behavior of other clients is unaffected.
    
    BUG: 1129939
    Change-Id: Ifdc4d45b2513743ed42ee235a5c61a086321644c
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8403
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Niels de Vos <ndevos>
    Reviewed-by: Vijay Bellur <vbellur>

--- Additional comment from Anand Avati on 2014-08-28 00:21:26 EDT ---

REVIEW: http://review.gluster.org/8556 (Regression test portability: LVM) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-29 09:25:36 EDT ---

REVIEW: http://review.gluster.org/8565 (Regression test portability: stat) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-29 09:34:46 EDT ---

REVIEW: http://review.gluster.org/8566 (Regression test portability: rpc-coverage) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-30 00:40:45 EDT ---

REVIEW: http://review.gluster.org/8568 (Regression test portability: EXPECT) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-30 01:03:28 EDT ---

REVIEW: http://review.gluster.org/8568 (Regression test portability: EXPECT) posted (#2) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-08-30 23:45:45 EDT ---

REVIEW: http://review.gluster.org/8556 (Regression test portability: LVM) posted (#2) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-01 01:14:08 EDT ---

COMMIT: http://review.gluster.org/8556 committed in master by Vijay Bellur (vbellur) 
------
commit 8b8f6da58926a9ae7e450021e17b0b68d9fea830
Author: Emmanuel Dreyfus <manu>
Date:   Sun Aug 31 05:45:16 2014 +0200

    Regression test portability: LVM
    
    Skip any test involving LVM on NetBSD as LVM is not supported
    
    BUG: 1129939
    Change-Id: I2237bae1128d1a81047c9ff7f905431156daf8b7
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8556
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

--- Additional comment from Anand Avati on 2014-09-01 01:22:07 EDT ---

COMMIT: http://review.gluster.org/8568 committed in master by Vijay Bellur (vbellur) 
------
commit 11a4d37571253ce2cb18f36bb0ee18d1946be315
Author: Emmanuel Dreyfus <manu>
Date:   Sat Aug 30 06:59:29 2014 +0200

    Regression test portability: EXPECT
    
    Make sure test_expect_not_footer() and test_expect_footer() work on
    non empty strings, otherwise it may produce errors such as in pgfid_feat.t
    on NetBSD:
    not ok 12 Got "" instead of ""
    
    BUG: 1129939
    Change-Id: I9cb76ba863897126534c3808fb0c9e564659835f
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8568
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

--- Additional comment from Anand Avati on 2014-09-02 03:14:45 EDT ---

REVIEW: http://review.gluster.org/8576 (Regression test portability: EXPECT) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-04 05:53:14 EDT ---

REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-04 12:42:45 EDT ---

COMMIT: http://review.gluster.org/8576 committed in master by Vijay Bellur (vbellur) 
------
commit dfe122966803bea65d7877d7e06e6f5d8af13890
Author: Emmanuel Dreyfus <manu>
Date:   Tue Sep 2 09:08:58 2014 +0200

    Regression test portability: EXPECT
    
    Make sure test_expect_not_footer() and test_expect_footer() work on
    non empty strings, otherwise it may produce errors such as in pgfid_feat.t
    on NetBSD:
    not ok 12 Got "" instead of ""
    
    This a a missing bit from previosuly merged patchset:
     I9cb76ba863897126534c3808fb0c9e564659835f
    
    BUG: 1129939
    Change-Id: I2635b67deec9cf60295faab52e7421947b1f7bda
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8576
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Jeff Darcy <jdarcy>
    Reviewed-by: Vijay Bellur <vbellur>

--- Additional comment from Anand Avati on 2014-09-04 14:27:25 EDT ---

REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#2) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-04 20:38:35 EDT ---

REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#3) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-05 03:16:52 EDT ---

REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#4) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-05 08:43:22 EDT ---

REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#5) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-05 09:12:55 EDT ---

REVIEW: http://review.gluster.org/8623 (Build fix: -lz for qemu-block xlator) posted (#1) for review on master by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-05 13:17:52 EDT ---

COMMIT: http://review.gluster.org/8623 committed in master by Harshavardhana (harsha) 
------
commit fa696f2f0b1e50e34d009fb9378c41dc6edcc966
Author: Emmanuel Dreyfus <manu>
Date:   Fri Sep 5 15:11:06 2014 +0200

    Build fix: -lz for qemu-block xlator
    
    LIBZ_LIBS has been changed into ZLIB_LIBS everywhere in the
    sources, except in qemu-block xlator. Fix it so that it can
    find -lz and link correctly.
    
    BUG: 1129939
    Change-Id: I34ded175f056d1a0898804fe602e3d2d2cba27f5
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8623
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Harshavardhana <harsha>
    Tested-by: Harshavardhana <harsha>

--- Additional comment from Anand Avati on 2014-09-05 20:53:58 EDT ---

REVIEW: http://review.gluster.org/8628 (Search zlib without pkg-config) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-05 21:01:14 EDT ---

REVIEW: http://review.gluster.org/8629 (Do not call rpc_transport_unref() on NULL trans) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-05 21:10:06 EDT ---

REVIEW: http://review.gluster.org/8630 (Fix glustershd detection on volume restart) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

--- Additional comment from Anand Avati on 2014-09-05 21:10:40 EDT ---

REVIEW: http://review.gluster.org/8628 (Search zlib without pkg-config) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 1 Anand Avati 2014-09-06 04:17:28 UTC
REVIEW: http://review.gluster.org/8628 (Search zlib without pkg-config) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 2 Anand Avati 2014-09-06 04:23:23 UTC
REVIEW: http://review.gluster.org/8629 (Do not call rpc_transport_unref() on NULL trans) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 3 Anand Avati 2014-09-06 04:23:32 UTC
REVIEW: http://review.gluster.org/8631 (Do not assume sizeof(size_t)) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 4 Anand Avati 2014-09-06 04:23:36 UTC
REVIEW: http://review.gluster.org/8630 (Fix glustershd detection on volume restart) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 5 Anand Avati 2014-09-06 04:27:10 UTC
REVIEW: http://review.gluster.org/8632 (Enable aux-gfid-mount option on non Linux systems) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 6 Anand Avati 2014-09-06 04:28:27 UTC
REVIEW: http://review.gluster.org/8633 (NetBSD /dev/fuse detection) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 7 Anand Avati 2014-09-06 04:28:35 UTC
REVIEW: http://review.gluster.org/8634 (Always check for ENODATA with ENOATTR) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 8 Anand Avati 2014-09-06 04:29:45 UTC
REVIEW: http://review.gluster.org/8635 (Fix quotad RPC options use-after-free bug in gluster) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 9 Anand Avati 2014-09-06 04:30:31 UTC
REVIEW: http://review.gluster.org/8636 (POSIX filesystem compliance: PATH_MAX) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 10 Anand Avati 2014-09-08 06:16:16 UTC
COMMIT: http://review.gluster.org/8628 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit e3817aa6cab71e42f7e611d75abf0f433b88d907
Author: Emmanuel Dreyfus <manu>
Date:   Sat Sep 6 03:03:46 2014 +0200

    Search zlib without pkg-config
    
    NetBSD has zlib installed in base system and no .pc file for it. In
    order to discover it, fallback to AC_CHECK_LIB is PKG_CHECK_MODULES
    fail to find it.
    
    This is a backport of Ide84402aa38edc2709d12e2530401c6b8c722529
    and I34ded175f056d1a0898804fe602e3d2d2cba27f5
    
    BUG: 1138897
    Change-Id: I14a3ab987cf2bedd3d1d00145466647fb646795b
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8628
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 11 Anand Avati 2014-09-08 06:19:16 UTC
COMMIT: http://review.gluster.org/8630 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 467446c6837debff2caacfdb889adc69e9c702ae
Author: Emmanuel Dreyfus <manu>
Date:   Sat Sep 6 03:08:20 2014 +0200

    Fix glustershd detection on volume restart
    
    On NetBSD and FreeBSD, doing a 'gluster volume start $volume force' causes
    NFS server, quotad, snapd and glustershd to be undetected by glusterd once the
    volume has restarted. 'gluster volume status' shows the three processes
    as 'N' in the online column, while they have been launched successfully.
    
    This happens because glusterd attempts to connect to its child processes
    just between the child does a unlink() on the socket in
    __socket_server_bind() and the time it calls bind() and listen().
    Different scheduling policy may explain why the problem does not happen
    on Linux, but it may pop up some day since we make no guaranteed
    assumptions here.
    
    This patchet works this around by introducing a boolean
    transport.socket.ignore-enoent option, set by nfs and glustershd,
    which prevents ENOENT to be fatal and cause glusterd to retry and
    suceed later. Behavior of other clients is unaffected.
    
    This is a backport of  Ifdc4d45b2513743ed42ee235a5c61a086321644c
    
    BUG: 1138897
    Change-Id: I04472f045249c99a9492218ceebfab847474db2d
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8630
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 12 Anand Avati 2014-09-08 06:19:59 UTC
COMMIT: http://review.gluster.org/8632 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 6aab295d0b95b0a40155b86b1f2bc93dc92bdb86
Author: Emmanuel Dreyfus <manu>
Date:   Sat Sep 6 06:26:23 2014 +0200

    Enable aux-gfid-mount option on non Linux systems
    
    The aux-gfid-mount works on non Linux systems, and it is required
    to pass tests/basic/gfid-access.t
    
    This is a backport of Ic6c8ef425e091440a139bbd25fadbf4f82e378cb
    
    BUG: 1138897
    Change-Id: Iab5487437fde65a66cff9cfeb7d209db7eb12108
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8632
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 13 Anand Avati 2014-09-08 06:20:39 UTC
COMMIT: http://review.gluster.org/8633 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit b59ec2c308b19bc1c1be825e6049a3f435039d8a
Author: Emmanuel Dreyfus <manu>
Date:   Sat Sep 6 06:27:40 2014 +0200

    NetBSD /dev/fuse detection
    
    NetBSD's FUSE being pure userland implementation, there is no /dev/fuse
    to open. Test /dev/puffs (kernel fs-in-userland subsystem supporting FUSE)
    insead.
    
    This is a backport of Ia65e95c246dc31ea2839cf64d7c851430828542e
    
    BUG: 1138897
    Change-Id: I9beb673cff08d429c8ae66a819266f6037086b3e
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8633
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 14 Anand Avati 2014-09-08 06:23:45 UTC
COMMIT: http://review.gluster.org/8634 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit e2c916078ea33fe14a208c5b4ba6fe8e52ecda1a
Author: Emmanuel Dreyfus <manu>
Date:   Sat Sep 6 06:27:03 2014 +0200

    Always check for ENODATA with ENOATTR
    
    Linux defines ENODATA and ENOATTR with the same value, which means that
    code can miss on on the two without breaking.
    
    FreeBSD does not have ENODATA and GlusterFS defines it as ENOATTR just
    like Linux does.
    
    On NetBSD, ENODATA != ENOATTR, hence we need to check for both values
    to get portable behavior.
    
    This is a backport of  I003a3af055fdad285d235f2a0c192c9cce56fab8
    
    BUG: 1138897
    Change-Id: I272cd53e637993c7fd2ac74bd607001d3581ced7
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8634
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 15 Anand Avati 2014-09-08 06:25:01 UTC
COMMIT: http://review.gluster.org/8635 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 62a94b27bf15cb8c8b31a595276f1bac2ba4e9b1
Author: Emmanuel Dreyfus <manu>
Date:   Sat Sep 6 06:28:48 2014 +0200

    Fix quotad RPC options use-after-free bug in gluster
    
    In cli/src/cli.c:cli_quotad_clnt_rpc_init(), dict_unref (rpc_opts)
    causes the options to be freed while code in rpc/rpc-transport/socket
    still relies on it. The options are corrupted when memory is reallocated,
    which sometimes leads to a crashes on NetBSD when socket_connect()
    attempted to read options.
    
    Fix the problem by not doing the dict_unref(). Make sure the rpc_opts
    are freed on error, though.
    
    This is a backport of If1d6ea50cc3e1599e9e369863c8db0c0694d3671
    
    BUG: 1138897
    Change-Id: Idcd46c3ee9a7daa64dfeb8950e14d6b99f177bb3
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8635
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 16 Anand Avati 2014-09-15 15:54:22 UTC
REVIEW: http://review.gluster.org/8743 (32 bit fix: use off_t and not size_t for truncate()) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 17 Anand Avati 2014-09-16 11:32:47 UTC
COMMIT: http://review.gluster.org/8629 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit d18b830fb78a141f4c38a40be7c470485b9250ea
Author: Emmanuel Dreyfus <manu>
Date:   Sat Sep 6 02:57:41 2014 +0200

    Do not call rpc_transport_unref() on NULL trans
    
    rpc_clnt_disable() sets rpc->conn->trans to NULL, hence we should not
    call rpc_transport_unref() afterwards. I moved it before the
    rpc_clnt_disable() call, but I am not sure it should be called at all,
    perhaps it should just go away.
    
    This is a backport of I488d0207494e3a3fad52e64e67b2e740b236b864
    
    BUG: 1138897
    Change-Id: I001ab73b37f74ba98463bd9c32c01c670e9c7ad8
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8629
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Humble Devassy Chirammal <humble.devassy>
    Reviewed-by: Raghavendra G <rgowdapp>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 18 Anand Avati 2014-09-16 15:16:44 UTC
REVIEW: http://review.gluster.org/8743 (32 bit fix: use off_t and not size_t for truncate()) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 19 Anand Avati 2014-09-18 18:06:56 UTC
COMMIT: http://review.gluster.org/8631 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 474251b1e6a827982f42c986c00a4a8a186ee1dc
Author: Emmanuel Dreyfus <manu>
Date:   Sat Sep 6 06:20:41 2014 +0200

    Do not assume sizeof(size_t)
    
    This fixes an assumption that sizeof(size_t) == sizeof(uint64_t), which
    is not guaranteed. At least on NetBSD/i386, size_t is 32 bit long.
    
    Caught by tests/basics/file-snapshot.t
    
    This is a backport of Ib7620a2ffe8758521886af37bc280101a040d860
    
    BUG: 1138897
    Change-Id: Ie0b80ee9ddbcccaf9fd4f5d28d80fcd080b0ed40
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8631
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Humble Devassy Chirammal <humble.devassy>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 20 Niels de Vos 2014-09-22 12:45:47 UTC
A beta release for GlusterFS 3.6.0 has been released. Please verify if the release solves this bug report for you. In case the glusterfs-3.6.0beta1 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update (possibly an "updates-testing" repository) infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-September/018836.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/

Comment 21 Anand Avati 2014-09-23 19:20:14 UTC
REVIEW: http://review.gluster.org/8828 (Do not hardcode setfattr(1) path) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 22 Anand Avati 2014-09-24 07:03:56 UTC
COMMIT: http://review.gluster.org/8828 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 1f6e992f1aaa676be5bd47d17e58f1171825cf43
Author: Emmanuel Dreyfus <manu>
Date:   Tue Sep 23 21:14:27 2014 +0200

    Do not hardcode setfattr(1) path
    
    Turn setfattr(1) absolute path into an OS-dependant macro. Let compiler
    option override it to fit custom installation if needed.
    
    Backport of I8f469c5741a85b6e8d8f6299a9540b3d64611d2f
    
    BUG: 1138897
    Change-Id: I279752f2ec5db1abc25830cb9a23290cc401d517
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8828
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 23 Niels de Vos 2014-09-25 08:27:31 UTC
A beta release for GlusterFS 3.6.0 has been released. Please verify if the release solves this bug report for you. In case the glusterfs-3.6.0beta2 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update (possibly an "updates-testing" repository) infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-September/018883.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/

Comment 24 Anand Avati 2014-09-25 18:05:55 UTC
COMMIT: http://review.gluster.org/8743 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 61a7256f977dea586ad62741592f867906a63097
Author: Emmanuel Dreyfus <manu>
Date:   Tue Sep 16 17:13:51 2014 +0200

    32 bit fix: use off_t and not size_t for truncate()
    
    Make sure off_t and not size_t is used when holding file offsets for
    ftruncate()/truncate(). It works on 64 bit machines where
    sizeof(size_t) == sizeof(off_t) == 8, but breaks for big offsets on 32 bit
    machines because sizeof(size_t) == 4 and sizeof(off_t) == 8
    
    This is backport of Ia2637be772ba9b11731d59fdbffbd269f0ff56c8
    
    BUG: 1138897
    Change-Id: I8fe77a86831f0db4eff5b5c89efe004b9a0b29e9
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8743
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 25 Anand Avati 2014-09-26 00:18:46 UTC
REVIEW: http://review.gluster.org/8860 (nvalid seekdir() usage) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 26 Anand Avati 2014-09-26 00:19:00 UTC
REVIEW: http://review.gluster.org/8861 (Use sane OS-dependent defaults for SSL configuration) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 27 Anand Avati 2014-09-26 00:21:52 UTC
REVIEW: http://review.gluster.org/8862 (Do not forbid fallocate on non Linux systems) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 28 Anand Avati 2014-09-26 00:29:31 UTC
REVIEW: http://review.gluster.org/8863 (Do not hardcode umount(8) path, emulate lazy umount) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 29 Anand Avati 2014-09-26 00:31:56 UTC
REVIEW: http://review.gluster.org/8860 (Fix invalid seekdir() usage) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 30 Anand Avati 2014-09-26 00:32:04 UTC
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 31 Anand Avati 2014-09-26 12:24:08 UTC
COMMIT: http://review.gluster.org/8862 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit e78ad0c426c31264651b13d6138b70fa53c4af86
Author: Emmanuel Dreyfus <manu>
Date:   Fri Sep 26 02:10:46 2014 +0200

    Do not forbid fallocate on non Linux systems
    
    Linux fallocate() differs from posix_fallocate() by
    an extra flag that can have the FALLOC_FL_KEEP_SIZE value;
    
    Do not test FALLOC_FL_KEEP_SIZE existence to enable fallocate()
    in posix xlator, as sys_fallocate() in libglusterfs provides
    support for both implementations.
    
    Backport of Idf41a0396028a15e81281791bf6912d7fd674e3f
    BUG: 1138897
    Signed-off-by: Emmanuel Dreyfus <manu>
    
    Change-Id: Ie6e5ea923561630c52a6db5c7f83313cfdc34811
    Reviewed-on: http://review.gluster.org/8862
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 32 Anand Avati 2014-09-26 12:24:29 UTC
COMMIT: http://review.gluster.org/8861 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 61353a428903047d800b572637ab1df6f2b04a42
Author: Emmanuel Dreyfus <manu>
Date:   Fri Sep 26 02:13:57 2014 +0200

    Use sane OS-dependent defaults for SSL configuration
    
    Current code assumes /etc/ssl exists, which may not be the case.
    Attempt to guess sane default for a few OS.
    
    Backport of I0f3168f79b8f4275636581041740dfcaf25f3edd
    
    BUG: 1138897
    Change-Id: I972c26236cbf070f15c3846add059bd33d60216d
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8861
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 33 Anand Avati 2014-09-27 06:39:36 UTC
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 34 Anand Avati 2014-09-27 08:25:31 UTC
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 35 Anand Avati 2014-09-29 01:27:15 UTC
REVIEW: http://review.gluster.org/8860 (Fix invalid seekdir() usage) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 36 Anand Avati 2014-09-29 04:46:11 UTC
REVIEW: http://review.gluster.org/8860 (Fix invalid seekdir() usage) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 37 Anand Avati 2014-09-30 16:50:30 UTC
COMMIT: http://review.gluster.org/8860 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 912eec63f43fda453e4210bfa82336a877a15d38
Author: Emmanuel Dreyfus <manu>
Date:   Mon Sep 29 03:15:20 2014 +0200

    Fix invalid seekdir() usage
    
    According to POSIX, seekdir() should only be given offset obtained from
    telldir() on the same DIR *
    http://pubs.opengroup.org/onlinepubs/9699919799/functions/seekdir.html
    
    Code from afr-self-heald.c and index.c is operating outside of the
    specification, by doing using seekdir() with offset from a previously
    open/close/re-open directory. This seems to work on Linux (although with
    no guarantee it will always in the future). On NetBSD the seekdir()
    with a in invalid offset is a nilpotent operation, and causes an infinite
    loop, since index_fill_readdir() always restart from the beginning of the
    directory.
    
    The situation is fixed by using a non anonymous fd in afr-self-heald.c:
    we explicitely open the directory so that it remains open on the brick
    side during the timeframe where we want to reuse offsets in seekdir().
    This requires adding an opendir fop in index xlator.
    
    If the brick was not updated, the opendir will fail and we fallback
    to the standard violating approach for backward compatibility on Linux.
    On other systems we fail since it never worked.
    
    While there, add tests to check seekdir() success in index and posix
    xlators, so that incorrect usage from calling code produce an explicit
    error instead of an infinite loop. We can only do it on non Linux systems,
    for the sake of backward compatibility when the brick was updated but
    not the client.
    
    Backport of I88ca90acfcfee280988124bd6addc1a1893ca7ab
    
    BUG: 1138897
    Change-Id: I5446a9a17d5451ec5aab8fbd10d381da9a0a23ad
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8860
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 38 Anand Avati 2014-10-01 18:08:38 UTC
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 39 Anand Avati 2014-10-02 00:17:52 UTC
REVIEW: http://review.gluster.org/8898 (POSIX filesystem compliance: PATH_MAX) posted (#1) for review on master by Emmanuel Dreyfus (manu)

Comment 40 Anand Avati 2014-10-02 01:13:03 UTC
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#5) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 41 Anand Avati 2014-10-03 14:58:19 UTC
COMMIT: http://review.gluster.org/8864 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 5ee6a5384ee298314e1ef50c293ad5cbc281c609
Author: Emmanuel Dreyfus <manu>
Date:   Thu Oct 2 02:58:50 2014 +0200

    POSIX filesystem compliance: PATH_MAX
    
    POSIX mandates the filesystem to support paths of lengths up to
    _XOPEN_PATH_MAX (1024).  This is the PATH_MAX limit here:
    http://pubs.opengroup.org/onlinepubs/009604499/basedefs/limits.h.html
    
    When using a path of 1023 bytes, the posix xlator attempts to create
    an absolute path by  prefixing the 1023 bytes path by the brick
    base path. The result is an absolute path of more than _XOPEN_PATH_MAX
    bytes which may be rejected by the backend filesystem.
    
    Linux's ext3fs PATH_MAX seems to defaut to 4096, which means it
    will work (except if brick base path is longer than 2072 bytes but
    it is unlikely to happen. NetBSD's FFS PATH_MAX defaults to 1024,
    which means the bug can happen regardless of brick base path length.
    
    If this condition is detected for a brick, the proposed fix is to
    chdir() the brick glusterfsd daemon to its brick base directory.
    Then when encountering a path that will exceed _XOPEN_PATH_MAX once
    prefixed by the brick base path, a relative path is used instead
    of an absolute one. We do not always use relative path because some
    operations require an absolute path on the brick base path itself
    (e.g.: statvfs).
    
    At least on NetBSD, this chdir() uncovers a race condition which
    causes file lookup to fail with ENODATA for a few seconds. The
    volume quickly reaches a sane state, but regression tests are fast
    enough to choke on it. The reason is obscure (as often with race
    conditions), but sleeping one second after the chdir() seems to
    change scheduling enough that the problem disapear.
    
    Note that since the chdir() is done if brick backend filesystem
    does not support path long enough, it will not occur with Linux
    ext3fs (except if brick base path is over 2072 bytes long).
    
    This is a backport of I7db3567948bc8fa8d99ca5f5ba6647fe425186a9
    
    BUG: 1138897
    Change-Id: Ib8eb3efaac8a7ba505d830623921338689229e9a
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8864
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Harshavardhana <harsha>
    Tested-by: Harshavardhana <harsha>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 42 Anand Avati 2014-10-03 15:01:32 UTC
COMMIT: http://review.gluster.org/8863 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 89de9adbf2b7d446abe9a27c8e384d205a996176
Author: Emmanuel Dreyfus <manu>
Date:   Fri Sep 26 02:28:15 2014 +0200

    Do not hardcode umount(8) path, emulate lazy umount
    
    1) Use a system-dependent macro for umount(8) location instead of
    relying on $PATH  to find it, for security and portability sake.
    
    2) Introduce gf_umount_lazy() to replace umount -l (-l for lazy) invocations,
    which is only supported on Linux; On Linux behavior in unchanged. On other
    systems, we fork an external process (umountd) that will take care of
    periodically attempt to unmount, and optionally rmdir.
    
    Backport of Ia91167c0652f8ddab85136324b08f87c5ac1edd51d
    
    BUG: 1138897
    Change-Id: I9d82c87e85af0dee79f2de39bc697c486b7103c8
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8863
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Csaba Henk <csaba>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 43 Anand Avati 2014-10-07 07:39:54 UTC
REVIEW: http://review.gluster.org/8909 (build: include contrib/umountd in the 'make dist' tarball) posted (#1) for review on release-3.6 by Niels de Vos (ndevos)

Comment 44 Anand Avati 2014-10-07 15:00:41 UTC
COMMIT: http://review.gluster.org/8909 committed in release-3.6 by Niels de Vos (ndevos) 
------
commit 59c6d60996240eb2ef5c7cbcc42ec27c04e38d9c
Author: Niels de Vos <ndevos>
Date:   Mon Oct 6 22:46:44 2014 +0200

    build: include contrib/umountd in the 'make dist' tarball
    
    When running 'make dist' on Linux, the new contrib/umountd directory and
    contents is not included in the resulting tarball. This causes the build
    from the tarball to fail.
    
    Cherry picked from commit 3e7508eafb1955a071da9108dce5ce1cf435f4f3:
    > Change-Id: Ic575040212d91c6368f04b015cc9d2d5b2969a3a
    > BUG: 1129939
    > Reported-by: Emmanuel Dreyfus <manu>
    > URL: http://supercolony.gluster.org/pipermail/gluster-devel/2014-October/042441.html
    > Signed-off-by: Niels de Vos <ndevos>
    > Reviewed-on: http://review.gluster.org/8907
    > Reviewed-by: Harshavardhana <harsha>
    > Tested-by: Harshavardhana <harsha>
    > Reviewed-by: Emmanuel Dreyfus <manu>
    > Tested-by: Gluster Build System <jenkins.com>
    
    Change-Id: Ic575040212d91c6368f04b015cc9d2d5b2969a3a
    BUG: 1138897
    Signed-off-by: Niels de Vos <ndevos>
    Reviewed-on: http://review.gluster.org/8909
    Reviewed-by: Emmanuel Dreyfus <manu>
    Reviewed-by: Jeff Darcy <jdarcy>

Comment 45 Anand Avati 2014-10-15 12:45:45 UTC
REVIEW: http://review.gluster.org/8933 (Avoid spurious EINVAL in posix_readdir()) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 46 Anand Avati 2014-10-27 15:10:47 UTC
REVIEW: http://review.gluster.org/8980 (glupy: portability fixes) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 47 Anand Avati 2014-10-29 05:48:20 UTC
REVIEW: http://review.gluster.org/8993 (doc: Release Notes for GlusterFS 3.6.0) posted (#2) for review on release-3.6 by Vijay Bellur (vbellur)

Comment 48 Anand Avati 2014-10-29 05:48:32 UTC
REVIEW: http://review.gluster.org/8997 (Regression test portability: quota-anon-fd-nfs.t) posted (#1) for review on release-3.6 by Vijay Bellur (vbellur)

Comment 49 Anand Avati 2014-10-29 09:27:00 UTC
COMMIT: http://review.gluster.org/8933 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 190f43f1818e097a4e4f041c4f56516b067632f0
Author: Emmanuel Dreyfus <manu>
Date:   Wed Oct 15 14:09:16 2014 +0200

    Avoid spurious EINVAL in posix_readdir()
    
    On non Linux systems, we check that seekdir() succeeds and we return
    EINVAL if it does not. We need this to avoid infinite loops if some
    other component in GlusterFS makes an invalid seekdir() usage. This
    was introduced in this change: http://review.gluster.org/#/c/8760/
    
    But seekdir() also fails when using the offset returned for the
    last entry, and this is expected behavior. As a result, the seekdir()
    test produces a spurious EINVAL when reaching end of directory. That
    error is not propagated to calling process, but it may harm internal
    GlusterFS processing. At least it produce a spurious error message
    in brick's log.
    
    We fix the problem by remembering the last entry offset in fd private
    data. When a new posix_readdir() invocation requests that offset,
    we avoid returning EINVAL.
    
    Backport of I4e67a2ea46538aae63eea663dd4aa33b16ad24c7
    
    BUG: 1138897
    Change-Id: I4e98294d157f67ae1a1f0ece1562c77d1219da40
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8933
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 50 Anand Avati 2014-10-30 03:55:00 UTC
REVIEW: http://review.gluster.org/8980 (glupy: portability fixes) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 51 Anand Avati 2014-10-30 09:00:07 UTC
REVIEW: http://review.gluster.org/9006 (Lazy umount emulation: deal with stopped volumes) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 52 Anand Avati 2014-10-30 09:55:34 UTC
REVIEW: http://review.gluster.org/9010 (Use F_CLOSEM if available) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 53 Anand Avati 2014-10-30 09:57:10 UTC
REVIEW: http://review.gluster.org/8980 (glupy: portability fixes) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 54 Anand Avati 2014-11-04 15:00:24 UTC
REVIEW: http://review.gluster.org/9045 (Portability fix: mount.glusterfs) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 55 Anand Avati 2014-11-05 01:50:34 UTC
REVIEW: http://review.gluster.org/9048 (Avoid spurious EINVAL in index_readdir()) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 56 Anand Avati 2014-11-07 14:23:31 UTC
REVIEW: http://review.gluster.org/8980 (glupy: portability fixes) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 57 Anand Avati 2014-11-10 09:04:16 UTC
REVIEW: http://review.gluster.org/9084 (telldir()/seekdir() portability fixes) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 58 Niels de Vos 2014-11-11 08:38:18 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.6.1, please reopen this bug report.

glusterfs-3.6.1 has been announced [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-November/019410.html
[2] http://supercolony.gluster.org/mailman/listinfo/gluster-users

Comment 59 Anand Avati 2014-11-14 13:42:20 UTC
REVIEW: http://review.gluster.org/9127 (Build fix: xdrgen) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 60 Anand Avati 2014-11-17 06:57:54 UTC
COMMIT: http://review.gluster.org/9006 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 4d8917360ed3176a22ec218b9c1f15ee444ad11d
Author: Emmanuel Dreyfus <manu>
Date:   Thu Oct 30 09:50:41 2014 +0100

    Lazy umount emulation: deal with stopped volumes
    
    On non Linux systems, lazy umount is emulated using contrib/umountd.
    It first check that the path given to unmount exists, but it should
    not give up on ENOTCONN as it is what happens when a volume is mounted
    but stopped.
    
    This lets NetBSD pass tests/bugs/bug-1049323.t
    
    Backport of: http://review.gluster.org/8991
    
    BUG: 1138897
    Change-Id: I39941577021c0b39f545f9777fe75cd39637427b
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9006
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 61 Anand Avati 2014-11-17 07:02:51 UTC
COMMIT: http://review.gluster.org/9010 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 573a1b3f41aeb831919a472315b1cd48fe3999bf
Author: Emmanuel Dreyfus <manu>
Date:   Thu Oct 30 10:54:24 2014 +0100

    Use F_CLOSEM if available
    
    Use F_CLOSEM to close all file descriptors if available.
    
    Backport of Ib3c682825b89c163ebb152848f2533b3cb62cdce
    
    BUG: 1138897
    Change-Id: Ie44c8e07c77ca5509766e0addbb17c1979df68e7
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9010
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 62 Anand Avati 2014-11-17 07:05:21 UTC
COMMIT: http://review.gluster.org/9045 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit ff4d4030b9ad58b706fe2017cb3f426eb7bec77e
Author: Emmanuel Dreyfus <manu>
Date:   Tue Nov 4 15:57:59 2014 +0100

    Portability fix: mount.glusterfs
    
    Remove bash-specific syntax from mount.glusterfs
    
    This is a backport of  Iec3a52686f7cee1825ac5a06c11fb8ac4d3e5d65
    
    BUG: 1138897
    Change-Id: I3149cd4d94c862a3857709c00cf0ed0377976f40
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9045
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 63 Anand Avati 2014-11-17 07:06:29 UTC
COMMIT: http://review.gluster.org/8980 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 3df2cbdf32891237fee360e2003c2f659d08f63e
Author: Emmanuel Dreyfus <manu>
Date:   Fri Nov 7 15:21:45 2014 +0100

    glupy: portability fixes
    
    Fixes portability problems so that NetBSD passes tests/features/glupy.t
    
    - Use python-config to detect python build environment on all systems,
      not just Linux and Darwin.
    - Get the site-package directory from python and make sure we install
      glupy.py there, Previously we installed within glusterfs prefix,
      which caused a problem if it was different that python's prefix.
    - Set PYTHONPATH for tests so that the detected site-packages is used
      in python's search path. This should be useless, but let us have it
      just in case.
    - Pass glupy.so path from glusterfsd to glupy.py through an
      environment variable and use it in CDLL instead of "", as the
      later seems not portable (at least it fails on NetBSD).
    - Use gil_init_key pthread_getspecific to avoid deadlocks (that
      code was #ifdef out, perhaps because it was not needed on Linux,
      but it seems to be required for NetBSD.
    - Recover the error message from Python and send it to the logs
      to help debugging problems.
    
    Backport of: http://review.gluster.org/8978
    
    This is the same patchset as previously submitted to retrigger regression
    tests after a spurious failure.
    
    BUG: 1138897
    Change-Id: I1e23ba5cc18f129ee1032f905cb053953b683a81
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/8980
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 64 Anand Avati 2014-11-28 16:22:16 UTC
REVIEW: http://review.gluster.org/9214 (glupy: build fix if python and glusterfs prefix differ) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 65 Anand Avati 2014-11-28 16:51:57 UTC
REVIEW: http://review.gluster.org/9215 (posix: Fix buffer overrun in _handle_list_xattr()) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 66 Anand Avati 2014-12-10 12:53:49 UTC
COMMIT: http://review.gluster.org/9260 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit bfc9f1f8d94db1d666e549f3e382be75839c1bf7
Author: Krutika Dhananjay <kdhananj>
Date:   Fri Dec 5 14:35:08 2014 +0530

    cluster/afr: Associate the inode returned by inode_link() with corresponding entry
    
            Backport of: http://review.gluster.org/9254
    
    Change-Id: I7d2be4d41413f4df7d0b2d1d545d61f384f7a0c3
    BUG: 1138897
    Signed-off-by: Krutika Dhananjay <kdhananj>
    Reviewed-on: http://review.gluster.org/9260
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Bhat <raghavendra>
    Tested-by: Raghavendra Bhat <raghavendra>

Comment 67 Anand Avati 2014-12-13 06:13:05 UTC
COMMIT: http://review.gluster.org/9214 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit 52df13da57a6aac1b5c6b37d26d39a4d2cd4ec42
Author: Emmanuel Dreyfus <manu>
Date:   Fri Nov 28 17:19:14 2014 +0100

    glupy: build fix if python and glusterfs prefix differ
    
    If python is installed in ${pythonprefix} and glusterfs
    in ${glusterfsprefix}, we have the following values:
    ${PYTHON}-config --prefix   => ${pythonprefix}
    $libdir                     => ${glusterfsprefix}/lib
    
    Using LDFLAGS="-L`${PYTHON}-config --prefix`/$libdir" we lookf for
    python libraries in ${pythonprefix}/${glusterfsprefix}/lib while
    we should be looking for ${pythonprefix}/lib
    
    Replacing $libdir by lib breaks bug 1159248, so let us look in both
    ${pythonprefix}/lib and ${pythonprefix}/$libdir
    
    Backport of: I2fef1b795235d1543a0e5ac619c6c2d59127fb66
    
    BUG: 1138897
    Change-Id: I29b9f121e1cdc546ca8551ff48cc99f1c71a0ea6
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9214
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>
    Reviewed-by: Raghavendra Bhat <raghavendra>
    Tested-by: Raghavendra Bhat <raghavendra>

Comment 68 Anand Avati 2014-12-20 04:46:42 UTC
REVIEW: http://review.gluster.org/9319 (Avoid spurious directory metedata split brain) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 69 Anand Avati 2014-12-20 09:39:48 UTC
COMMIT: http://review.gluster.org/9215 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit 4973b6c54e0887f260e2b7507dcc1ac76a36a612
Author: Emmanuel Dreyfus <manu>
Date:   Fri Nov 28 17:49:25 2014 +0100

    posix: Fix buffer overrun in _handle_list_xattr()
    
    In _handle_list_xattr() we test remaining_size > 0 to check that
    we do not overrun the buffer, but since that variable was unsigned
    (size_t), the condition would let us go beyond end of buffer if
    remaining_size became negative.
    
    This could happen if attribute list grew between the first
    sys_llistxattr() call that gets the size and the second sys_llistxattr()
    call that get the data. We fix the problem by making remaining_size
    signed (ssize_t). This also matches sys_llistxattr() return type.
    
    While there, we use the size returned by the second sys_llistxattr()
    call to parse the buffser, as it may also be smaller than the size
    obtained from first call, if attribute list shrank.
    
    This fixes a spurious crash in tests/basic/afr/resolve.t
    
    backport of: Ifc5884dd0f39a50bf88aa51fefca8e2fa22ea913
    
    BUG: 1138897
    Change-Id: I37d4816b9cb246e34c92994cb969dc2be80be20d
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9215
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Bhat <raghavendra>

Comment 70 Anand Avati 2014-12-20 09:46:31 UTC
COMMIT: http://review.gluster.org/9084 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit 5c7afe9c1d6086ba1fb1d6e8d352da12a828ad8d
Author: Emmanuel Dreyfus <manu>
Date:   Mon Nov 10 10:01:00 2014 +0100

    telldir()/seekdir() portability fixes
    
    POSIX says that an offset obtained from telldir() can only be used
    on the same DIR *. Linux is abls to reuse the offset accross
    closedir()/opendir() for a given directory, but this is not portable
    and such a behavior should be fixed.
    
    An incomplete fix for the posix xlator was merged in
    http://review.gluster.org/8933
    This change set completes it.
    
    - Perform the same fix index xlator.
    - Use appropriate casts and variable types so that 32 bit signed
      offsets obtained by telldir() do not get clobbered when copied into
      64 bit signed types.
    - modify afr-self-heald.c so that it does not use anonymous fd,
      since this will cause closedir()/opendir() between each
      syncop_readdir(). On failure we fallback to anonymous fs
      only for Linux so that we can cope with updated client vs not
      updated brick.
    - Avoid sending an EINVAL when the client request for the EOF offset.
      Here we fix an error in previous fix for posix xlator: since we
      fill each directory entry with the offset of the next entry, we
      must consider as EOF the offset of the last entry, and not the
      value of telldir() after we read it.
    
    This is a backport of I59fb7f06a872c4f98987105792d648141c258c6a
    
    BUG: 1138897
    Change-Id: I1e9f3e4a7d780b98adf6d9f197ee2198d43ef94d
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9084
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Bhat <raghavendra>

Comment 71 Anand Avati 2014-12-22 15:40:06 UTC
REVIEW: http://review.gluster.org/9319 (Avoid spurious directory metedata split brain) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 72 Anand Avati 2014-12-23 05:41:09 UTC
REVIEW: http://review.gluster.org/9319 (Avoid spurious directory metedata split brain) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 73 Anand Avati 2014-12-23 05:56:03 UTC
REVIEW: http://review.gluster.org/9319 (Avoid spurious directory metedata split brain) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 74 Anand Avati 2014-12-24 06:08:39 UTC
COMMIT: http://review.gluster.org/9319 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit 190037c10ce0e5e56e67a248e10f86538e3cdfc4
Author: Emmanuel Dreyfus <manu>
Date:   Tue Dec 23 06:54:53 2014 +0100

    Avoid spurious directory metedata split brain
    
    When directory content is modified, [mc]time is updated. On
    Linux, the filesystem does it, while at least on NetBSD, the
    kernel file-system independant code does it. This means that
    when entries are added while bricks are down, the kernel sends
    a SETATTR [mc]time which will cause metadata split brain for
    the directory. In this case, clear the split brain by finding
    the source with the most recent modification date.
    
    Backport of: Ic0177e0df753a4748624d0b906834ed54593adb9
    
    BUG: 1138897
    Change-Id: Ic2e697be4f0074e2bbd3f23d6ad40a2d2d126a2c
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9319
    Reviewed-by: Krutika Dhananjay <kdhananj>
    Reviewed-by: Ravishankar N <ravishankar>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Bhat <raghavendra>

Comment 75 Anand Avati 2015-01-14 17:01:59 UTC
REVIEW: http://review.gluster.org/9448 (NetBSD portability fix: recover errno on runner error) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 76 Anand Avati 2015-01-23 12:40:49 UTC
REVIEW: http://review.gluster.org/9484 (glusterd: Fix spurious volume delete failure) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 77 Anand Avati 2015-02-04 12:07:03 UTC
COMMIT: http://review.gluster.org/9448 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit 6c5007d944bc7feddb19d5245f134c5602940d7b
Author: Emmanuel Dreyfus <manu>
Date:   Wed Jan 14 18:00:46 2015 +0100

    NetBSD portability fix: recover errno on runner error
    
    Some time ago we introduced F_CLOSEM to efficiently close unused
    file descriptors when using a runner. But since it also close the
    file descriptor used to send back errno to glusterd, it got unable
    to detect an error on execve().
    
    Fix this by backing out F_CLOSEM usage.
    
    BUG: 1138897
    Change-Id: I147a0924e8b1721c2a5ff67c3b943579d3a03bf5
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9448
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Niels de Vos <ndevos>
    Reviewed-by: Vijay Bellur <vbellur>
    Reviewed-by: Raghavendra Bhat <raghavendra>

Comment 78 Raghavendra Bhat 2015-02-11 09:11:30 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.6.2, please reopen this bug report.

glusterfs-3.6.2 has been announced on the Gluster Developers mailinglist [1], packages for several distributions should already be or become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

The fix for this bug likely to be included in all future GlusterFS releases i.e. release > 3.6.2.

[1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/5978
[2] http://news.gmane.org/gmane.comp.file-systems.gluster.user
[3] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137

Comment 79 Raghavendra Bhat 2015-02-11 09:11:45 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.6.2, please reopen this bug report.

glusterfs-3.6.2 has been announced on the Gluster Developers mailinglist [1], packages for several distributions should already be or become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

The fix for this bug likely to be included in all future GlusterFS releases i.e. release > 3.6.2.

[1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/5978
[2] http://news.gmane.org/gmane.comp.file-systems.gluster.user
[3] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137

Comment 80 Anand Avati 2015-02-11 11:45:39 UTC
COMMIT: http://review.gluster.org/9484 committed in release-3.6 by Krishnan Parthasarathi (kparthas) 
------
commit e312b0807b51120942d95d482ddce7a51ebbacc8
Author: Emmanuel Dreyfus <manu>
Date:   Fri Jan 23 11:28:50 2015 +0100

    glusterd: Fix spurious volume delete failure
    
    If volume uses quota, volume delete operation should unmount the
    auxiliary quota mount usin glusterd_remove_auxiliary_mount(). This
    may fail with EBADF is the mount is already gone. In that situation,
    ignore the error so that volume delete succeeds.
    
    This fixes a spurious failure on NetBSD in tests/basic/quota.t 74-75
    
    Backport of I69325f71fc2c8af254db46f696c8669a4e6bd7e4
    
    BUG: 1138897
    Change-Id: If0d382d44a956bb9fd8c41299f82affdf2ee0618
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/9484
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Krishnan Parthasarathi <kparthas>
    Tested-by: Krishnan Parthasarathi <kparthas>

Comment 81 Anand Avati 2015-04-10 08:36:26 UTC
REVIEW: http://review.gluster.org/10178 (Tests: fix spurious failure in read-subvol-entry.t) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 82 Anand Avati 2015-04-16 04:39:22 UTC
REVIEW: http://review.gluster.org/10178 (Tests: fix spurious failure in read-subvol-entry.t) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 83 Anand Avati 2015-04-16 07:27:00 UTC
REVIEW: http://review.gluster.org/10178 (Tests: fix spurious failure in read-subvol-entry.t) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 84 Anand Avati 2015-04-17 04:12:22 UTC
REVIEW: http://review.gluster.org/10278 (Fix case mistake for MKDIR_P in Makefiles) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)

Comment 85 Anand Avati 2015-05-19 13:15:30 UTC
COMMIT: http://review.gluster.org/10178 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit 690c87816d412cc2a6c6f735c1941810bcb700ea
Author: Emmanuel Dreyfus <manu>
Date:   Thu Apr 16 09:24:52 2015 +0200

    Tests: fix spurious failure in read-subvol-entry.t
    
    read-subvol-entry.t tests that if a brick has pending operations,
    it is not used for readdir operations. On NetBSD this test exhibits
    spurious failures, with the wrong brick being used to perform readdir.
    
    It happens because when afr_replies_interpret() looks at xattr for
    pending attributes, it uses alternative bahvior whether it is working
    on a directory or another object. The decision is based on inode->ia_type,
    which may be IA_INVAL at that time if we come there from:
      afr_replies_interpret.()
      afr_xattrs_are_equal()
      afr_lookup_metadata_heal_chec()
      afr_lookup_entry_heal()
      afr_lookup_cbk()
    
    Using replies[i].poststat.ia_type, which is correctly set, works around
    the problem.
    
    Resubmitted as is after rebase.
    
    This is a backport of Id9ccdd8604f79a69db5f1902697f8913acac50ad
    
    BUG: 1138897
    Change-Id: I73f5e04dec86e648a28363f417559b0cbf80324d
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/10178
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Reviewed-by: Raghavendra Bhat <raghavendra>

Comment 86 Anand Avati 2015-05-19 13:24:04 UTC
COMMIT: http://review.gluster.org/10278 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit f7b8b1c95a11a8100b3bbb2a820dcead1b094655
Author: Emmanuel Dreyfus <manu>
Date:   Fri Apr 17 06:09:15 2015 +0200

    Fix case mistake for MKDIR_P in Makefiles
    
    Some makefiles used $(mkdir_p) instead of the corectly defined $(MKDIR_P).
    The former is substituted as an empty string, leading to possible failures
    depending of the user shell tolerance. NetBSD's /bin/sh seems to choke
    more easily than Linux's /bin/bash, but if the later does not fail, it
    does not created the intended directories anyway.
    
    Backport of I8caed4000f3c91cb3a685453848fb854793945ed
    
    BUG: 1138897
    Change-Id: I48a24231ba90aa3e84bf433b63ae5cb50307f042
    Signed-off-by: Emmanuel Dreyfus <manu>
    Reviewed-on: http://review.gluster.org/10278
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Reviewed-by: Raghavendra Bhat <raghavendra>


Note You need to log in before you can comment on or make changes to this bug.