Upgrade to glusterfs-3.2.1

This release is mostly about bug fixes, and we also fix bugs in the NetBSD
port.
This commit is contained in:
manu 2011-07-08 08:02:56 +00:00
parent c3cbdfb319
commit 7734ec20a1
32 changed files with 491 additions and 171 deletions

View file

@ -1,5 +1,5 @@
===========================================================================
$NetBSD: MESSAGE.NetBSD,v 1.6 2011/05/19 14:54:22 manu Exp $
$NetBSD: MESSAGE.NetBSD,v 1.7 2011/07/08 08:02:56 manu Exp $
In order to use mount -t glusterfs, please install this link
ln -s ${PREFIX}/sbin/mount.glusterfs /sbin/mount_glusterfs

View file

@ -1,10 +1,10 @@
# $NetBSD: Makefile,v 1.11 2011/06/29 13:53:01 manu Exp $
# $NetBSD: Makefile,v 1.12 2011/07/08 08:02:56 manu Exp $
#
DISTNAME= glusterfs-3.2.0
PKGREVISION= 3
DISTNAME= glusterfs-3.2.1
PKGREVISION= 1
CATEGORIES= filesystems
MASTER_SITES= http://download.gluster.com/pub/gluster/glusterfs/3.2/LATEST/
MASTER_SITES= http://download.gluster.com/pub/gluster/glusterfs/3.2/3.2.1/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.gluster.org/

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.4 2011/06/06 15:53:13 manu Exp $
@comment $NetBSD: PLIST,v 1.5 2011/07/08 08:02:56 manu Exp $
etc/glusterfs/xattr-init.sh
etc/glusterfs/glusterfs.vol.sample
etc/glusterfs/glusterfsd.vol.sample
@ -9,77 +9,77 @@ lib/libglusterfs.la
lib/libglusterfs.a
lib/libgfrpc.so.0.0.0
lib/libgfrpc.la
lib/glusterfs/3.2.0/rpc-transport/socket.so.0.0.0
lib/glusterfs/3.2.0/rpc-transport/socket.la
lib/glusterfs/3.2.0/xlator/cluster/distribute.so
lib/glusterfs/3.2.0/xlator/cluster/replicate.so
lib/glusterfs/3.2.0/xlator/features/posix-locks.so
lib/glusterfs/3.2.0/xlator/cluster/stripe.so.0.0.0
lib/glusterfs/3.2.0/xlator/cluster/stripe.la
lib/glusterfs/3.2.0/xlator/cluster/afr.so.0.0.0
lib/glusterfs/3.2.0/xlator/cluster/afr.la
lib/glusterfs/3.2.0/xlator/cluster/pump.so.0.0.0
lib/glusterfs/3.2.0/xlator/cluster/pump.la
lib/glusterfs/3.2.0/xlator/cluster/dht.so.0.0.0
lib/glusterfs/3.2.0/xlator/cluster/dht.la
lib/glusterfs/3.2.0/xlator/cluster/nufa.so.0.0.0
lib/glusterfs/3.2.0/xlator/cluster/nufa.la
lib/glusterfs/3.2.0/xlator/cluster/switch.so.0.0.0
lib/glusterfs/3.2.0/xlator/cluster/switch.la
lib/glusterfs/3.2.0/xlator/storage/posix.so.0.0.0
lib/glusterfs/3.2.0/xlator/storage/posix.la
lib/glusterfs/3.2.0/xlator/protocol/client.so.0.0.0
lib/glusterfs/3.2.0/xlator/protocol/client.la
lib/glusterfs/3.2.0/xlator/protocol/server.so.0.0.0
lib/glusterfs/3.2.0/xlator/protocol/server.la
lib/glusterfs/3.2.0/xlator/performance/write-behind.so.0.0.0
lib/glusterfs/3.2.0/xlator/performance/write-behind.la
lib/glusterfs/3.2.0/xlator/performance/read-ahead.so.0.0.0
lib/glusterfs/3.2.0/xlator/performance/read-ahead.la
lib/glusterfs/3.2.0/xlator/performance/io-threads.so.0.0.0
lib/glusterfs/3.2.0/xlator/performance/io-threads.la
lib/glusterfs/3.2.0/xlator/performance/io-cache.so.0.0.0
lib/glusterfs/3.2.0/xlator/performance/io-cache.la
lib/glusterfs/3.2.0/xlator/performance/quick-read.so.0.0.0
lib/glusterfs/3.2.0/xlator/performance/quick-read.la
lib/glusterfs/3.2.0/xlator/performance/stat-prefetch.so.0.0.0
lib/glusterfs/3.2.0/xlator/performance/stat-prefetch.la
lib/glusterfs/3.2.0/xlator/testing/performance/symlink-cache.so.0.0.0
lib/glusterfs/3.2.0/xlator/testing/performance/symlink-cache.la
lib/glusterfs/3.2.0/xlator/testing/features/trash.so.0.0.0
lib/glusterfs/3.2.0/xlator/testing/features/trash.la
lib/glusterfs/3.2.0/xlator/debug/trace.so.0.0.0
lib/glusterfs/3.2.0/xlator/debug/trace.la
lib/glusterfs/3.2.0/xlator/debug/error-gen.so.0.0.0
lib/glusterfs/3.2.0/xlator/debug/error-gen.la
lib/glusterfs/3.2.0/xlator/debug/io-stats.so.0.0.0
lib/glusterfs/3.2.0/xlator/debug/io-stats.la
lib/glusterfs/3.2.0/xlator/features/locks.so.0.0.0
lib/glusterfs/3.2.0/xlator/features/locks.la
lib/glusterfs/3.2.0/xlator/features/quota.so.0.0.0
lib/glusterfs/3.2.0/xlator/features/quota.la
lib/glusterfs/3.2.0/xlator/features/read-only.so.0.0.0
lib/glusterfs/3.2.0/xlator/features/read-only.la
lib/glusterfs/3.2.0/xlator/features/access-control.so.0.0.0
lib/glusterfs/3.2.0/xlator/features/access-control.la
lib/glusterfs/3.2.0/xlator/features/mac-compat.so.0.0.0
lib/glusterfs/3.2.0/xlator/features/mac-compat.la
lib/glusterfs/3.2.0/xlator/features/quiesce.so.0.0.0
lib/glusterfs/3.2.0/xlator/features/quiesce.la
lib/glusterfs/3.2.0/xlator/features/marker.so.0.0.0
lib/glusterfs/3.2.0/xlator/features/marker.la
lib/glusterfs/3.2.0/xlator/encryption/rot-13.so.0.0.0
lib/glusterfs/3.2.0/xlator/encryption/rot-13.la
lib/glusterfs/3.2.0/xlator/mount/fuse.so.0.0.0
lib/glusterfs/3.2.0/xlator/mount/fuse.la
lib/glusterfs/3.2.0/xlator/nfs/server.so.0.0.0
lib/glusterfs/3.2.0/xlator/nfs/server.la
lib/glusterfs/3.2.0/xlator/mgmt/glusterd.so.0.0.0
lib/glusterfs/3.2.0/xlator/mgmt/glusterd.la
lib/glusterfs/3.2.0/auth/addr.so.0.0.0
lib/glusterfs/3.2.0/auth/addr.la
lib/glusterfs/3.2.0/auth/login.so.0.0.0
lib/glusterfs/3.2.0/auth/login.la
lib/glusterfs/3.2.1/rpc-transport/socket.so.0.0.0
lib/glusterfs/3.2.1/rpc-transport/socket.la
lib/glusterfs/3.2.1/xlator/cluster/distribute.so
lib/glusterfs/3.2.1/xlator/cluster/replicate.so
lib/glusterfs/3.2.1/xlator/features/posix-locks.so
lib/glusterfs/3.2.1/xlator/cluster/stripe.so.0.0.0
lib/glusterfs/3.2.1/xlator/cluster/stripe.la
lib/glusterfs/3.2.1/xlator/cluster/afr.so.0.0.0
lib/glusterfs/3.2.1/xlator/cluster/afr.la
lib/glusterfs/3.2.1/xlator/cluster/pump.so.0.0.0
lib/glusterfs/3.2.1/xlator/cluster/pump.la
lib/glusterfs/3.2.1/xlator/cluster/dht.so.0.0.0
lib/glusterfs/3.2.1/xlator/cluster/dht.la
lib/glusterfs/3.2.1/xlator/cluster/nufa.so.0.0.0
lib/glusterfs/3.2.1/xlator/cluster/nufa.la
lib/glusterfs/3.2.1/xlator/cluster/switch.so.0.0.0
lib/glusterfs/3.2.1/xlator/cluster/switch.la
lib/glusterfs/3.2.1/xlator/storage/posix.so.0.0.0
lib/glusterfs/3.2.1/xlator/storage/posix.la
lib/glusterfs/3.2.1/xlator/protocol/client.so.0.0.0
lib/glusterfs/3.2.1/xlator/protocol/client.la
lib/glusterfs/3.2.1/xlator/protocol/server.so.0.0.0
lib/glusterfs/3.2.1/xlator/protocol/server.la
lib/glusterfs/3.2.1/xlator/performance/write-behind.so.0.0.0
lib/glusterfs/3.2.1/xlator/performance/write-behind.la
lib/glusterfs/3.2.1/xlator/performance/read-ahead.so.0.0.0
lib/glusterfs/3.2.1/xlator/performance/read-ahead.la
lib/glusterfs/3.2.1/xlator/performance/io-threads.so.0.0.0
lib/glusterfs/3.2.1/xlator/performance/io-threads.la
lib/glusterfs/3.2.1/xlator/performance/io-cache.so.0.0.0
lib/glusterfs/3.2.1/xlator/performance/io-cache.la
lib/glusterfs/3.2.1/xlator/performance/quick-read.so.0.0.0
lib/glusterfs/3.2.1/xlator/performance/quick-read.la
lib/glusterfs/3.2.1/xlator/performance/stat-prefetch.so.0.0.0
lib/glusterfs/3.2.1/xlator/performance/stat-prefetch.la
lib/glusterfs/3.2.1/xlator/testing/performance/symlink-cache.so.0.0.0
lib/glusterfs/3.2.1/xlator/testing/performance/symlink-cache.la
lib/glusterfs/3.2.1/xlator/testing/features/trash.so.0.0.0
lib/glusterfs/3.2.1/xlator/testing/features/trash.la
lib/glusterfs/3.2.1/xlator/debug/trace.so.0.0.0
lib/glusterfs/3.2.1/xlator/debug/trace.la
lib/glusterfs/3.2.1/xlator/debug/error-gen.so.0.0.0
lib/glusterfs/3.2.1/xlator/debug/error-gen.la
lib/glusterfs/3.2.1/xlator/debug/io-stats.so.0.0.0
lib/glusterfs/3.2.1/xlator/debug/io-stats.la
lib/glusterfs/3.2.1/xlator/features/locks.so.0.0.0
lib/glusterfs/3.2.1/xlator/features/locks.la
lib/glusterfs/3.2.1/xlator/features/quota.so.0.0.0
lib/glusterfs/3.2.1/xlator/features/quota.la
lib/glusterfs/3.2.1/xlator/features/read-only.so.0.0.0
lib/glusterfs/3.2.1/xlator/features/read-only.la
lib/glusterfs/3.2.1/xlator/features/access-control.so.0.0.0
lib/glusterfs/3.2.1/xlator/features/access-control.la
lib/glusterfs/3.2.1/xlator/features/mac-compat.so.0.0.0
lib/glusterfs/3.2.1/xlator/features/mac-compat.la
lib/glusterfs/3.2.1/xlator/features/quiesce.so.0.0.0
lib/glusterfs/3.2.1/xlator/features/quiesce.la
lib/glusterfs/3.2.1/xlator/features/marker.so.0.0.0
lib/glusterfs/3.2.1/xlator/features/marker.la
lib/glusterfs/3.2.1/xlator/encryption/rot-13.so.0.0.0
lib/glusterfs/3.2.1/xlator/encryption/rot-13.la
lib/glusterfs/3.2.1/xlator/mount/fuse.so.0.0.0
lib/glusterfs/3.2.1/xlator/mount/fuse.la
lib/glusterfs/3.2.1/xlator/nfs/server.so.0.0.0
lib/glusterfs/3.2.1/xlator/nfs/server.la
lib/glusterfs/3.2.1/xlator/mgmt/glusterd.so.0.0.0
lib/glusterfs/3.2.1/xlator/mgmt/glusterd.la
lib/glusterfs/3.2.1/auth/addr.so.0.0.0
lib/glusterfs/3.2.1/auth/addr.la
lib/glusterfs/3.2.1/auth/login.so.0.0.0
lib/glusterfs/3.2.1/auth/login.la
lib/libgfxdr.so.0.0.0
lib/libgfxdr.la
lib/libgfxdr.a

View file

@ -1,8 +1,8 @@
$NetBSD: distinfo,v 1.6 2011/06/29 13:53:01 manu Exp $
$NetBSD: distinfo,v 1.7 2011/07/08 08:02:56 manu Exp $
SHA1 (glusterfs-3.2.0.tar.gz) = a8095e04feedce81aa21634639f278b3810398b8
RMD160 (glusterfs-3.2.0.tar.gz) = a69f47efd396a413ffb350e1711345ff49557325
Size (glusterfs-3.2.0.tar.gz) = 2307276 bytes
SHA1 (glusterfs-3.2.1.tar.gz) = 41719aa09593d9c32d8298022acadf74d8895b58
RMD160 (glusterfs-3.2.1.tar.gz) = 877667fb852617b38c18d01c040e311cd6f55e49
Size (glusterfs-3.2.1.tar.gz) = 2339056 bytes
SHA1 (patch-aa) = 0975321d76f7f3d1675989b3e7ebbbd10fa37914
SHA1 (patch-ab) = 50ebee4f7ba34ef260bccada8f99cbed286f834c
SHA1 (patch-ac) = c8ed15790eaa9aa72b61096eadb823a88271e94e
@ -12,12 +12,12 @@ SHA1 (patch-an) = f61d747e22665a154b95546cb632489d1e0c55bf
SHA1 (patch-ao) = 1845277f39531160bab22dadec1f4eb3c761a358
SHA1 (patch-ar) = a5a18baa88fda145795d0b6f85ba86014e2128f7
SHA1 (patch-as) = 54f6ea0ee4208cd29052084efeb928618936c7d1
SHA1 (patch-ax) = 2588db4c21df8559ffbcf1b814479228dadd4623
SHA1 (patch-ax) = bc33548df9f66edefe324871c62108252b0a29c6
SHA1 (patch-ba) = e53d4b833f7b26eaa474a339e5962a251ecacd49
SHA1 (patch-bb) = 10689b5cf75f3d66ee53b1950212af2d4af998d7
SHA1 (patch-bb) = f6f39469eef53cbd3ef2cb81e124d4c8ead94f36
SHA1 (patch-bc) = e9323641ed748cbe0ef6cb8912ab76dc5508cc80
SHA1 (patch-be) = 0db2543504300504be1064cdbb6f19de06917e17
SHA1 (patch-bf) = 30a39360435dd5f9faaf00e272a2d14fdb1ec86c
SHA1 (patch-be) = 9178d3f8422bb4e1c06b0bf468b4d857924a2394
SHA1 (patch-bf) = e4ce30b127d0a32ca168723f09fc7689f2e318da
SHA1 (patch-bh) = befda4dc6d049cf6759aa9147e124900b3962c73
SHA1 (patch-bj) = 508dbb651cfe0f284f50490b52cca6aae194da59
SHA1 (patch-bk) = 7ecaa91aac8ae936600078c41e963ff600613bd5
@ -26,4 +26,7 @@ SHA1 (patch-bm) = 71156d3bd9dcc02b09db022ee20852f4b52e7306
SHA1 (patch-bn) = d806dc6319568279d79fcc7b14fddd76771aa210
SHA1 (patch-bo) = 3c564fc3854847d26e512ded60082715745a0b1c
SHA1 (patch-bp) = 28363fc5468ef0bc930fe2551a78bed818ec2585
SHA1 (patch-bq) = 55c71e2c143271fd10afa04b168f94b23acbb982
SHA1 (patch-bq) = 717d0a01f96c8eac0e4cbc31b294fbfdb3cc3fcf
SHA1 (patch-br) = 5781be44be29b6dbda01983f6c9b5338bf07210e
SHA1 (patch-bs) = 49300630717279bc88077afbe78fad6c8628e63b
SHA1 (patch-bt) = e566da60cf0a88c82ec61e5b2efb08dbafe20cb4

View file

@ -1,6 +1,6 @@
#!/bin/sh
#
# $NetBSD: glusterd.sh,v 1.3 2011/06/06 15:53:14 manu Exp $
# $NetBSD: glusterd.sh,v 1.4 2011/07/08 08:02:57 manu Exp $
#
# PROVIDE: glusterd

View file

@ -1,6 +1,6 @@
#!/bin/sh
#
# $NetBSD: glusterfsd.sh,v 1.3 2011/05/19 14:54:22 manu Exp $
# $NetBSD: glusterfsd.sh,v 1.4 2011/07/08 08:02:57 manu Exp $
#
# PROVIDE: glusterfsd

View file

@ -1,6 +1,6 @@
#!/bin/sh
# $NetBSD: xattr-init.sh,v 1.4 2011/06/06 15:53:14 manu Exp $
# $NetBSD: xattr-init.sh,v 1.5 2011/07/08 08:02:57 manu Exp $
GLUSTERFS_XATTR="
trusted.distribute.linkinfo
@ -29,18 +29,26 @@ test -d ${VOLUME} || {
exit 1
}
extattrctl start ${VOLUME} || {
echo "$0: cannot start extended attributes on ${VOLUME}"
exit 1
}
mkdir -p ${VOLUME}/.attribute/user || {
echo "$0: cannot create ${VOLUME}/.attribute/user"
exit 1
}
mkdir -p ${VOLUME}/.attribute/system || {
echo "$0: cannot create ${VOLUME}/.attribute/system"
exit 1
}
extattrctl start ${VOLUME} || {
echo "$0: cannot start extended attributes on ${VOLUME}"
exit 1
}
for attr in ${GLUSTERFS_XATTR} ; do
attrfile=${VOLUME}/.attribute/user/${attr}
ns="user";
echo ${attr} | egrep -q '^(trusted|system|security)\.' && ns="system"
attrfile=${VOLUME}/.attribute/${ns}/${attr}
test -e ${attrfile} && {
echo "$0: ${attrfile} exists."
@ -52,7 +60,7 @@ for attr in ${GLUSTERFS_XATTR} ; do
exit 1
}
extattrctl enable ${VOLUME} user ${attr} ${attrfile} || {
extattrctl enable ${VOLUME} ${ns} ${attr} ${attrfile} || {
echo "$0: cannot enable ${attr} backed by ${attrfile}"
exit 1
}

View file

@ -1,4 +1,4 @@
$NetBSD: patch-aa,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-aa,v 1.4 2011/07/08 08:02:57 manu Exp $
The == operator is a non-standard bash extension. = should be used instead
--- xlators/mount/fuse/utils/mount_glusterfs.in.orig 2011-04-22 19:37:28.000000000 +0200

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ab,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-ab,v 1.4 2011/07/08 08:02:57 manu Exp $
NetBSD does not have AI_ADDRCONFIG. This patch has a side effect: glusterfsd
listens on IPv6 adresses only by default. Option transport.socket.bind-address

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ae,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-ae,v 1.4 2011/07/08 08:02:57 manu Exp $
On NetBSD use libperfuse(3), rename umount2(2) as unmount(2), and skip
inexistant /etc/mtab management.

View file

@ -1,4 +1,4 @@
$NetBSD: patch-af,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-af,v 1.4 2011/07/08 08:02:57 manu Exp $
Works around "error: 'TCP_KEEPALIVE' undeclared" on NetBSD
--- rpc/rpc-transport/socket/src/socket.c.orig 2011-04-22 19:37:28.000000000 +0200

View file

@ -1,4 +1,4 @@
$NetBSD: patch-an,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-an,v 1.4 2011/07/08 08:02:57 manu Exp $
NetBSD uses libperfuse(3). Also enable debugging (-g) for now.
--- configure.ac.orig 2011-04-22 19:37:28.000000000 +0200

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ao,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-ao,v 1.4 2011/07/08 08:02:57 manu Exp $
NetBSD uses libperfuse(3). Also enable debugging (-g) for now.
--- configure.orig 2011-05-19 12:36:23.000000000 +0200

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ar,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-ar,v 1.4 2011/07/08 08:02:57 manu Exp $
Add @GF_FUSE_LDADD@ to fuse.so library dependecies so that -lperfuse is
added at configure time for NetBSD.

View file

@ -1,4 +1,4 @@
$NetBSD: patch-as,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-as,v 1.4 2011/07/08 08:02:57 manu Exp $
Add @GF_FUSE_LDADD@ to fuse.so library dependecies so that -lperfuse is
added at configure time for NetBSD.

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ax,v 1.2 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-ax,v 1.3 2011/07/08 08:02:57 manu Exp $
Do not strip binaries so that we have debug for now.
--- install-sh.orig 2011-04-22 19:37:34.000000000 +0200
@ -14,3 +14,29 @@ Do not strip binaries so that we have debug for now.
continue;;
-t) dstarg=$2
--- rpc/rpc-transport/socket/src/Makefile.in.orig 2011-07-07 12:16:41.000000000 +0200
+++ rpc/rpc-transport/socket/src/Makefile.in 2011-07-07 12:19:06.000000000 +0200
@@ -222,9 +222,9 @@
rpctransport_LTLIBRARIES = socket.la
rpctransportdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/rpc-transport
socket_la_LDFLAGS = -module -avoidversion
socket_la_SOURCES = socket.c name.c
-socket_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+socket_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl
AM_CFLAGS = -fPIC -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Wall -D$(GF_HOST_OS)\
-I$(top_srcdir)/libglusterfs/src -I$(top_srcdir)/rpc/rpc-lib/src/ \
-I$(top_srcdir)/rpc/xdr/src/ -shared -nostartfiles $(GF_CFLAGS)
--- rpc/rpc-transport/socket/src/Makefile.am.orig 2011-07-07 12:18:15.000000000 +0200
+++ rpc/rpc-transport/socket/src/Makefile.am 2011-07-07 12:18:52.000000000 +0200
@@ -5,9 +5,9 @@
socket_la_LDFLAGS = -module -avoidversion
socket_la_SOURCES = socket.c name.c
-socket_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+socket_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl
AM_CFLAGS = -fPIC -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Wall -D$(GF_HOST_OS)\
-I$(top_srcdir)/libglusterfs/src -I$(top_srcdir)/rpc/rpc-lib/src/ \
-I$(top_srcdir)/rpc/xdr/src/ -shared -nostartfiles $(GF_CFLAGS)

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ba,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-ba,v 1.4 2011/07/08 08:02:57 manu Exp $
glibc dirname() modify the string it is given and returns it.
glusterfs takes this behavior for granted, and assume that if it

View file

@ -1,5 +1,6 @@
--- 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-06-29 15:09:58.000000000 +0200
$NetBSD: patch-bb,v 1.5 2011/07/08 08:02:57 manu Exp $
--- xlators/performance/quick-read/src/quick-read.c.orig 2011-07-03 03:59:32.000000000 +0200
+++ xlators/performance/quick-read/src/quick-read.c 2011-07-03 03:59:42.000000000 +0200
@@ -726,9 +726,9 @@
}
}

View file

@ -1,4 +1,4 @@
$NetBSD: patch-bc,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-bc,v 1.4 2011/07/08 08:02:57 manu Exp $
glibc dirname() modify the string it is given and returns it.
glusterfs takes this behavior for granted, and assume that if it

View file

@ -1,6 +1,12 @@
--- libglusterfs/src/compat.c.orig 2011-04-22 19:37:28.000000000 +0200
+++ libglusterfs/src/compat.c 2011-05-19 15:27:32.000000000 +0200
@@ -529,8 +529,285 @@
$NetBSD: patch-be,v 1.4 2011/07/08 08:02:57 manu Exp $
basename() and dirname() are not supposed to be thread-safe, and NetBSD's
implementation is not. glusterfs assume the functions are thread-safe.
Borrow basename() and rdirname() form glibc and make NetBSD use them.
--- libglusterfs/src/compat.c.orig 2011-06-10 16:59:04.000000000 +0000
+++ libglusterfs/src/compat.c 2011-07-08 01:37:36.000000000 +0000
@@ -529,8 +529,412 @@
}
#endif /* GF_SOLARIS_HOST_OS */
@ -229,59 +235,186 @@
+
+ return path;
+}
+#ifndef HAVE_SYS_XATTR_H
+
+#define MATCH_NS(ns, key) (strncmp(ns, key, sizeof(ns) - 1) == 0)
+static int
+xattr_native_ns(const char *key) {
+ if (MATCH_NS("system.", key))
+ return EXTATTR_NAMESPACE_SYSTEM;
+ else if (MATCH_NS("user.", key))
+ return EXTATTR_NAMESPACE_USER;
+ else if (MATCH_NS("security.", key))
+ return EXTATTR_NAMESPACE_SYSTEM;
+ else if (MATCH_NS("trusted.", key))
+ return EXTATTR_NAMESPACE_SYSTEM;
+ else
+ return EXTATTR_NAMESPACE_USER;
+
+}
+#undef MATCH_NS
+
+static void
+xattr_native_list(char *data, ssize_t len) {
+ int i;
+ size_t attrlen;
+
+ for (i = 0; i < len; i += attrlen + 1) {
+ attrlen = (size_t)data[i];
+ memmove(data + i, data + i + 1, attrlen);
+ data[i + attrlen] = 0;
+ }
+
+ return;
+}
+
+/*
+ * Extended attribute API for NetBSD
+ */
+int
+removexattr(const char *path, const char *key)
+{ return extattr_delete_file(path, EXTATTR_NAMESPACE_USER, key); }
+{
+ return extattr_delete_file(path, xattr_native_ns(key), key);
+}
+
+ssize_t
+listxattr(const char *path, void *value, size_t size)
+{ return extattr_list_file(path, EXTATTR_NAMESPACE_USER, value, size); }
+{
+ ssize_t syslen;
+ ssize_t usrlen;
+
+ usrlen = extattr_list_file(path, EXTATTR_NAMESPACE_USER, value, size);
+ if (usrlen == -1)
+ return -1;
+
+ if (value != NULL) {
+ xattr_native_list(value, usrlen);
+ value += usrlen;
+ size -= usrlen;
+ }
+
+ syslen = extattr_list_file(path, EXTATTR_NAMESPACE_SYSTEM, value, size);
+ if (usrlen == -1)
+ return usrlen;
+
+ if (value != NULL)
+ xattr_native_list(value, syslen);
+
+ return usrlen + syslen;
+}
+
+ssize_t
+getxattr(const char *path, const char *key, void *value, size_t size)
+{ return extattr_get_file(path, EXTATTR_NAMESPACE_USER, key, value, size); }
+{
+ return extattr_get_file(path, xattr_native_ns(key), key, value, size);
+}
+
+int
+setxattr(const char *path, const char *key, const void *value, size_t size)
+{ return extattr_set_file(path, EXTATTR_NAMESPACE_USER, key, value, size); }
+{
+ ssize_t ret;
+
+ ret = extattr_set_file(path, xattr_native_ns(key), key, value, size);
+
+ return (ret == -1) ? -1 : 0;
+}
+
+int
+fremovexattr(int fd, const char *key)
+{ return extattr_delete_fd(fd, EXTATTR_NAMESPACE_USER, key); }
+{
+ return extattr_delete_fd(fd, xattr_native_ns(key), key);
+}
+
+ssize_t
+flistxattr(int fd, void *value, size_t size)
+{ return extattr_list_fd(fd, EXTATTR_NAMESPACE_USER, value, size); }
+{
+ ssize_t syslen;
+ ssize_t usrlen;
+
+ usrlen = extattr_list_fd(fd, EXTATTR_NAMESPACE_USER, value, size);
+ if (usrlen == -1)
+ return -1;
+
+ if (value != NULL) {
+ xattr_native_list(value, usrlen);
+ value += usrlen;
+ size -= usrlen;
+ }
+
+ syslen = extattr_list_fd(fd, EXTATTR_NAMESPACE_SYSTEM, value, size);
+ if (usrlen == -1)
+ return usrlen;
+
+ if (value != NULL)
+ xattr_native_list(value, syslen);
+
+ return usrlen + syslen;
+}
+
+ssize_t
+fgetxattr(int fd, const char *key, void *value, size_t size)
+{ return extattr_get_fd(fd, EXTATTR_NAMESPACE_USER, key, value, size); }
+{
+ return extattr_get_fd(fd, xattr_native_ns(key), key, value, size);
+}
+
+int
+fsetxattr(int fd, const char *key, const void *value, size_t size)
+{ return extattr_set_fd(fd, EXTATTR_NAMESPACE_USER, key, value, size); }
+{
+ ssize_t ret;
+
+ ret = extattr_set_fd(fd, xattr_native_ns(key), key, value, size);
+
+ return (ret == -1) ? -1 : 0;
+}
+
+int
+lremovexattr(const char *path, const char *key)
+{ return extattr_delete_link(path, EXTATTR_NAMESPACE_USER, key); }
+{
+ return extattr_delete_link(path, xattr_native_ns(key), key);
+}
+
+ssize_t
+llistxattr(const char *path, void *value, size_t size)
+{ return extattr_list_link(path, EXTATTR_NAMESPACE_USER, value, size); }
+{
+ ssize_t syslen;
+ ssize_t usrlen;
+
+ usrlen = extattr_list_link(path, EXTATTR_NAMESPACE_USER, value, size);
+ if (usrlen == -1)
+ return -1;
+
+ if (value != NULL) {
+ xattr_native_list(value, usrlen);
+ value += usrlen;
+ size -= usrlen;
+ }
+
+ syslen = extattr_list_link(path, EXTATTR_NAMESPACE_SYSTEM, value, size);
+ if (usrlen == -1)
+ return usrlen;
+
+ if (value != NULL)
+ xattr_native_list(value, syslen);
+
+ return usrlen + syslen;
+}
+
+ssize_t
+lgetxattr(const char *path, const char *key, void *value, size_t size)
+{ return extattr_get_link(path, EXTATTR_NAMESPACE_USER, key, value, size); }
+{
+ return extattr_get_link(path, xattr_native_ns(key), key, value, size);
+}
+
+int
+lsetxattr(const char *path, const char *key, const void *value, size_t size)
+{ return extattr_set_link(path, EXTATTR_NAMESPACE_USER, key, value, size); }
+{
+ ssize_t ret;
+
+ ret = extattr_set_link(path, xattr_native_ns(key), key, value, size);
+
+ return (ret == -1) ? -1 : 0;
+}
+
+#endif /* HAVE_SYS_XATTR_H */
+#endif /* __NetBSD__ */
+
#ifndef HAVE_STRNLEN
size_t
strnlen(const char *string, size_t maxlen)

View file

@ -1,12 +1,12 @@
$NetBSD: patch-bf,v 1.3 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-bf,v 1.4 2011/07/08 08:02:57 manu Exp $
basename() and dirname() are not supposed to be thread-safe, and NetBSD's
implementation is not. glusterfs assume the functions are thread-safe.
Borrow basename() and rdirname() form glibc and make NetBSD use them.
--- libglusterfs/src/compat.h.orig 2011-04-22 19:37:28.000000000 +0200
+++ libglusterfs/src/compat.h 2011-05-19 12:45:53.000000000 +0200
@@ -57,9 +57,9 @@
--- libglusterfs/src/compat.h.orig 2011-06-10 18:59:04.000000000 +0200
+++ libglusterfs/src/compat.h 2011-07-07 18:30:56.000000000 +0200
@@ -57,26 +57,31 @@
#endif /* HAVE_LLISTXATTR */
#endif /* GF_LINUX_HOST_OS */
@ -17,7 +17,29 @@ Borrow basename() and rdirname() form glibc and make NetBSD use them.
#define UNIX_PATH_MAX 104
#include <sys/types.h>
@@ -110,8 +110,15 @@
#include <sys/un.h>
#include <sys/endian.h>
#include <sys/extattr.h>
+#ifdef HAVE_SYS_XATTR_H
+#include <sys/xattr.h>
+#endif /* HAVE_SYS_XATTR_H */
#include <limits.h>
#include <libgen.h>
+#ifndef XATTR_CREATE
enum {
ATTR_CREATE = 1,
#define XATTR_CREATE ATTR_CREATE
ATTR_REPLACE = 2
#define XATTR_REPLACE ATTR_REPLACE
};
+#endif /* XATTR_CREATE */
#ifndef sighandler_t
#define sighandler_t sig_t
@@ -110,8 +115,15 @@
#define F_GETLK64 F_GETLK
#define F_SETLK64 F_SETLK
#define F_SETLKW64 F_SETLKW

View file

@ -1,4 +1,4 @@
$NetBSD: patch-bh,v 1.2 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-bh,v 1.3 2011/07/08 08:02:57 manu Exp $
NetBSD's <dirent.h> does a #defiine d_ino d_fileno. Since glusterfs
declares structs with d_ino members, we must include <dirent.h> early

View file

@ -1,4 +1,4 @@
$NetBSD: patch-bj,v 1.2 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-bj,v 1.3 2011/07/08 08:02:57 manu Exp $
Make sure NetBSD pulls proper FUSE header
--- xlators/mount/fuse/src/fuse-bridge.h.orig 2011-04-22 19:37:28.000000000 +0200
+++ xlators/mount/fuse/src/fuse-bridge.h 2011-05-19 12:48:31.000000000 +0200

View file

@ -1,4 +1,4 @@
$NetBSD: patch-bk,v 1.2 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-bk,v 1.3 2011/07/08 08:02:57 manu Exp $
Add missing xdr_sizeof() in NetBSD. Stollen from
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/xdr/xdr_sizeof.c?rev=1.1

View file

@ -1,4 +1,4 @@
$NetBSD: patch-bl,v 1.1 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-bl,v 1.2 2011/07/08 08:02:57 manu Exp $
#include <signal.h> for SIGTERM

View file

@ -1,4 +1,4 @@
$NetBSD: patch-bm,v 1.1 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-bm,v 1.2 2011/07/08 08:02:57 manu Exp $
Add xdr-sizeof() to the build

View file

@ -1,4 +1,4 @@
$NetBSD: patch-bn,v 1.1 2011/05/19 14:54:23 manu Exp $
$NetBSD: patch-bn,v 1.2 2011/07/08 08:02:57 manu Exp $
Add xdr-sizeof() to the build

View file

@ -1,4 +1,4 @@
$NetBSD: patch-bp,v 1.1 2011/06/06 15:53:14 manu Exp $
$NetBSD: patch-bp,v 1.2 2011/07/08 08:02:57 manu Exp $
NetBSD does not have umount(2), but unmount(2)

View file

@ -1,16 +1,5 @@
$NetBSD: patch-bq,v 1.2 2011/06/07 07:27:11 manu Exp $
Make sur glusterfsd uses the same address family as glusterd.
glusterfsd uses getaddrinfo and picks the first entry for its
listening address. The first entry is of inet6 family on
NetBSD. Even if glusterd was started with option
transport.address-family inet, we ended with glusterfsd
using inet6. Since the client assumes glusterd and glusterfsd
use the same address family, it could not reach glusterfsd.
--- xlators/mgmt/glusterd/src/glusterd-utils.c.orig 2011-06-06 10:28:42.000000000 +0200
+++ xlators/mgmt/glusterd/src/glusterd-utils.c 2011-06-06 16:17:30.000000000 +0200
--- xlators/mgmt/glusterd/src/glusterd-utils.c.orig 2011-06-10 18:59:07.000000000 +0200
+++ xlators/mgmt/glusterd/src/glusterd-utils.c 2011-07-03 03:37:40.000000000 +0200
@@ -88,8 +88,52 @@
//TODO: set timestamp
return 0;
@ -64,8 +53,8 @@ use the same address family, it could not reach glusterfsd.
glusterd_is_loopback_localhost (const struct sockaddr *sa, char *hostname)
{
GF_ASSERT (sa);
@@ -1026,8 +1070,10 @@
int port = 0;
@@ -1027,8 +1071,10 @@
int rdma_port = 0;
FILE *file = NULL;
gf_boolean_t is_locked = _gf_false;
char socketpath[PATH_MAX] = {0};
@ -75,27 +64,25 @@ use the same address family, it could not reach glusterfsd.
GF_ASSERT (volinfo);
GF_ASSERT (brickinfo);
@@ -1106,14 +1152,19 @@
@@ -1107,14 +1153,19 @@
port = brickinfo->port;
if (!port)
port = pmap_registry_alloc (THIS);
+ if ((family_name = glusterd_listener_family_name()) != NULL)
+ snprintf (family_option, 8192,
+ if ((family_name = glusterd_listener_family_name()) != NULL)
+ snprintf (family_option, 8192,
+ "--xlator-option %s-server.transport.address-family=%s ",
+ volinfo->volname, family_name);
+
snprintf (cmd_str, 8192,
"%s/sbin/glusterfsd --xlator-option %s-server.listen-port=%d "
- "-s localhost --volfile-id %s -p %s -S %s --brick-name %s "
- "--brick-port %d -l %s", GFS_PREFIX, volinfo->volname,
- port, volfile, pidfile, socketpath, brickinfo->path, port,
- brickinfo->logfile);
+ "%s -s localhost --volfile-id %s -p %s -S %s --brick-name %s "
+ "--brick-port %d -l %s", GFS_PREFIX, volinfo->volname, port,
+ family_option, volfile, pidfile, socketpath, brickinfo->path,
+ port, brickinfo->logfile);
gf_log ("",GF_LOG_DEBUG,"Starting GlusterFS Command Executed: \n %s \n", cmd_str);
ret = gf_system (cmd_str);
if (volinfo->transport_type != GF_TRANSPORT_BOTH_TCP_RDMA) {
snprintf (cmd_str, 8192,
"%s/sbin/glusterfsd --xlator-option %s-server.listen-port=%d "
- "-s localhost --volfile-id %s -p %s -S %s --brick-name %s "
+ "%s -s localhost --volfile-id %s -p %s -S %s --brick-name %s "
"--brick-port %d -l %s", GFS_PREFIX, volinfo->volname,
- port, volfile, pidfile, socketpath, brickinfo->path, port,
+ port, family_option, volfile, pidfile, socketpath, brickinfo->path, port,
brickinfo->logfile);
} else {
rdma_port = brickinfo->rdma_port;
if (!rdma_port)

View file

@ -0,0 +1,28 @@
$NetBSD: patch-br,v 1.1 2011/07/08 08:02:57 manu Exp $
Hide .attribute to glusterfs clients in order to make sure it will
not be distributed by the cluster/dht xlator
--- xlators/storage/posix/src/posix.c.orig 2011-06-19 11:02:41.000000000 +0200
+++ xlators/storage/posix/src/posix.c 2011-06-19 11:05:41.000000000 +0200
@@ -4094,8 +4094,21 @@
if ((!strcmp(real_path, base_path))
&& (!strcmp(entry->d_name, GF_REPLICATE_TRASH_DIR)))
continue;
+#ifdef __NetBSD__
+ /*
+ * NetBSD with UFS1 backend uses backing files for
+ * extended attributes. They can be found in a
+ * .attribute file located at the root of the filesystem
+ * We hide it to glusterfs clients, since chaos will occur
+ * when the cluster/dht xlator decides to distribute
+ * exended attribute backing file accross storage servers.
+ */
+ if ((!strcmp(real_path, base_path))
+ && (!strcmp(entry->d_name, ".attribute")))
+ continue;
+#endif /* __NetBSD__ */
if ((!strcmp (real_path, base_path))
&& (!strncmp (GF_HIDDEN_PATH, entry->d_name,
strlen(GF_HIDDEN_PATH)))) {

View file

@ -0,0 +1,84 @@
$NetBSD: patch-bs,v 1.1 2011/07/08 08:02:57 manu Exp $
Actually use the Linux [lf]?(set|get|list|remove)xattr reimplementation
we have in libglusterfs/src/compat.c
--- libglusterfs/src/syscall.c.orig 2011-06-25 03:34:26.000000000 +0200
+++ libglusterfs/src/syscall.c 2011-06-25 03:39:37.000000000 +0200
@@ -267,9 +267,9 @@
sys_lsetxattr (const char *path, const char *name, const void *value,
size_t size, int flags)
{
-#ifdef GF_LINUX_HOST_OS
+#if defined(GF_LINUX_HOST_OS) || defined(__NetBSD__)
return lsetxattr (path, name, value, size, flags);
#endif
#ifdef GF_BSD_HOST_OS
@@ -292,9 +292,9 @@
ssize_t
sys_llistxattr (const char *path, char *list, size_t size)
{
-#ifdef GF_LINUX_HOST_OS
+#if defined(GF_LINUX_HOST_OS) || defined(__NetBSD__)
return llistxattr (path, list, size);
#endif
#ifdef GF_BSD_HOST_OS
@@ -315,9 +315,9 @@
ssize_t
sys_lgetxattr (const char *path, const char *name, void *value, size_t size)
{
-#ifdef GF_LINUX_HOST_OS
+#if defined(GF_LINUX_HOST_OS) || defined(__NetBSD__)
return lgetxattr (path, name, value, size);
#endif
#ifdef GF_BSD_HOST_OS
@@ -339,9 +339,9 @@
ssize_t
sys_fgetxattr (int filedes, const char *name, void *value, size_t size)
{
-#ifdef GF_LINUX_HOST_OS
+#if defined(GF_LINUX_HOST_OS) || defined(__NetBSD__)
return fgetxattr (filedes, name, value, size);
#endif
#ifdef GF_BSD_HOST_OS
@@ -364,9 +364,9 @@
sys_fsetxattr (int filedes, const char *name, const void *value,
size_t size, int flags)
{
-#ifdef GF_LINUX_HOST_OS
+#if defined(GF_LINUX_HOST_OS) || defined(__NetBSD__)
return fsetxattr (filedes, name, value, size, flags);
#endif
#ifdef GF_BSD_HOST_OS
@@ -388,9 +388,9 @@
ssize_t
sys_flistxattr (int filedes, char *list, size_t size)
{
-#ifdef GF_LINUX_HOST_OS
+#if defined(GF_LINUX_HOST_OS) || defined(__NetBSD__)
return flistxattr (filedes, list, size);
#endif
#ifdef GF_BSD_HOST_OS
@@ -411,9 +411,9 @@
int
sys_lremovexattr (const char *path, const char *name)
{
-#ifdef GF_LINUX_HOST_OS
+#if defined(GF_LINUX_HOST_OS) || defined(__NetBSD__)
return lremovexattr (path, name);
#endif
#ifdef GF_BSD_HOST_OS

View file

@ -0,0 +1,28 @@
$NetBSD: patch-bt,v 1.1 2011/07/08 08:02:57 manu Exp $
Fix the io-threads xlator, which forgot to initialize its pthread
condition and mutex.
--- xlators/performance/io-threads/src/io-threads.c.orig
+++ xlators/performance/io-threads/src/io-threads.c
@@ -2181,8 +2181,20 @@
"out of memory");
goto out;
}
+ if ((ret = pthread_cond_init(&conf->cond, NULL)) != 0) {
+ gf_log (this->name, GF_LOG_ERROR,
+ "pthread_cond_init failed (%d)", ret);
+ goto out;
+ }
+
+ if ((ret = pthread_mutex_init(&conf->mutex, NULL)) != 0) {
+ gf_log (this->name, GF_LOG_ERROR,
+ "pthread_mutex_init failed (%d)", ret);
+ goto out;
+ }
+
set_stack_size (conf);
thread_count = IOT_DEFAULT_THREADS;