head 1.7; access; symbols pkgsrc-2013Q2:1.7.0.6 pkgsrc-2013Q2-base:1.7 pkgsrc-2012Q4:1.7.0.4 pkgsrc-2012Q4-base:1.7 pkgsrc-2011Q4:1.7.0.2 pkgsrc-2011Q4-base:1.7 pkgsrc-2011Q2:1.3.0.2 pkgsrc-2011Q2-base:1.3 pkgsrc-2011Q1:1.1.1.1.0.6 pkgsrc-2011Q1-base:1.1.1.1 pkgsrc-2010Q4:1.1.1.1.0.4 pkgsrc-2010Q4-base:1.1.1.1 pkgsrc-2010Q3:1.1.1.1.0.2 pkgsrc-2010Q3-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.7 date 2011.09.18.01.36.06; author manu; state dead; branches; next 1.6; 1.6 date 2011.07.23.01.14.44; author manu; state Exp; branches; next 1.5; 1.5 date 2011.07.19.07.54.31; author manu; state Exp; branches; next 1.4; 1.4 date 2011.07.08.08.02.57; author manu; state Exp; branches; next 1.3; 1.3 date 2011.05.19.14.54.23; author manu; state Exp; branches; next 1.2; 1.2 date 2011.04.18.16.19.48; author manu; state Exp; branches; next 1.1; 1.1 date 2010.08.26.14.26.19; author manu; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2010.08.26.14.26.19; author manu; state Exp; branches; next ; desc @@ 1.7 log @Update glusterfs to 3.2.3 This maintenance release with no new features. Majot bug fixes are: Bug 2464 Fixed all the issues caused by GFID mismatch during distribute rename. Bug 2988 Fixed the issue of high CPU usage when Directory Quota is enabled. Bug 3122 Enhanced the volume set interface to support io-threads on the client. Bug 3210 Fixed the issue of modified mtime/atime of the files after rebalance operation. Bug 3191 Fixed the issue with symlinks during rebalance operation. @ text @$NetBSD: patch-bc,v 1.6 2011/07/23 01:14:44 manu Exp $ glibc dirname() modify the string it is given and returns it. glusterfs takes this behavior for granted, and assume that if it gives a malloc'ed string to dirname(), then it can free()) the return value. Here is what SUSv2 says: http://opengroup.org/onlinepubs/007908799/xsh/dirname.html "The dirname() function may modify the string pointed to by path, and may return a pointer to static storage" At least NetBSD returns a static storage. glusterfs will return it to a calling function that has the responsability to free it, causing a SIGSEGV. --- xlators/performance/quick-read/src/quick-read.c.orig 2011-07-22 09:00:09.000000000 +0200 +++ xlators/performance/quick-read/src/quick-read.c 2011-07-22 09:00:12.000000000 +0200 @@@@ -80,8 +80,9 @@@@ qr_loc_fill (loc_t *loc, inode_t *inode, char *path) { int32_t ret = -1; char *parent = NULL; + char *path_copy = NULL; GF_VALIDATE_OR_GOTO_WITH_ERROR ("quick-read", loc, out, errno, EINVAL); GF_VALIDATE_OR_GOTO_WITH_ERROR ("quick-read", inode, out, errno, EINVAL); @@@@ -92,15 +93,15 @@@@ loc->inode = inode_ref (inode); loc->path = gf_strdup (path); loc->ino = inode->ino; - parent = gf_strdup (path); - if (parent == NULL) { + path_copy = gf_strdup (path); + if (path_copy == NULL) { ret = -1; goto out; } - parent = dirname (parent); + parent = dirname (path_copy); loc->parent = inode_from_path (inode->table, parent); if (loc->parent == NULL) { ret = -1; @@@@ -116,10 +117,10 @@@@ if (ret == -1) { qr_loc_wipe (loc); } - if (parent) { - GF_FREE (parent); + if (path_copy) { + GF_FREE (path_copy); } return ret; } @ 1.6 log @Update to glusterfs 3.2.2 (maintenance release for bug fixes) @ text @d1 1 a1 1 $NetBSD$ @ 1.5 log @Enable georeplication @ text @d17 2 a18 2 --- xlators/performance/quick-read/src/quick-read.c.orig 2011-04-22 19:37:28.000000000 +0200 +++ xlators/performance/quick-read/src/quick-read.c 2011-05-19 12:44:01.000000000 +0200 @ 1.4 log @Upgrade to glusterfs-3.2.1 This release is mostly about bug fixes, and we also fix bugs in the NetBSD port. @ text @@ 1.3 log @Update glusterfs to 3.2. According to http://www.gluster.org, news are: * Geo-Replication * Easily Accessible Usage Quotas * Advanced Monitoring Tools @ text @@ 1.2 log @Update glusterfs to 3.1.4. Major new features according to http://www.gluster.org/ - Elastic Volume Management - New Gluster Console Manager - Dynamic Storage for the data center and cloud @ text @d17 2 a18 2 --- xlators/performance/quick-read/src/quick-read.c.orig 2011-04-13 10:04:09.000000000 +0200 +++ xlators/performance/quick-read/src/quick-read.c 2011-04-13 10:05:35.000000000 +0200 d22 1 a22 1 int32_t ret = -1; d24 1 a24 1 + char *path_copy = NULL; d26 3 a28 3 if ((loc == NULL) || (inode == NULL) || (path == NULL) || (inode->table == NULL)) { ret = -1; d48 2 a49 1 @@@@ -114,10 +115,10 @@@@ a50 1 @ 1.1 log @Initial revision @ text @d2 1 a2 1 d12 1 a12 1 d17 2 a18 2 --- ./xlators/performance/quick-read/src/quick-read.c.orig 2010-08-24 18:01:15.000000000 +0200 +++ ./xlators/performance/quick-read/src/quick-read.c 2010-08-24 18:04:22.000000000 +0200 d26 2 a27 1 if ((loc == NULL) || (inode == NULL) || (path == NULL)) { d29 1 a29 2 errno = EINVAL; @@@@ -91,15 +92,15 @@@@ d31 1 a31 1 loc->path = strdup (path); d34 1 a34 1 - parent = strdup (path); d36 1 a36 1 + path_copy = strdup (path); d54 1 a54 1 - FREE (parent); d56 1 a56 1 + FREE (path_copy); d58 1 a58 1 @ 1.1.1.1 log @This is an experimental port of glusterfs on NetBSD. Don't do this at home! @ text @@