Bug 1129939
Summary: | NetBSD port | |||
---|---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | manu <manu> | |
Component: | porting | Assignee: | bugs <bugs> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | ||
Severity: | low | Docs Contact: | ||
Priority: | unspecified | |||
Version: | mainline | CC: | bugs | |
Target Milestone: | --- | Keywords: | Tracking | |
Target Release: | --- | |||
Hardware: | All | |||
OS: | NetBSD | |||
Whiteboard: | ||||
Fixed In Version: | glusterfs-4.0.0 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1138897 1212676 1513258 1513259 (view as bug list) | Environment: | ||
Last Closed: | 2018-03-15 11:16:50 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | 1130969 | |||
Bug Blocks: |
Description
manu@netbsd.org
2014-08-14 03:50:28 UTC
REVIEW: http://review.gluster.org/8403 (Fix glustershd detection on volume restart) posted (#8) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8483 (Regression test portability: 127.0.0.0/8) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8483 (Regression test portability: 127.0.0.0/8) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8403 (Fix glustershd detection on volume restart) posted (#9) for review on master by Emmanuel Dreyfus (manu) 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) REVIEW: http://review.gluster.org/8494 (Regression test portability: mount) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8494 (Regression test portability: mount) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8403 (Fix glustershd detection on volume restart) posted (#10) for review on master by Krishnan Parthasarathi (kparthas) 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) 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) 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) 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> 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> 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> *** Bug 1132116 has been marked as a duplicate of this bug. *** 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> REVIEW: http://review.gluster.org/8556 (Regression test portability: LVM) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8565 (Regression test portability: stat) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8566 (Regression test portability: rpc-coverage) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8568 (Regression test portability: EXPECT) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8568 (Regression test portability: EXPECT) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8556 (Regression test portability: LVM) posted (#2) for review on master by Emmanuel Dreyfus (manu) 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> 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> REVIEW: http://review.gluster.org/8576 (Regression test portability: EXPECT) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#1) for review on master by Emmanuel Dreyfus (manu) 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> REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8623 (Build fix: -lz for qemu-block xlator) posted (#1) for review on master by Emmanuel Dreyfus (manu) 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> REVIEW: http://review.gluster.org/8628 (Search zlib without pkg-config) posted (#1) 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 (#1) for review on release-3.6 by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8630 (Fix glustershd detection on volume restart) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu) 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/8649 (Do not hardcodeo umount(8) path) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (Do not hardcode umount(8) path) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (Do not hardcode umount(8) path, emulate lazy umount) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (Do not hardcode umount(8) path, Do not umount too early.) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (Do not hardcode umount(8) path, Do not umount too early.) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (Do not hardcode umount(8) path, Do not umount too early.) posted (#6) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (Do not hardcode umount(8) path, Do not umount too early.) posted (#7) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (umount portability: Do not hardcode path, use less lazy unmounts) posted (#8) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8742 (32 bit fix: use off_t and not size_t for truncate()) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8742 (32 bit fix: use off_t and not size_t for truncate()) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8760 (Fix invalid seekdir() usage) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8760 (Fix invalid seekdir() usage) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8760 (Fix invalid seekdir() usage) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (Do not hardcode umount(8) path, emulate lazy umount) posted (#9) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8786 (Do not hardcode setfattr(1) path) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8649 (Do not hardcode umount(8) path, emulate lazy umount) posted (#10) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8790 (Use sane OS-dependent defaults for SSL configuration) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8810 (Regression test portability: rpmbuild) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8790 (Use sane OS-dependent defaults for SSL configuration) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8790 (Use sane OS-dependent defaults for SSL configuration) posted (#3) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8786 committed in master by Vijay Bellur (vbellur) ------ commit 5136c938dddd909ad7a998afa643dc3dcaa6233d Author: Emmanuel Dreyfus <manu> Date: Sat Sep 20 06:57:24 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. BUG: 1129939 Change-Id: I8f469c5741a85b6e8d8f6299a9540b3d64611d2f Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8786 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Jeff Darcy <jdarcy> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8856 (Do not forbig fallocate on non Linux systems) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8742 committed in master by Vijay Bellur (vbellur) ------ commit adace43107e3a77dcb3d24c87e7a631c0f099602 Author: Emmanuel Dreyfus <manu> Date: Tue Sep 16 17:11:39 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 BUG: 1129939 Change-Id: Ia2637be772ba9b11731d59fdbffbd269f0ff56c8 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8742 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8856 (Do not forbid fallocate on non Linux systems) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8856 committed in master by Vijay Bellur (vbellur) ------ commit 8e57090f7da4027c46176c9786372a00e22df69d Author: Emmanuel Dreyfus <manu> Date: Thu Sep 25 15:28:03 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. BUG: 1129939 Change-Id: Idf41a0396028a15e81281791bf6912d7fd674e3f Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8856 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/8790 committed in master by Vijay Bellur (vbellur) ------ commit 3d36edb00c2adad9a957a445aafac3e800964bb1 Author: Emmanuel Dreyfus <manu> Date: Tue Sep 23 07:46:16 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. BUG: 1129939 Change-Id: I0f3168f79b8f4275636581041740dfcaf25f3edd Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8790 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8872 (Sane default for SSL on OSX) posted (#1) for review on master by Harshavardhana (harsha) REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#6) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#7) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8760 (Fix invalid seekdir() usage) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8760 (Fix invalid seekdir() usage) posted (#5) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8872 committed in master by Vijay Bellur (vbellur) ------ commit 37ee11f4d42bff1f46fae7d2755e0d6d8a55e572 Author: Harshavardhana <harsha> Date: Fri Sep 26 10:12:47 2014 -0700 Sane default for SSL on OSX - /opt/local is not preferred anymore use /usr/local Change-Id: I30cad4cbd28850063f26121cace05371e13bb314 BUG: 1129939 Signed-off-by: Harshavardhana <harsha> Reviewed-on: http://review.gluster.org/8872 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/8760 committed in master by Vijay Bellur (vbellur) ------ commit c65d4ea8a10a4004cab145aaea0362e03b209267 Author: Emmanuel Dreyfus <manu> Date: Mon Sep 29 03:06:24 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. BUG: 1129939 Change-Id: I88ca90acfcfee280988124bd6addc1a1893ca7ab Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8760 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8894 (Regression test portability: truncate) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8895 (Regression test portability: useradd/userdell) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8810 committed in master by Harshavardhana (harsha) ------ commit 192d5e6654cf4b3ebcfd6b36c0693955d0c41868 Author: Emmanuel Dreyfus <manu> Date: Mon Sep 22 17:56:57 2014 +0200 Regression test portability: rpmbuild rpmbuild is required, check for its presence. BUG: 1129939 Change-Id: Iae8534bf897a4605620277688a180d6542c1c80b Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8810 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Harshavardhana <harsha> Tested-by: Harshavardhana <harsha> COMMIT: http://review.gluster.org/8565 committed in master by Harshavardhana (harsha) ------ commit f54dd171bca5086f11733a1c4fe578e838b2e6fd Author: Emmanuel Dreyfus <manu> Date: Fri Aug 29 15:23:21 2014 +0200 Regression test portability: stat Improve BSD compatibility for stat. The new version attemps to spawn less stat subprocesses. Also add translation for %X %Y and %Z BUG: 1129939 Change-Id: I2b2134f9e8336a952aee6c7679ba0491abd5a35c Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8565 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Harshavardhana <harsha> Tested-by: Harshavardhana <harsha> COMMIT: http://review.gluster.org/8894 committed in master by Harshavardhana (harsha) ------ commit 0e1419d6fbf008b6384236d6103066afbc92dd77 Author: Emmanuel Dreyfus <manu> Date: Wed Oct 1 06:18:50 2014 +0200 Regression test portability: truncate Use truncate -s 1M instead of truncate --size=1m for portability sake BUG: 1129939 Change-Id: I5bf6ca1f9bb4fa3c91796a659a06bf368776b3e5 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8894 Reviewed-by: Xavier Hernandez <xhernandez> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Harshavardhana <harsha> Tested-by: Harshavardhana <harsha> REVIEW: http://review.gluster.org/8566 (- pull include.rc when running rpc-coverage.sh to get BSD stat(1) campat - fix type in statfs_test and use mode instead of size so that it cannot pass by chance like it did - BSD tail does not support --pid; Avoid that option by making the test simplier. - Use a subshell instead of pushd/popd, which seems more reliable.â - Use flock -x instead of flock -e: same result on Linux, compatible with NetBSD flock - when using file descriptors in the shell, avoit too high numbers otherwise we can easily hit the descriptor limit.) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8566 (Regression test portability: rpc-coverage - pull include.rc when running rpc-coverage.sh to get BSD stat(1) compatibility. - fix type in statfs_test and use mode instead of size so that it cannot pass by chance like it did. - BSD tail does not support --pid; Avoid that option by making the test simplier. - Use a subshell instead of pushd/popd, which seems more reliable. - Use flock -x instead of flock -e: same result on Linux, compatible with NetBSD flock. - when using file descriptors in the shell, avoit too high numbers otherwise we can easily hit the descriptor limit.) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#8) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8596 (POSIX filesystem compliance: PATH_MAX) posted (#9) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8566 (Regression test portability: rpc-coverage) posted (#4) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8596 committed in master by Vijay Bellur (vbellur) ------ commit baa6f0ad759af024e4731a0f3889fe857ae2f1bf Author: Emmanuel Dreyfus <manu> Date: Thu Oct 2 02:14:07 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). BUG: 1129939 Change-Id: I7db3567948bc8fa8d99ca5f5ba6647fe425186a9 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8596 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/8649 committed in master by Vijay Bellur (vbellur) ------ commit 473c34f895c49bf2bd327ece586d3613cd86c068 Author: Emmanuel Dreyfus <manu> Date: Sun Sep 21 13:57:47 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. BUG: 1129939 Change-Id: Ia91167c0652f8ddab85136324b08f87c5ac1e51d Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8649 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Csaba Henk <csaba> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8907 (build: include contrib/umountd in the 'make dist' tarball) posted (#1) for review on master by Niels de Vos (ndevos) COMMIT: http://review.gluster.org/8907 committed in master by Harshavardhana (harsha) ------ commit 3e7508eafb1955a071da9108dce5ce1cf435f4f3 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. 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> COMMIT: http://review.gluster.org/8566 committed in master by Harshavardhana (harsha) ------ commit 1642ee54cf78bb2d117f7ffb2a180acf12c54ab6 Author: Emmanuel Dreyfus <manu> Date: Thu Oct 2 05:18:20 2014 +0200 Regression test portability: rpc-coverage - pull include.rc when running rpc-coverage.sh to get BSD stat(1) compatibility. - fix type in statfs_test and use mode instead of size so that it cannot pass by chance like it did. - BSD tail does not support --pid; Avoid that option by making the test simplier. - Use a subshell instead of pushd/popd, which seems more reliable. - Use flock -x instead of flock -e: same result on Linux, compatible with NetBSD flock. - when using file descriptors in the shell, avoit too high numbers otherwise we can easily hit the descriptor limit. BUG: 1129939 Change-Id: I51bad02a0ef47f20e4a2c49098c1c6701b7e6b09 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8566 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Harshavardhana <harsha> Tested-by: Harshavardhana <harsha> REVIEW: http://review.gluster.org/8914 (Regression test portability: loopback devices) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8914 (Regression test portability: loopback devices) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8914 (Regression test portability: loopback devices) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8914 (Regression test portability: loopback devices) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8914 (Regression test portability: loopback devices) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8926 (Avoid spurious EINVAL in posix_readdir()) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8926 (Avoid spurious EINVAL in posix_readdir()) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8926 (Avoid spurious EINVAL in posix_readdir()) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8926 (Avoid spurious EINVAL in posix_readdir()) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8930 (Regression test portability: quota.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8933 (Avoid spurious EINVAL in posix_readdir()) posted (#1) for review on release-3.6 by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8936 (heal: Do not use anon fd when crawling filesystem) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8936 (heal: Do not use anon fd when crawling filesystem) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8949 (Regression test portability: mock) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8930 committed in master by Vijay Bellur (vbellur) ------ commit 49d6a7b17f7cffbb9a33b61c9751b37353b8bd08 Author: Emmanuel Dreyfus <manu> Date: Tue Oct 14 18:23:44 2014 +0200 Regression test portability: quota.t - Use du -k to have size reported in kB, as NetBSD defaults to blocks - on overquota, Linux says 'No space left' and NetBSD 'Disc quota exceeded' BUG: 1129939 Change-Id: I6a2baef94cb60e9fabf06a6f8d01f2acb6ee0a30 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8930 Reviewed-by: Jeff Darcy <jdarcy> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8936 (heal: Do not use anon fd when crawling filesystem) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8936 (heal: Do not use anon fd when crawling filesystem) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8968 (Regression test portability: self-heald.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8968 (Regression test portability: self-heald.t) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8969 (Regression test portability: quota-anon-fd-nfs.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8969 (Regression test portability: quota-anon-fd-nfs.t) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8969 (Regression test portability: quota-anon-fd-nfs.t) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8969 (Regression test portability: quota-anon-fd-nfs.t) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8936 (heal: Do not use anon fd when crawling filesystem) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8936 (heal: Do not use anon fd when crawling filesystem) posted (#6) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8969 (Regression test portability: quota-anon-fd-nfs.t) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8969 (Regression test portability: quota-anon-fd-nfs.t) posted (#6) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8978 (glupy: portability fixes) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8981 (Regression test portability: TAP) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8969 (Regression test portability: quota-anon-fd-nfs.t) posted (#7) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8991 (Regression test portability: crypt.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8969 committed in master by Vijay Bellur (vbellur) ------ commit 27628b7b0950a673cfb5584c76d25c183f5be02f Author: Emmanuel Dreyfus <manu> Date: Fri Oct 24 17:10:15 2014 +0200 Regression test portability: quota-anon-fd-nfs.t Fix portability problems in quota-anon-fd-nfs.t - Use mount_nfs wrapper and include nfs.rc to get it defined. - umount NFS before cleanup to avvoid deadlocks. - umount -l is Linux-specific, use umount -f on BSD. - wait for 1s for portmap registration before mouting NFS. - mount from $H0 instead of localhost: the later fails on NetBSD. - Test quota without filling GB of data, 20MB is enough and it will be gentle with smaller setups. - wait for write behind to complete before testing quota overflow BUG: 1129939 Change-Id: I097d5faed2fa7b6438aaa56def85172f23bbe7dc Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8969 Reviewed-by: Shyamsundar Ranganathan <srangana> Reviewed-by: Niels de Vos <ndevos> Tested-by: Kiran Patil <kiran> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8981 (Regression test portability: TAP) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8991 (Lazy umount emulation: deal with stopped volumes) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8981 (Regression test portability: TAP) posted (#3) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8926 committed in master by Vijay Bellur (vbellur) ------ commit 22e18a4c0c07a41fcdcde1ce0e90961b347d7a84 Author: Emmanuel Dreyfus <manu> Date: Tue Oct 14 12:11:24 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. BUG: 1129939 Change-Id: I4e67a2ea46538aae63eea663dd4aa33b16ad24c7 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8926 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Raghavendra Bhat <raghavendra> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8978 (glupy: portability fixes) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8968 committed in master by Vijay Bellur (vbellur) ------ commit 51be7065dba8e62bff177bec4bc093e864492d29 Author: Emmanuel Dreyfus <manu> Date: Wed Oct 22 21:08:03 2014 +0200 Regression test portability: self-heald.t Fix portability problems in updated self-heald.t: - Use the k suffit in dd(1) bs argument instead of less portable M and K - Error message for disconnected bricks in NetBSD is "Socket is not connected" - On touch d/a while bricks are down, NetBSD updates d ctime/mtime even on bricks where a is not present, resulting in a different to-be-healed count than on Linux. We now tes both values. If NetBSD behavior is a bug, it is not in the heal process and should be tested somewhere else. This also requires fixes in heal process: http://review.gluster.org/8936 BUG: 1129939 Change-Id: Ibda1902a8fd64aa7cc5202744adca825e6b251c9 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8968 Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Pranith Kumar Karampuri <pkarampu> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/8978 (glupy: portability fixes) posted (#3) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8895 committed in master by Vijay Bellur (vbellur) ------ commit 92c4650ac809ee227c6591397a64269850f3217e Author: Emmanuel Dreyfus <manu> Date: Wed Oct 1 06:50:02 2014 +0200 Regression test portability: useradd/userdell Adjust useradd/userdel flags for NetBSD. Similar work will have to be done for other non Linux systems BUG: 1129939 Change-Id: I2a30819a4915d04473f0ef0c0c063de6015212a1 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8895 Reviewed-by: Xavier Hernandez <xhernandez> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> COMMIT: http://review.gluster.org/8914 committed in master by Vijay Bellur (vbellur) ------ commit d2da726fe76e61f4c499421d8d2bd588ca41b770 Author: Emmanuel Dreyfus <manu> Date: Thu Oct 9 09:08:57 2014 +0200 Regression test portability: loopback devices Introduce functions to deal with loopback devices setup, mount and umount. Remove test for xfsprogs for non Linux systems, as loopback devices can be populated with other filesystems (e.g.: FFS for NetBSD) While there, remove mount.nfs test for non Linux systems. At least NetBSD has it in base system as mount_nfs. BUG: 1129939 Change-Id: I816b36e1d3e6933f92acf19d9be8eeaaa333356e Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8914 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/8991 committed in master by Vijay Bellur (vbellur) ------ commit 886eb63fc729d3effea292ef92e02168898d8205 Author: Emmanuel Dreyfus <manu> Date: Tue Oct 28 18:27:20 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 BUG: 1129939 Change-Id: I3451362453607a0fd82b095a9e5aa6f63bfe869a Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8991 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/8981 committed in master by Vijay Bellur (vbellur) ------ commit fb2e0a4afbe3263ebda3e1d2b72d921b2d7e2c50 Author: Emmanuel Dreyfus <manu> Date: Wed Oct 29 01:17:25 2014 +0100 Regression test portability: TAP Even with successful tests on NetBSD, we had a failure message at the end: "No plan found in TAP output" This was caused by a white space left padded numerical variable. Stripping the white spaces fixes the problem. While there add SKIP_TEST for NetBSD on unspported tests so that it does not triger a failure. BUG: 1129939 Change-Id: I8d0bc125c4208974657977568d838ee2dd19783c Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8981 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9009 (Regression test portability: batch of bugs (volume 1)) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8978 (glupy: portability fixes) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9009 (Regression test portability: batch of bugs (volume 1)) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9009 (Regression test portability: batch of bugs (volume 1)) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9009 (Regression test portability: batch of bugs (volume 1)) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/8949 (Regression test portability: mock) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9024 (gluster --xml: survive missing fields) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8949 committed in master by Niels de Vos (ndevos) ------ commit 756949556b3ceb2279f09962ab5789960de86bd3 Author: Emmanuel Dreyfus <manu> Date: Fri Oct 31 09:26:28 2014 +0100 Regression test portability: mock After some attempts at using mock on NetBSD which pulled a lot of dependencies, it seems that software really assumes the OS is Linux: chrooted build will fail because of missing Linux files. As a result, make tests/basic/rpm.t Linux-only, and remove mock and rpmbuild checks for non Linux systems. BUG: 1129939 Change-Id: Ica2eb74dd23fbec379a26051a8f61b0dfc07a115 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8949 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Niels de Vos <ndevos> COMMIT: http://review.gluster.org/9024 committed in master by Kaushal M (kaushal) ------ commit 5beb3a886c3bb12dfb0a9515e366de49859c2be1 Author: Emmanuel Dreyfus <manu> Date: Fri Oct 31 09:33:05 2014 +0100 gluster --xml: survive missing fields Do not fail gluster --xml volume status detail with an empty output if some field is missing. Required for NetBSD to pass tests/bugs/bug-861542.t BUG: 1129939 Change-Id: I7e2097dee5e18a5f3bb8fe6f14be53b33f4aa6b1 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9024 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaushal M <kaushal> REVIEW: http://review.gluster.org/9038 (Debug build for http://review.gluster.org/8762/) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9038 (Debug build for http://review.gluster.org/8762/) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9038 (Debug build for http://review.gluster.org/8762/) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9038 (Debug build for http://review.gluster.org/8762/) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9038 (Debug build for http://review.gluster.org/8762/) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9038 (Debug build for http://review.gluster.org/8762/) posted (#6) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9038 (Debug build for http://review.gluster.org/8762/) posted (#7) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9044 (Portability fix: mount.glusterfs) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9047 (Avoid spurious EINVAL in index_readdir()) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/8978 committed in master by Vijay Bellur (vbellur) ------ commit 1a735e300a0ecd35d41f68f3c776350bb18f763a Author: Emmanuel Dreyfus <manu> Date: Wed Oct 29 20:35:10 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. BUG: 1129939 Change-Id: Icc71e77d6940f0759cc14c5c5cf7ca6fa431e0d2 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/8978 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Jeff Darcy <jdarcy> REVIEW: http://review.gluster.org/9009 (Regression test portability: batch of bugs (volume 1)) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9071 (telldir()/seekdir() portability fixes) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9074 (glfsheal spurious report for busy files) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9074 (glfsheal spurious report for busy files) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9075 (Regression test portability: basic/afr/resolve.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9076 (Regression test portability: wc) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9009 committed in master by Vijay Bellur (vbellur) ------ commit 5f0f2282d6e00a1de209a04c8270ee6cd8150d8b Author: Emmanuel Dreyfus <manu> Date: Thu Nov 6 14:32:57 2014 +0100 Regression test portability: batch of bugs (volume 1) Fix various regression test portability in tests/bugs. bug-1004744.t: - Slower systems really requires an increased REBALANCE_TIMEOUT in include.rc bug-1023974.t: - use the -p option to mkdir before the path for portability sake. bug-1051896.t and bug-847622.t: - skip ACL test for NetBSD as it has no POSIX 1e ACL support. bugs-1053579.t: - Override the amount of secondary groups depending of the maximum the system supports. - Specify seq(1) format to avoid having trailing .00 - Use more portable su -m USER -c COMMAND (also in bug-884597.t) - NetBSD does not fail high GID with NFS bug-1058663.c: - Depending on architecture, NetBSD can have SIGSEGV instead of SIGBUS bug-762989.t and bug-867253.t: - For non Linux systems, skip tests on features that are Linux-specific bug-765473.t; - Fix a {1} that bash is supposed to expand in 1 but does not, replace by 1. - Sync volume to make sure it imediatly knows a fd got bad BUG: 1129939 Change-Id: I5405f94ccb8f20d35b3095096b0602c43719a1ae Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9009 Reviewed-by: Xavier Hernandez <xhernandez> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9071 (telldir()/seekdir() portability fixes) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9071 (Debug build for bug-948729.t and bug-948729-mode-script.t) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9071 (telldir()/seekdir() portability fixes) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9081 (Spurious failures fix for bug-948729.t and bug-948729-mode-script.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9081 (Spurious failures fix for bug-948729.t and bug-948729-mode-script.t) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9081 committed in master by Pranith Kumar Karampuri (pkarampu) ------ commit 7c3609efb458ec270b53b852b2bb877900d9e68d Author: Emmanuel Dreyfus <manu> Date: Mon Nov 10 09:34:39 2014 +0100 Spurious failures fix for bug-948729.t and bug-948729-mode-script.t Change I816b36e1d3e6933f92acf19d9be8eeaaa333356e causes sprurious failures in bug-948729.t and bug-948729-mode-script.t This seems to be caused by leftover information in /d/backends/ probably in a dot-prefixed directory. Attempt to fix this by removing /d/backends and other work directories on cleanup. While there we test and report failure to remove anything. BUG: 1129939 Change-Id: I0373c7f3c507db8ab509e8fd3aca2a386bea807e Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9081 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu> Tested-by: Pranith Kumar Karampuri <pkarampu> REVIEW: http://review.gluster.org/9097 (Regression test portability: batch of bugs (volume 2)) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9097 (Regression test portability: batch of bugs (volume 2)) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9044 committed in master by Vijay Bellur (vbellur) ------ commit a537342633707544c645cba0c3d46f2180c3b570 Author: Emmanuel Dreyfus <manu> Date: Tue Nov 4 15:56:36 2014 +0100 Portability fix: mount.glusterfs Remove bash-specific syntax from mount.glusterfs BUG: 1129939 Change-Id: Iec3a52686f7cee1825ac5a06c11fb8ac4d3e5d65 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9044 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/9076 committed in master by Vijay Bellur (vbellur) ------ commit aa0ba671f3e64858b9c93571383f2a0452eddf26 Author: Emmanuel Dreyfus <manu> Date: Sat Nov 8 06:59:47 2014 +0100 Regression test portability: wc NetBSD wc displays number with leading spaces, which cause arithmeric operations on values from wc -l to fail. Fix the problem by defining a wrappers that removes spaces. BUG: 1129939 Change-Id: I6fa147cf07772f58d9e19e0efd1dae5dad3a4219 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9076 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9133 (Regression tests portability: basic/ec/self-heal.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9137 (glupy: build fix if python and glusterfs prefix differ) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9139 (DHT: fix NULL pointer usage) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9133 (Regression tests portability: basic/ec/self-heal.t) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9140 (Test rackspace-netbsd7-regression-triggered) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9137 (glupy: build fix if python and glusterfs prefix differ) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9133 committed in master by Vijay Bellur (vbellur) ------ commit 4fbc86993a0b0e67bcf58b4882d9d86a8b8ba65a Author: Emmanuel Dreyfus <manu> Date: Mon Nov 17 15:52:28 2014 +0100 Regression tests portability: basic/ec/self-heal.t When checking for bricks availability, use ls -l produces a more reliable result than just ls. BUG: 1129939 Change-Id: Ided548a8f4154714d2c33ec538d0623d7c328952 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9133 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Xavier Hernandez <xhernandez> REVIEW: http://review.gluster.org/8997 (Regression test portability: quota-anon-fd-nfs.t) posted (#2) for review on release-3.6 by Atin Mukherjee (amukherj) REVIEW: http://review.gluster.org/9097 (Regression test portability: batch of bugs (volume 2)) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9151 (Regression tests portability: Do not 'cd' into volume) posted (#1) for review on master by Xavier Hernandez (xhernandez) REVIEW: http://review.gluster.org/9097 (Regression test portability: batch of bugs (volume 2)) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9151 (Regression tests portability: Do not 'cd' into volume) posted (#2) for review on master by Xavier Hernandez (xhernandez) COMMIT: http://review.gluster.org/9151 committed in master by Vijay Bellur (vbellur) ------ commit 69d4b53380e3fe10edd94cba22a36f5a5f303348 Author: Xavier Hernandez <xhernandez> Date: Thu Nov 20 11:58:16 2014 +0100 Regression tests portability: Do not 'cd' into volume Changing current directory to the root of the volume to execute tests from there keeps an open file descriptor to it that could interfere with some tests. I've removed all 'cd' and used abosulte paths on all tests. Change-Id: Ic54afb7d7974e9e80818201bcd99ee2b01d00442 BUG: 1129939 Signed-off-by: Xavier Hernandez <xhernandez> Reviewed-on: http://review.gluster.org/9151 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Emmanuel Dreyfus <manu> Tested-by: Emmanuel Dreyfus <manu> REVIEW: http://review.gluster.org/9137 (glupy: build fix if python and glusterfs prefix differ) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9197 (Fix pthread_mutex misusage) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9097 (Regression test portability: batch of bugs (volume 2)) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9197 (Fix pthread_mutex misusage) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9075 (Regression test portability: basic/afr/resolve.t) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9097 committed in master by Vijay Bellur (vbellur) ------ commit 51eaed7fb243a989fdf96461ba2d9acfc07977f8 Author: Emmanuel Dreyfus <manu> Date: Wed Nov 26 09:59:25 2014 +0100 Regression test portability: batch of bugs (volume 2) Fix various regression test portability in tests/bugs. bug-861542.t - Avoid syntax specific to GNU sed. bug-860663.t - Command argument length is system dependent, and specifying 1000 file path may overflow it. Use a C program to do the job in a portable and efficient way. - Add a test that we created the specified amount of files. bug-858242.c, bug-808400-fcntl.c, bug-808400-flock.c - fstat64() is Linux-specific. Define it as fstat for other systems. bug-823081.t - Use portable tail -n instead of tail --lines In many tests: - Do not assume python interpreter name. Use $PYTHON as defined in env.rc by configure. utils/libcxattr.py - If python version is 2.6 or higher, use a portable mechanism to recover errno. The original version is retained for python version 2.5 and earlier but it only works on Linux. BUG: 1129939 Change-Id: If2fea1ffec5cc6ab2de426fb200e884450afe61b Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9097 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9197 (Fix pthread_mutex misusage) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9204 (posix: Fix buffer overrun in _handle_list_xattr()) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9074 (glfsheal: correctly report files possibly undergoing heal) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9212 (glusterd: use synclock_t for synchronizing concurrent '\op_sm\' invocations) posted (#1) for review on master by Krishnan Parthasarathi (kparthas) COMMIT: http://review.gluster.org/9137 committed in master by Vijay Bellur (vbellur) ------ commit c233d3e0414670546c6ff8edc65b761f86353ffc Author: Emmanuel Dreyfus <manu> Date: Tue Nov 25 10:41:53 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 BUG: 1129939 Change-Id: I2fef1b795235d1543a0e5ac619c6c2d59127fb66 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9137 Reviewed-by: Niels de Vos <ndevos> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> COMMIT: http://review.gluster.org/9204 committed in master by Vijay Bellur (vbellur) ------ commit dcbab25710aa60a22708a0de8c41735bfca06d07 Author: Emmanuel Dreyfus <manu> Date: Thu Nov 27 09:13:36 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 BUG: 1129939 Change-Id: Ifc5884dd0f39a50bf88aa51fefca8e2fa22ea913 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9204 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9216 (self-heald: Fix spurious crash) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9217 (Regression test portability: stat(1)) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9219 (qemu-block: fix NULL pointer reference) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9219 (qemu-block: fix NULL pointer reference) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9220 (Regression test portability: basic/file-snapshot.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9212 (glusterd: use synclock_t for synchronizing concurrent '\op_sm\' invocations) posted (#2) for review on master by Krishnan Parthasarathi (kparthas) REVIEW: http://review.gluster.org/9222 (ec: Temporary fix for quota.t) posted (#1) for review on master by Xavier Hernandez (xhernandez) REVIEW: http://review.gluster.org/9212 (glusterd: use synclock_t for synchronizing concurrent '\op_sm\' invocations) posted (#3) for review on master by Krishnan Parthasarathi (kparthas) COMMIT: http://review.gluster.org/9212 committed in master by Kaushal M (kaushal) ------ commit f5ef4d808724afe4ddd477b0c0e8b3eb985319db Author: Krishnan Parthasarathi <kparthas> Date: Fri Nov 28 17:24:13 2014 +0530 glusterd: use synclock_t for synchronizing concurrent '\op_sm\' invocations In glusterd_op_sm(), we lock and unlock the gd_op_sm_lock mutex. Unfortunately, locking and unlocking can happen in different threads (task swap will occur in handler call with use of synctasks). This case is explictely covered by POSIX: the behavior is undefined. http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_mutex_lock.html When unlocking from a thread that is not owner, Linux seems to be fine (though you never know with unspecified operation), while NetBSD returns EPERM, causing a spurious error in tests/basic/pump. To fix this, we use synclock_t which was precisely meant for this. synclock is a pthread_mutex_t like synchronization object which uses the synctask handle for owner and is immune to the task being run on multiple threads during its lifetime. Change-Id: Idca15190d42f32a843088cc8236138f676377586 BUG: 1129939 Signed-off-by: Krishnan Parthasarathi <kparthas> Reviewed-on: http://review.gluster.org/9212 Reviewed-by: Kaushal M <kaushal> Tested-by: Kaushal M <kaushal> COMMIT: http://review.gluster.org/9220 committed in master by Vijay Bellur (vbellur) ------ commit 2ca5b712f93dde62aadbf34f954ad53089490ded Author: Emmanuel Dreyfus <manu> Date: Sun Nov 30 18:26:17 2014 +0100 Regression test portability: basic/file-snapshot.t - For some odd reason, setfattr(1) could fail on big-file just after it was created by touch(1). Add a test in between to wait for the file to be visible by ls(1). - After switching to a snapshot, the file content is still in kernel cache, and the old content may be readen for a few seconds after the snapshot switch. Use ( cd $M0 && umount $M0 ) to flush vnodes and therefore invalidate the cache. - Unmount the mount point at the end of the test for the cleanliness sake. BUG: 1129939 Change-Id: I5a0d14db13e79323147761dfe50c41ae6a1cb844 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9220 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/9217 committed in master by Vijay Bellur (vbellur) ------ commit cd9ed7bd85bb3e876ef825a0c312a91c2206cc39 Author: Emmanuel Dreyfus <manu> Date: Sat Nov 29 06:20:58 2014 +0100 Regression test portability: stat(1) - Improve Linux stat(1) emulation for BSD: %t and %T should be 0 for non device nodes. - Remove what seems like a typo in entry-self-heal.t, which blocks in Linux stat(1) emulation for BSD. BUG: 1129939 Change-Id: I7635aa105e6d309cdb74608bdaba4135c7c00dd4 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9217 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9232 (Regression test portability: stat) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9232 committed in master by Vijay Bellur (vbellur) ------ commit ae744a27602488239ef681510412d0c64607a87f Author: Emmanuel Dreyfus <manu> Date: Thu Dec 4 06:53:25 2014 +0100 Regression test portability: stat Improve Linux stat emulation for BSD so that it can handle multiple files at once. This is required now tests/basic/afr/data-self-heal.t uses that syntax. BUG: 1129939 Change-Id: I2720d0e8a0d4dedbb8d51fcde3586b4e7d8bb492 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9232 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/9075 committed in master by Pranith Kumar Karampuri (pkarampu) ------ commit 1eb11c7ca1eb153c579a127b0fe6c2d4b1bbc7c8 Author: Emmanuel Dreyfus <manu> Date: Wed Nov 26 11:40:15 2014 +0100 Regression test portability: basic/afr/resolve.t Final test in basic/afr/resolve.t checks for a failure after breaking the backend. But since the tested file was accessed just before that operations, it may still be in kernel page cache. As a result, file read is handled by kernel cache and never sent to the filesystem, and the test is successful where it should have failed. Fix this by waiting 10s before reading the supposed-to-be-broken file. BUG: 1129939 Change-Id: I97efc00bc8a5f954b1df786cdede468af8bf6485 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9075 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu> Tested-by: Pranith Kumar Karampuri <pkarampu> REVIEW: http://review.gluster.org/9236 (tests: Prevent kernel caching in fuse) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu) COMMIT: http://review.gluster.org/9222 committed in master by Vijay Bellur (vbellur) ------ commit 9a3d848e78425363246345a4cfb6783298e9f1b5 Author: Xavier Hernandez <xhernandez> Date: Mon Dec 1 11:00:44 2014 +0100 ec: Temporary fix for quota.t This fix solves a problem with tests/basic/ec/quota.t that generates a segmentation fault in DHT. This is a temporary fix until bug #1167793 is solved. Change-Id: I8587e66a63375ba2b312e8c0bfa1dd0d94d4c19f BUG: 1129939 Signed-off-by: Xavier Hernandez <xhernandez> Reviewed-on: http://review.gluster.org/9222 Reviewed-by: Raghavendra G <rgowdapp> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9254 (cluster/afr: Associate the inode returned by inode_link() with corresponding entry) posted (#1) for review on master by Krutika Dhananjay (kdhananj) REVIEW: http://review.gluster.org/9254 (cluster/afr: Associate the inode returned by inode_link() with corresponding entry) posted (#2) for review on master by Krutika Dhananjay (kdhananj) COMMIT: http://review.gluster.org/9254 committed in master by Vijay Bellur (vbellur) ------ commit ad1ed8006047e862810f43d818dc44534e953d91 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 Change-Id: Ic4436a64075a2615a2293cdfdf2ba6622827cafa BUG: 1129939 Signed-off-by: Krutika Dhananjay <kdhananj> Reviewed-on: http://review.gluster.org/9254 Reviewed-by: Emmanuel Dreyfus <manu> Tested-by: Emmanuel Dreyfus <manu> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu> REVIEW: http://review.gluster.org/9267 (tests: Remove possible metadata split-brain in entry-self-heal.t) posted (#1) for review on master by Krutika Dhananjay (kdhananj) REVIEW: http://review.gluster.org/9285 (Regression test portability: ec.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9071 (telldir()/seekdir() portability fixes) posted (#5) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9071 committed in master by Raghavendra Bhat (raghavendra) ------ commit e398f99d9ac7ca5c83004b814a4e8561916187f0 Author: Emmanuel Dreyfus <manu> Date: Wed Dec 17 10:41:05 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.com/8926 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 glfs-heal.c and afr-self-heald.c so that they do 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. - Add checks in regression tests that we do not hit cases where offsets fed to seekdir() are wrong. Introduce log_newer() shell function to check for messages produced by the current script. This fix gather changes from http://review.gluster.org/9047 and http://review.gluster.org/8936 making them obsolete. BUG: 1129939 Change-Id: I59fb7f06a872c4f98987105792d648141c258c6a Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9071 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Raghavendra Bhat <raghavendra> Tested-by: Raghavendra Bhat <raghavendra> COMMIT: http://review.gluster.org/9285 committed in master by Vijay Bellur (vbellur) ------ commit 3abee447da0adcaba4d02f212deb0d45b5b7e2e7 Author: Emmanuel Dreyfus <manu> Date: Tue Dec 16 17:06:20 2014 +0100 Regression test portability: ec.t This test unmount/remount the filesystem to invalidate cache, but this leads to timing problems on NetBSD. We can work them around without sleeping by remounting on another mount point. BUG: 1129939 Change-Id: I10b3183e5e715053de162a6980af188710b607bb Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9285 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Xavier Hernandez <xhernandez> REVIEW: http://review.gluster.org/9291 (Avoid spurious directory metedata split brain on non Linux systems) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9291 (Avoid spurious directory metedata split brain) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9291 (Avoid spurious directory metedata split brain) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9291 (Avoid spurious directory metedata split brain) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9291 (Avoid spurious directory metedata split brain) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9291 (Avoid spurious directory metedata split brain) posted (#6) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9291 committed in master by Pranith Kumar Karampuri (pkarampu) ------ commit 9a6ea92df1007cc6f402ff7cc560e3206fa42e62 Author: Emmanuel Dreyfus <manu> Date: Tue Dec 23 06:54:50 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. BUG: 1129939 Change-Id: Ic0177e0df753a4748624d0b906834ed54593adb9 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9291 Reviewed-by: Ravishankar N <ravishankar> Reviewed-by: Krutika Dhananjay <kdhananj> Reviewed-by: Pranith Kumar Karampuri <pkarampu> Tested-by: Pranith Kumar Karampuri <pkarampu> REVIEW: http://review.gluster.org/9334 (Do not use umount -l on non Linux systems) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9334 (Do not use umount -l on non Linux systems) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9336 (Regression test reliability: slow quota write) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9336 committed in master by Vijay Bellur (vbellur) ------ commit 339d059f088e91c2939499cb1b5a5235590a29ee Author: Emmanuel Dreyfus <manu> Date: Wed Dec 24 17:09:20 2014 +0100 Regression test reliability: slow quota write quota.t can have the same timing problem that we already solved in quota-anon-fd-nfs.t by slowing down the writes in a C program. Here we apply the same fix to quota.t to avoid spurious failures in NetBSD regression. BUG: 1129939 Change-Id: Ib307393d1249512f44ca61849b1b8d35cdd2fcc6 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9336 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Atin Mukherjee <amukherj> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/9334 committed in master by Vijay Bellur (vbellur) ------ commit 4c3a6bc4573013df1912996e77ded48fddc01516 Author: Emmanuel Dreyfus <manu> Date: Wed Dec 24 14:17:21 2014 +0100 Do not use umount -l on non Linux systems Lazy unmount are only supported on Linux. Force umount instead, since this code path is used in emergency exit anyway. On NetBSD, just have the filesystem calling exit, the kernel will unmount. BUG: 1129939 Change-Id: If623ebf60b7a747ea7e78034b6d71ec2241dea4a Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9334 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9379 (Regression test portability: quota-anon-fd-nfs.t (round 2)) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9379 (Regression test portability: quota-anon-fd-nfs.t (round 2)) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9410 (Spare spurious regression in quota.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9414 (Fix bad shell calculation in tests/basiv/afr/self-heald.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9414 committed in master by Vijay Bellur (vbellur) ------ commit 9408dc7b416ca80b3b8d8ecae2ef75c7e9cd21cd Author: Emmanuel Dreyfus <manu> Date: Thu Jan 8 06:22:17 2015 +0100 Fix bad shell calculation in tests/basiv/afr/self-heald.t A shell variable calculation in tests/basiv/afr/self-heald.t resulted in spurious regression failure at test 67. This is wrong and always produce an error: $((`date +"%j"`))%2 This still fails because date +"%j" produces 008, which is considered an octal value: $((`date +"%j"` %2 )) This works: $((`date +"%j"|sed 's/^0*//'` % 2 )) BUG: 1129939 Change-Id: I5d0d27b7bb64ef7d56bafebe71aafe01eb2f39a7 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9414 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9410 (Spare spurious regression in quota.t) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9410 committed in master by Vijay Bellur (vbellur) ------ commit 12022fc87ee6b12c07bff0381701e2977e722382 Author: Emmanuel Dreyfus <manu> Date: Sat Jan 10 05:49:42 2015 +0100 Spare spurious regression in quota.t Like quota-nfs.t, quota.t shows spurious regressions because dd writes too fast. Reuse the C program used by quota-nfs.t to write slowly, and rename it to show it is not specific to quota-nfs.t BUG: 1129939 Change-Id: I14b50e368023e88dc8bcc76c266cc908d62f89e2 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9410 Reviewed-by: Vijay Bellur <vbellur> Tested-by: Gluster Build System <jenkins.com> REVIEW: http://review.gluster.org/9442 (Test atime behavior) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9447 (NetBSD portability fix: recover errno on runner error) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9447 committed in master by Vijay Bellur (vbellur) ------ commit 2466f4debbb629cf847c42f5d317cd5627b095c1 Author: Emmanuel Dreyfus <manu> Date: Wed Jan 14 17:55:53 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: 1129939 Change-Id: I40d3255555145e04e8feafaa2ff4e5fb1570e9a2 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9447 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Niels de Vos <ndevos> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9074 (self-heald.t ongoing IO test portability fix) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9461 (self-heald.t spurious healing reports) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9468 (glusterd: Fix spurious volume delete failure) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9468 committed in master by Krishnan Parthasarathi (kparthas) ------ commit 27f2b8839e4d3ebe9ccbde071864b3e8016a3c4d Author: Emmanuel Dreyfus <manu> Date: Wed Jan 21 06:24:47 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 BUG: 1129939 Change-Id: I69325f71fc2c8af254db46f696c8669a4e6bd7e4 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9468 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Krishnan Parthasarathi <kparthas> Tested-by: Krishnan Parthasarathi <kparthas> REVIEW: http://review.gluster.org/9483 (tests/features/ssl-authz.t: Fix spurious failures) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9486 (Build fix: xdrgen) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9483 committed in master by Vijay Bellur (vbellur) ------ commit e131fccf926bc2f19fb8c9f2980f60d5fec67994 Author: Emmanuel Dreyfus <manu> Date: Fri Jan 23 11:24:07 2015 +0100 tests/features/ssl-authz.t: Fix spurious failures Fix two spurious failures in tests/features/ssl-authz.t 1) Wait for bricks to come online after starting a volume, so that the mount is usable without "socket not connected" error 2) For a mount that must fail, we may get the situation where there is no mount at all, which means creating a file will write to the mount point instead of failing. To cover that case, write the file and check it is absent from the brick. BUG: 1129939 Change-Id: If95e1d65ab23d11123f778c20f8110a3177b0e7f Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9483 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Jeff Darcy <jdarcy> REVIEW: http://review.gluster.org/9505 (Regression fixes: working directory) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9519 (Emulate Linux truncate for G and GB units) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9519 committed in master by Vijay Bellur (vbellur) ------ commit e9276230e13e2c67b9944c604e8d4485ee3e3a63 Author: Emmanuel Dreyfus <manu> Date: Sun Feb 1 03:48:05 2015 +0100 Emulate Linux truncate for G and GB units Recent modification in sparse-file-self-heal.t added a truncate -s 1G, and that unit was not emulated correctly for non Linux systems. As a result, all regression tests hang. Fill the gap to restore regression. BUG: 1129939 Change-Id: Ib45376b4b2e74d1868f3ebdd5564b2186b4318fa Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9519 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9654 (Portability fix: rpc.statd location) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9654 (Portability fix: rpc.statd location) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9686 (tests/features/ssl-authz.t: Fix spurious failures) posted (#1) for review on release-3.6 by Jeff Darcy (jdarcy) COMMIT: http://review.gluster.org/9654 committed in master by Niels de Vos (ndevos) ------ commit 729428aae82e8b878227bb71e65b629783e17ffb Author: Emmanuel Dreyfus <manu> Date: Sun Feb 15 17:56:51 2015 +0100 Portability fix: rpc.statd location rpc.statd is in /usr/sbin on NetBSD BUG: 1129939 Change-Id: I6d09e2525cc8242ef3d25d3d5421d57aac711ea4 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9654 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Niels de Vos <ndevos> REVIEW: http://review.gluster.org/9763 (Tests: give sane default for NetBSD NFS mount retry count) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9763 (Tests: give sane default for NetBSD NFS mount retry count) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9763 committed in master by Niels de Vos (ndevos) ------ commit 6a77db6d19dba5367c02cbf2a5883ac49cef94e2 Author: Emmanuel Dreyfus <manu> Date: Fri Feb 27 03:50:40 2015 +0100 Tests: give sane default for NetBSD NFS mount retry count Default NetBSD NFS retry count is 10000, which means tests will loop for a long time if the server is not available. We fix this by setting a default retry count to 2 (1 seems to low and breaks regression). If mount_nfs is called with a retry option, it will overrride this default. BUG: 1129939 Change-Id: I1ae16f8caa74d6e9af1aa7a55fd111178af0ad78 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9763 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Niels de Vos <ndevos> REVIEW: http://review.gluster.org/9770 (Tests: At cleanup time, kill rpc.statd on NetBSD) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9771 (NetBSD Portability fix: use pkill instead of killall) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9770 committed in master by Niels de Vos (ndevos) ------ commit a0f30e637e6ee32b113fd21268be17e0618d39df Author: Emmanuel Dreyfus <manu> Date: Fri Feb 27 13:25:37 2015 +0100 Tests: At cleanup time, kill rpc.statd on NetBSD The NFS server cannot start is a rpc.statd is still running. Make sure the cleanup procedure remove any leftover rpc.statd. BUG: 1129939 Change-Id: I03c41b18526583f3304321e4e4a27e99b8fbf1f6 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9770 Reviewed-by: Niels de Vos <ndevos> Tested-by: Gluster Build System <jenkins.com> COMMIT: http://review.gluster.org/9771 committed in master by Niels de Vos (ndevos) ------ commit 5b4755e9494b80f7b57c1515773991c962af0a2a Author: Emmanuel Dreyfus <manu> Date: Fri Feb 27 16:46:58 2015 +0100 NetBSD Portability fix: use pkill instead of killall NetBSD does not have the killall command. BUG: 1129939 Change-Id: Ie022bfb7efd6288ab19050addcfbd2822fbc78c0 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9771 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Niels de Vos <ndevos> REVIEW: http://review.gluster.org/9825 (glfsheal: Avoid infinite loop on exit) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9831 (Tests: fix spurious failure in read-subvol-entry.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9833 (Tests: fix spurious failure in sparse-file-self-heal.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9825 committed in master by Vijay Bellur (vbellur) ------ commit 3361bab0388f7cdad50e1c67e1127801fda05685 Author: Emmanuel Dreyfus <manu> Date: Sat Mar 7 06:10:41 2015 +0100 glfsheal: Avoid infinite loop on exit Make sure we do not get stuck looping forever in event_dispatch_destroy() by limiting the retries when waiting for other threads, and by giving up when writing to other thread fails. This fixes regression tests hanging forever on NetBSD. BUG: 1129939 Change-Id: I4459cfb1ab7294e8c15a21b592e0154c22abae07 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9825 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Niels de Vos <ndevos> Reviewed-by: Shyamsundar Ranganathan <srangana> Reviewed-by: Jeff Darcy <jdarcy> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/9833 committed in master by Vijay Bellur (vbellur) ------ commit 7d3f27d4c9421c976eec3a39004e84bad20586d7 Author: Emmanuel Dreyfus <manu> Date: Mon Mar 9 10:29:29 2015 +0100 Tests: fix spurious failure in sparse-file-self-heal.t On NetBSD sparse-file-self-heal.t often fails because $HEAL_TIMEOUT is too short. Raising to 80s works around the problem, as discovered by Anuradha Talur BUG: 1129939 Change-Id: Ia950ff70ace24771ab1ef7fce51861f2417f86ab Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9833 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Anuradha Talur <atalur> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9885 (Tests: ls(1) portability in split-brain-healing.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9896 (Tests: do not hardcode NFS state directory) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9885 (Tests: ls portability regarding dot-files) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9885 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit dde946f72a758410a80e05bf5f8447426db0b4a4 Author: Emmanuel Dreyfus <manu> Date: Tue Mar 17 20:40:58 2015 +0100 Tests: ls portability regarding dot-files When run as root, BSD ls(1) lists dot-files, which includes .glusterfs in split-brain-healing.t's usage. This leads to failure. gfid-self-heal.t suffers the same problem. Fix by filtering out dot-files in ls(1) output NB: split-brain-healing.t also requires http://review.gluster.org/9831 to pass on NetBSD. BUG: 1129939 Change-Id: Ic572d3abf685e9b43f32ddee8a13b5f5c4ae641f Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9885 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Ravishankar N <ravishankar> Reviewed-by: Kaleb KEITHLEY <kkeithle> COMMIT: http://review.gluster.org/9896 committed in master by Vijay Bellur (vbellur) ------ commit bf16d438237166c9379b8388a1be71b2dec4dd4d Author: Emmanuel Dreyfus <manu> Date: Mon Mar 16 11:36:38 2015 +0100 Tests: do not hardcode NFS state directory tests/basic/mount-nfs-auth.t hardcoded /var/lib/glusterd/nfs/ as the NFS state directory, cuasing failures if glusterfs was configured with state in another location. Fix this by obtaning the directory through a gluster volume get command. The nfs.mount-rmtab key gives us a file inside the directory we are looking for. This fixes tests/basic/mount-nfs-auth.t regression on NetBSD. BUG: 1129939 Change-Id: I19184859c03faf5b9aeb95d080cf90fa581be380 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9896 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/9944 (Tests: portability fixes for ipc.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/9944 (Tests: portability fixes for ipc.t) posted (#2) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: http://review.gluster.org/9944 (Tests: portability fixes for ipc.t) posted (#3) for review on master by Kaleb KEITHLEY (kkeithle) REVIEW: http://review.gluster.org/10017 (Avoid conflict between contrib/uuid and system uuid) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10017 (Avoid conflict between contrib/uuid and system uuid) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10017 (Avoid conflict between contrib/uuid and system uuid) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10017 (Avoid conflict between contrib/uuid and system uuid) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10030 (changelog xlator: avoid unsupported threaded event-poll usage) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10031 (glusterd: Remove bogus assertion) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10033 (Tests: portability fixes) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10030 (changelog xlator: avoid unsupported threaded event-poll usage) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10033 (Tests: portability fixes) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10033 (Tests: portability fixes) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10030 (changelog xlator: avoid unsupported threaded event-poll usage) posted (#3) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10033 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit aff367a601351ff7bfbfc572d6ae0d4ffafae0f0 Author: Emmanuel Dreyfus <manu> Date: Mon Mar 30 05:43:12 2015 +0200 Tests: portability fixes Fix various portability problems in mount-nfs-auth.t, quota-ancestry-building.t and trash.t: - dd bs=1M is not portable, use dd bs=1024k instead - dd bs=1MB is not portable iether, use dd bs=1000000 instead - After restarting NFS service, wait for it to become available - After killing a process, wait for it to terminate - BSD awk does not accept a=b="", use a=""; b="" instead - NetBSD displays the original program name in paenthesis at the end of ps output. Strip it using sed 's/ *([^()]*)$//' is we want just the command - Do no use umount $N0, which leads to many troubles solved by EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" umount_nfs $N0 - The -p option for mkdir must be before the directory name - du -b is not portable. Use ls -l instead. BUG: 1129939 Change-Id: I3d44a10a37d47ebb6a263c206566487e3ffb85d8 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10033 Reviewed-by: Krishnan Parthasarathi <kparthas> Reviewed-by: Anoop C S <achiraya> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> COMMIT: http://review.gluster.org/10030 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 86fa9298ea9d04766c0a693192e6660ad4b02165 Author: Emmanuel Dreyfus <manu> Date: Mon Mar 30 09:04:15 2015 +0200 changelog xlator: avoid unsupported threaded event-poll usage The changelog xlator was modified to use a poller thread, which uses the same event pool as the xlator stack. Unfortunately, such threaded usage of event pool is not supported by event-poll code, only event-epoll supports it. As a result, platforms such as NetBSD that lack epoll support got broken. The fix is to remove the poller thread, which does not cause any functionnality loss because the xlator stack event poll is functionnal. That lets NetBSD pass AFR tests again. BUG: 1129939 Change-Id: I3d73cf58e2ed8d92d9e0191f7abda3c37dea4159 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10030 Reviewed-by: Krishnan Parthasarathi <kparthas> Reviewed-by: Venky Shankar <vshankar> Tested-by: Venky Shankar <vshankar> Tested-by: Gluster Build System <jenkins.com> REVIEW: http://review.gluster.org/10052 (Testing NetBSD regression) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10052 (Testing NetBSD regression) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10052 (Testing NetBSD regression) posted (#3) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9944 committed in master by Vijay Bellur (vbellur) ------ commit ffb2e85ff574891639d899cc59fcd9f75d4ce51e Author: Emmanuel Dreyfus <manu> Date: Thu Mar 19 12:05:16 2015 +0100 Tests: portability fixes for ipc.t This fixes portability problems in ipc.t so that it can run on NetBSD: 1) EOPNOTSUPP value is OS-dependent. Learn it from system headers instead of hard-coding it in the script 2) liglusterfs embbeds its own UUID implementation. The function name may be the same as in built(in implementation from libc, but with different prototype. In that case, we must make sure python will use libglusterfs's version, otherwise we will crash in libc's UUID code. Since dlopen() does not make any guarantee on what symbol will be used, me need to preload libglusterfs when loading python. This is done using LD_PRELOAD. 3) In python code we need to load with RTLD_GLOBAL global in order to have dependencies loaded 4) Python's ctypes.util.find_library does not lookup LD_LIBRARy_PATH and may therefore miss the library. On failure, retry with less portable but more reliable explicit name BUG: 1129939 Change-Id: I024cdfd03a5a42a8ec23de38a99e7349aba92ea8 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9944 Reviewed-by: Kaleb KEITHLEY <kkeithle> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Venky Shankar <vshankar> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10052 (Testing NetBSD regression) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10109 (crypt xlator: Fix memory coruption after free) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/9831 committed in master by Vijay Bellur (vbellur) ------ commit db7b8d6e5d4485fc5a6e836447dfa5d3cb85b5fd Author: Emmanuel Dreyfus <manu> Date: Mon Mar 9 09:06:20 2015 +0100 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. BUG: 1129939 Change-Id: Id9ccdd8604f79a69db5f1902697f8913acac50ad Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/9831 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Ravishankar N <ravishankar> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10109 (crypt xlator: Fix memory coruption after free) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10109 (crypt xlator: Fix memory coruption after free) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10182 (Tests: fix spurrious failure in mount-nfs-auth.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10182 (Tests: fix spurrious failure in mount-nfs-auth.t) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10182 (Tests: fix spurrious failure in mount-nfs-auth.t) posted (#3) for review on master by jiffin tony Thottan (jthottan) COMMIT: http://review.gluster.org/10182 committed in master by Vijay Bellur (vbellur) ------ commit 169ea3e4939b79e5f658d44ac190221324a8967f Author: Emmanuel Dreyfus <manu> Date: Fri Apr 10 10:51:02 2015 +0200 Tests: fix spurrious failure in mount-nfs-auth.t Work around a timing-caused spurious error introduced by http://review.gluster.org/10047 BUG: 1129939 Change-Id: I0597377799f2464d9516fe710fa6e39c1f67a858 Signed-off-by: Emmanuel Dreyfus <manu> Signed-off-by: Jiffin Tony Thottan <jthottan> Reviewed-on: http://review.gluster.org/10182 Tested-by: Gluster Build System <jenkins.com> COMMIT: http://review.gluster.org/10109 committed in master by Vijay Bellur (vbellur) ------ commit d10bd788fada54ad095e19b5aedf949e23fdabb2 Author: Emmanuel Dreyfus <manu> Date: Wed Apr 8 10:49:07 2015 +0200 crypt xlator: Fix memory coruption after free crypt xlator allocated local memory through mem_get0(), but code called through STACK_DESTROY()/FRAME_DESTROY() does not expect memory to be allocated that way: it will use GF_FREE() even for data allocated by mem_get0(), which should be given the mem_put() treatment. As a result, allocating using mem_get0(), while relying on FRAME_DESTROY() cleanup led to memory corruption. Using GF_CALLOC() instead of mem_get0() sets memory allocation on par with cleanup code, and crypt.t can pass on NetBSD. The initial patch was crafted by Raghavendra Talur. BUG: 1129939 Change-Id: Ib71b4b57f8d1bb782f950e3c8fa74a4f7e10946e Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10109 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10276 (Fix case mistake for MKDIR_P in Makefiles) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10286 (Tests: python portability) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10289 (test run-tests.sh -r) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10289 (test run-tests.sh -r) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10289 (test run-tests.sh -r) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10289 (Correctly return error for run-tests.sh -r) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10290 (Null commit to test regression) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10286 committed in master by Vijay Bellur (vbellur) ------ commit 84df19e44801164219aaf83e61cc8f0b8b9bd08c Author: Emmanuel Dreyfus <manu> Date: Fri Apr 17 15:15:50 2015 +0200 Tests: python portability Make sure to use $PYTHON defined from tests/env.rc so that we get the path to the actually detected python interpreter. BUG: 1129939 Change-Id: Ibf3e88f190d5e0c6a4a08e8d5ef9d0b5cba5078a Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10286 Tested-by: NetBSD Build System Reviewed-by: Kotresh HR <khiremat> Reviewed-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/10289 committed in master by Vijay Bellur (vbellur) ------ commit aa87c31d8d7406157af582c7aeafd5ed6a64fd2d Author: Emmanuel Dreyfus <manu> Date: Fri Apr 17 18:06:17 2015 +0200 Correctly return error for run-tests.sh -r In recent modification introducing the -r option for run-tests.sh, there was a missing bit: When -r is used, the regression result is not returned and the outcome is always considered as a success. Fix it by correctly reporting the status. Change-Id: If4e3c96d51037fbcf6d9d0e10a3dd3e12da77447 BUG: 1129939 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10289 Tested-by: NetBSD Build System Reviewed-by: Jeff Darcy <jdarcy> Tested-by: Gluster Build System <jenkins.com> REVIEW: http://review.gluster.org/10290 (Test: check for build failure with run-tests.sh -r) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10290 (Test: check for build success with run-tests.sh -r) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10327 (Tests: trash.t portability fixes) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10327 (Tests: trash.t portability fixes) posted (#2) for review on master by Anoop C S (achiraya) REVIEW: http://review.gluster.org/10327 (Tests: trash.t portability fixes) posted (#3) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10327 committed in master by Vijay Bellur (vbellur) ------ commit ba9be029652fae1e024b14b5456d87260a18fb77 Author: Emmanuel Dreyfus <manu> Date: Thu Apr 23 06:32:38 2015 +0200 Tests: trash.t portability fixes Fix various portability problems in trash.t - work around timing issues - avoid wildcard usage only supported by bash Original patch from Anoop C S and Jiffin Tony Thottan. Removed LONGER_HEAL_TIMEOUT from previous patch as it seems to run fine without it now. BUG: 1129939 Change-Id: I0f6f484209ef4db7e0a7b733b863927cb248e73e Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10327 Reviewed-by: Anoop C S <achiraya> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10360 (Tests: fix spurious failure in trash.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10360 (Tests: fix spurious failure in trash.t) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10360 (Tests: fix spurious failure in trash.t) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10360 (Tests: fix spurious failure in trash.t) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10360 (Tests: fix spurious failures in trash.t) posted (#5) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10376 (Debug run: track mem_put(NULL) trigered by glupy.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10360 committed in master by Vijay Bellur (vbellur) ------ commit 652f5e8bd429ea0e2433e40ccee63ef1cd45baea Author: Emmanuel Dreyfus <manu> Date: Sat Apr 25 05:03:47 2015 +0200 Tests: fix spurious failures in trash.t Fix timing problems that cause rare spurious failures in trash.t BUG: 1129939 Change-Id: I673e033b53b6b4bb993c22fadbdcee725b2c1e96 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10360 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10394 (tier: fix off-by-one overrun in UUID string) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10394 committed in master by Vijay Bellur (vbellur) ------ commit 464d0d15328bd54173b367953ba9ee58d697afe5 Author: Emmanuel Dreyfus <manu> Date: Mon Apr 27 06:32:40 2015 +0200 tier: fix off-by-one overrun in UUID string UUID strings are UUID_CANONICAL_FORM_LEN (36) bytes long plus the trailing nul character that various function (e.g.: uuid_unparse) will add. As a consequence, UUID strings must be declared as UUID_CANONICAL_FORM_LEN+1 long, otherwise we get a off-by-one overrun that corrupts the next variable on stack. BUG: 1129939 Change-Id: I5837ad6ca06fa17cc7ab143eedd02d8099ecca2a Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10394 Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10407 (tier: relax libgfdb required version number) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10411 (Tests: use a portable way to flush kernel cache) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10411 (ests: use a portable way to flush kernel cache) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10411 (Tests: use a portable way to flush kernel cache) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10411 (Tests: use a portable way to flush kernel cache) posted (#4) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10456 (Fix ENOKEY build failure on non Linux systems) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10456 committed in master by Vijay Bellur (vbellur) ------ commit 00700a0d665fa18e28b6898b5fd09c34fc0150bc Author: Emmanuel Dreyfus <manu> Date: Thu Apr 30 04:57:11 2015 +0200 Fix ENOKEY build failure on non Linux systems ENOKEY is Linux specific, using it will fail the build on any other system. Proposed fix is to use EINVAL instead. BUG: 1129939 Change-Id: I7bdcb8dbc55aa50760c46c0d2ed932083b3066ed Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10456 Reviewed-by: Humble Devassy Chirammal <humble.devassy> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: jiffin tony Thottan <jthottan> REVIEW: http://review.gluster.org/10553 (Tests: wworkaround NetBSD failures in cdc.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10553 committed in master by Vijay Bellur (vbellur) ------ commit a197943463d3913707de56e3a1a9ef68bba5901f Author: Emmanuel Dreyfus <manu> Date: Tue May 5 09:41:23 2015 +0200 Tests: wworkaround NetBSD failures in cdc.t The volume reset network.compression operation cause brick processes to be restarted. If the volume is already started, a brick process is already there and the restart will fail, as the brick TCP port is already in use. Because the new brick process is not started, the volume is left with no brick online, and the volume stop operation will timeout waiting for bricks to stop. Obviosuly we have two bugs here - If volume reset network.compression needs to restart the bricks, it should first make sure the previous brick process is terminated - volume stop should not wait forever for bricks to come back online This change does not fix the bugs but just makes sure the volume is stoped before volume reset network.compression, so that the failure oes not happen. BUG: 1129939 Change-Id: I9cd5cdc767ef6ee9dd31f2121d672dc3bfdce45f Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10553 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Prashanth Pai <ppai> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10616 (glupy: fix tuntime search path and python module directory layout) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10411 committed in master by Vijay Bellur (vbellur) ------ commit aa938247e19afa419476fb2d0b7cb2d054c6dd47 Author: Emmanuel Dreyfus <manu> Date: Wed Apr 29 15:52:37 2015 +0200 Tests: use a portable way to flush kernel cache On Linux, kernel cache can be flushed using echo 3 > /proc/sys/vm/drop_caches This non-portable approach can be replaced by an on-purpose failed attempt to unmount: if the mount point is the current directory and umount is called, the kernel will flush inodes until it realize it cannot complete the operation because root of filesystem is busy: ( cd $M0 ; umount $M0 ) Unfortunately this does not flush everything. Entries may still be present in the kenrel FUSE cache. Using $GFS to mount the filesystem ensure --entry-timeout=0 and clears this problem. Some stall information may also remain in glusterfs caches, and that may have to be adressed by appropriate volume option. For instance tests/bugs/rpc/bug-954057.t needs to disable performance.stat-prefetch. Qtherwise, root's new credentials are not evaluated after root-quash is enabled. The test could also be done with performance.stat-prefetch enabled using various tricks: copying the file to read, creating a hard link on it, or just waiting long enough for metadata cache to expire. BUG: 1129939 Change-Id: I54929e899d55c04dcd9d947809133549f01fd0e1 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10411 Reviewed-by: Dan Lambright <dlambrig> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10652 (Restore build on non Linux systems) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10652 committed in master by Vijay Bellur (vbellur) ------ commit 865aa4ebdd71d39f8e8ae59b40d993edb4a62708 Author: Emmanuel Dreyfus <manu> Date: Thu May 7 20:28:11 2015 +0200 Restore build on non Linux systems This change broke the build on NetBSD, FreeBSD, and MacOS X: http://review.gluster.org/10526/ We restore the build with two fixes: - Use POSIX-compliant sysconf(_SC_NPROCESSORS_ONLN) to get the number of processors, instead of Linux specific get_nprocs(). That let us remove Linux-specific #include <sys/sysinfo.h> - Only define MAX() if it is not already defined. NetBSD defines it in <sys/param.h> which is already included BUG: 1129939 Change-Id: I62341c670598670e47ea2f69ab94864f96588b18 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10652 Reviewed-by: Kaleb KEITHLEY <kkeithle> Tested-by: Vijay Bellur <vbellur> COMMIT: http://review.gluster.org/10616 committed in master by Vijay Bellur (vbellur) ------ commit 317560cc5544f8ca8286ba5ecedd8236746e9ebf Author: Emmanuel Dreyfus <manu> Date: Thu May 7 12:39:05 2015 +0200 glupy: fix tuntime search path and python module directory layout 1) The glupy.so xlator should embed the runtime search path for the python libraries. Unfortunately, python-config does not gives the appprioate flags, therefore we need to also use pkg-config to obtain them 2) Fix the glupy python module directory layout so that python can import the module without problem That two fixes seems to let glupy.t pass on NetBSD again. BUG: 1129939 Change-Id: I397aa726ab8bf7d91fa0d6d870a30910a5f4a5d9 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10616 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Jeff Darcy <jdarcy> Reviewed-by: Kaleb KEITHLEY <kkeithle> REVIEW: http://review.gluster.org/10657 (Tests: fix file count in ec-readdir.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10657 committed in master by Vijay Bellur (vbellur) ------ commit bf8250bcca7f484269f64b6a73f9330d843b320b Author: Emmanuel Dreyfus <manu> Date: Fri May 8 05:59:15 2015 +0200 Tests: fix file count in ec-readdir.t On BSD systems, ls(1) reports dot-files when it is run as root, while Linux ls(1) does not do that. In ec-readdir.t, this means the directory count is different because of .trashcan directory. Fix this by using ls $M0/* instead of ls $M0 BUG: 1129939 Change-Id: Ia337c8a8e68a163ed527c0e4cbe313072ab1672b Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10657 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: http://review.gluster.org/10732 (glupy: remove debug test in libpython runtime search path detection) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/10732 committed in master by Vijay Bellur (vbellur) ------ commit ddc263e2998a89030a92c9e5ed7d58db81e12b96 Author: Emmanuel Dreyfus <manu> Date: Sat May 9 21:05:02 2015 +0200 glupy: remove debug test in libpython runtime search path detection A configure test was recently added to add libpython runtime search path to glupy.so xlator. The vesion committed was a debug test, it searched pythonxx and not python to check for failure. Fix by removing the xx debug test in python's name. BUG: 1129939 Change-Id: I7b691be17fc2a2c812f68710869b1a9a85ced84c Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/10732 Reviewed-by: Niels de Vos <ndevos> Tested-by: NetBSD Build System Tested-by: Gluster Build System <jenkins.com> REVIEW: http://review.gluster.org/10747 (Tests: Make quota.t complete faster on NetBSD) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/10748 (Tests: avoid hang in br-stub.t) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/11114 (Tests portability: umount(8)) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/11114 (Tests portability: umount(8)) posted (#2) for review on master by Vijay Bellur (vbellur) REVIEW: http://review.gluster.org/11114 (Tests portability: umount(8)) posted (#3) for review on master by Vijay Bellur (vbellur) REVIEW: http://review.gluster.org/13204 (NetBSD regression reliability: properly cleanup loopback devices) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/13206 (Portability fix: rfc.sh) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/13209 (POSIX shell compliance: == operator) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/13206 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 682b19eec8e0a874f7dc8b0ec04b5d731be928e5 Author: Emmanuel Dreyfus <manu> Date: Sat Jan 9 05:49:24 2016 +0100 Portability fix: rfc.sh Function declaration in POSIX shell does not use the 'function' keyword. This is bash-specific. BUG: 1129939 Change-Id: Ifc2dddd0c0a99d2672aaa3aa1cdf18d0d1e38336 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/13206 Reviewed-by: Raghavendra Talur <rtalur> Tested-by: NetBSD Build System <jenkins.org> REVIEW: http://review.gluster.org/13204 (NetBSD regression reliability: properly cleanup loopback devices) posted (#2) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/13209 committed in master by Kaleb KEITHLEY (kkeithle) ------ commit 856edc31417dd9459776ee68dff2d59c002eef74 Author: Emmanuel Dreyfus <manu> Date: Sun Jan 10 18:00:58 2016 +0100 POSIX shell compliance: == operator POSIX shell uses = and not ==, the later being a bash extension. BUG: 1129939 Change-Id: I9d51225de99c1607894211e68808b63100696fef Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/13209 Reviewed-by: Michael Adam <obnox> Reviewed-by: Venky Shankar <vshankar> Tested-by: NetBSD Build System <jenkins.org> REVIEW: http://review.gluster.org/13245 (NetBSD regression reliability: retry non-bad tests) posted (#1) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/13245 (NetBSD regression reliability: retry non-bad tests) posted (#2) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/13245 (NetBSD regression reliability: retry non-bad tests) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/13204 (From 34b4e4af6c682ebeac0fcb826cf99364169aa8c2 Mon Sep 17 00:00:00 2001 From: Emmanuel Dreyfus <manu> Date: Sat, 9 Jan 2016 05:38:21 +0100 Subject: [PATCH] NetBSD regression reliability: properly cleanup loopback devices) posted (#3) for review on master by Emmanuel Dreyfus (manu) REVIEW: http://review.gluster.org/13204 (NetBSD regression reliability: properly cleanup loopback devices) posted (#4) for review on master by Niels de Vos (ndevos) REVIEW: http://review.gluster.org/13204 (NetBSD regression reliability: properly cleanup loopback devices) posted (#5) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/13204 committed in master by Pranith Kumar Karampuri (pkarampu) ------ commit f17c2e991e45b83f7d21de1b976b59862ea173ab Author: Emmanuel Dreyfus <manu> Date: Mon Jan 18 20:50:24 2016 +0100 NetBSD regression reliability: properly cleanup loopback devices When a loopback device is configured and we forcibly unmount the filesystem containing the backing store, further vnconfig -l will complain "vnconfig: VNDIOCGET: Bad file descriptor" causing failures. We fix this by iterating on all loopback devices available in /dev, testing for this condition and manually unconfiguring when it happens. BUG: 1129939 Change-Id: I17b956a8ed28a7767f2d0dda83b93c523d3238c2 Signed-off-by: Emmanuel Dreyfus <manu> Reviewed-on: http://review.gluster.org/13204 Smoke: Gluster Build System <jenkins.com> Reviewed-by: Niels de Vos <ndevos> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.com> This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions REVIEW: http://review.gluster.org/13867 (Build fix: remove undefined -I${rpclibdir}) posted (#1) for review on master by Emmanuel Dreyfus (manu) COMMIT: http://review.gluster.org/13867 committed in master by Vijay Bellur (vbellur) ------ commit c530506845c5e86ab745fd5753620f2ca48d36e5 Author: Emmanuel Dreyfus <manu> Date: Thu Mar 31 09:38:55 2016 +0200 Build fix: remove undefined -I${rpclibdir} The variable is not defined anywhere, remove it. Change-Id: Iaefb349cceb4108ac22c44cd32e5ea3d3c8bc0e5 Signed-off-by: Emmanuel Dreyfus <manu> BUG: 1129939 Reviewed-on: http://review.gluster.org/13867 Smoke: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.com> Reviewed-by: Vijay Bellur <vbellur> REVIEW: https://review.gluster.org/18776 (Disable gfid2path by default on NetBSD) posted (#1) for review on master by Emmanuel Dreyfus REVIEW: https://review.gluster.org/18777 (Disable gfid2path by default on NetBSD) posted (#1) for review on release-3.13 by Emmanuel Dreyfus REVIEW: https://review.gluster.org/18778 (Disable gfid2path by default on NetBSD) posted (#1) for review on release-3.12 by Emmanuel Dreyfus REVISION POSTED: https://review.gluster.org/18777 (Disable gfid2path by default on NetBSD) posted (#2) for review on release-3.13 by Emmanuel Dreyfus REVISION POSTED: https://review.gluster.org/18778 (Disable gfid2path by default on NetBSD) posted (#2) for review on release-3.12 by Emmanuel Dreyfus COMMIT: https://review.gluster.org/18776 committed in master by \"Emmanuel Dreyfus\" <manu> with a commit message- Disable gfid2path by default on NetBSD NetBSD storage of extended attributes for UFS1 badly scales when the list of extended attributes names rises. gfid2path can add as many extended attributes names as we have files, hence we keep it disabled for performance sake. Change-Id: Id77b5f5ceb4d5eba1b3362b4b9fc693450ffbc2b Signed-off-by: Emmanuel Dreyfus <manu> BUG: 1129939 REVIEW: https://review.gluster.org/18826 (Disable gfid2path by default on NetBSD) posted (#1) for review on experimental by Amar Tumballi COMMIT: https://review.gluster.org/18826 committed in experimental by \"Amar Tumballi\" <amarts> with a commit message- Disable gfid2path by default on NetBSD NetBSD storage of extended attributes for UFS1 badly scales when the list of extended attributes names rises. gfid2path can add as many extended attributes names as we have files, hence we keep it disabled for performance sake. Change-Id: Id77b5f5ceb4d5eba1b3362b4b9fc693450ffbc2b Signed-off-by: Emmanuel Dreyfus <manu> Signed-off-by: Amar Tumballi <amarts> BUG: 1129939 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-4.0.0, please open a new bug report. glusterfs-4.0.0 has been announced on the Gluster mailinglists [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://lists.gluster.org/pipermail/announce/2018-March/000092.html [2] https://www.gluster.org/pipermail/gluster-users/ |