+++ 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)
REVIEW: http://review.gluster.org/8628 (Search zlib without pkg-config) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)
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)
REVIEW: http://review.gluster.org/8631 (Do not assume sizeof(size_t)) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8630 (Fix glustershd detection on volume restart) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)
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)
REVIEW: http://review.gluster.org/8633 (NetBSD /dev/fuse detection) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8634 (Always check for ENODATA with ENOATTR) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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)
REVIEW: http://review.gluster.org/8636 (POSIX filesystem compliance: PATH_MAX) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
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>
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>
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>
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>
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>
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)
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>
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)
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>
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/
REVIEW: http://review.gluster.org/8828 (Do not hardcode setfattr(1) path) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
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/
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>
REVIEW: http://review.gluster.org/8860 (nvalid seekdir() usage) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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)
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)
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)
REVIEW: http://review.gluster.org/8860 (Fix invalid seekdir() usage) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
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>
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8860 (Fix invalid seekdir() usage) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8860 (Fix invalid seekdir() usage) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8898 (POSIX filesystem compliance: PATH_MAX) posted (#1) for review on master by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8864 (POSIX filesystem compliance: PATH_MAX) posted (#5) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
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>
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)
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>
REVIEW: http://review.gluster.org/8933 (Avoid spurious EINVAL in posix_readdir()) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8980 (glupy: portability fixes) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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)
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)
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>
REVIEW: http://review.gluster.org/8980 (glupy: portability fixes) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)
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)
REVIEW: http://review.gluster.org/9010 (Use F_CLOSEM if available) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8980 (glupy: portability fixes) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/9045 (Portability fix: mount.glusterfs) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/9048 (Avoid spurious EINVAL in index_readdir()) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/8980 (glupy: portability fixes) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/9084 (telldir()/seekdir() portability fixes) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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
REVIEW: http://review.gluster.org/9127 (Build fix: xdrgen) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
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>
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>
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>
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)
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)
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>
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>
REVIEW: http://review.gluster.org/9319 (Avoid spurious directory metedata split brain) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
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>
REVIEW: http://review.gluster.org/9319 (Avoid spurious directory metedata split brain) posted (#2) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/9319 (Avoid spurious directory metedata split brain) posted (#3) for review on release-3.6 by Emmanuel Dreyfus (manu)
REVIEW: http://review.gluster.org/9319 (Avoid spurious directory metedata split brain) posted (#4) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
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)
REVIEW: http://review.gluster.org/9484 (glusterd: Fix spurious volume delete failure) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu)
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>
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
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>
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)
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)
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)
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)
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>
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>