Merge remote branch 'origin/debian' into unstable

This commit is contained in:
Sage Weil 2010-07-21 13:30:02 -07:00
commit 6aa32f8c26
39 changed files with 66 additions and 1465 deletions

1
debian/README.ceph vendored
View File

@ -1 +0,0 @@
This is a meta package to obtain all the ceph file system packages.

View File

@ -1,10 +0,0 @@
# Defaults for ceph initscript
# sourced by /etc/init.d/ceph
# installed at /etc/default/ceph by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Additional options that are passed to the Daemon.
DAEMON_OPTS=""

View File

@ -1 +0,0 @@
usr/bin

View File

@ -1 +0,0 @@
usr/src/modules

View File

@ -1 +0,0 @@
usr/src/*

5
debian/ceph.dirs vendored
View File

@ -1,8 +1,3 @@
sbin
usr/bin
usr/sbin
etc/ceph
usr/share/doc/ceph
var/log/ceph
var/log/ceph/stat
var/lib/ceph/tmp

View File

@ -1,22 +0,0 @@
Document: ceph
Title: Debian ceph Manual
Author: <insert document author here>
Abstract: This manual describes what ceph is
and how it can be used to
manage online manuals on Debian systems.
Section: unknown
Format: debiandoc-sgml
Files: /usr/share/doc/ceph/ceph.sgml.gz
Format: postscript
Files: /usr/share/doc/ceph/ceph.ps.gz
Format: text
Files: /usr/share/doc/ceph/ceph.text.gz
Format: HTML
Index: /usr/share/doc/ceph/html/index.html
Files: /usr/share/doc/ceph/html/*.html

2
debian/ceph.docs vendored
View File

@ -1 +1 @@
#DOCS#
README

249
debian/changelog vendored
View File

@ -1,250 +1,5 @@
ceph (0.20-1) unstable; urgency=low
* osd: new journaling infrastructure
* msgr: wire protocol improvements
* mds: reduced memory utilization (still more to do!)
* mds: many single mds fixes
* mds: many clustered mds fixes
* auth: many auth_x cleanups, fixes, improvements
* kclient: many bug fixes
* librados: some cleanup, c++ api now usable
-- Sage Weil <sage@newdream.net> Fri, 23 Apr 2010 12:10:04 -0800
ceph (0.19.1-1) unstable; urgency=low
* init-ceph: don't fail when /bin/sh is dash
* mds: fix sessionmap decoding
* Makefile: put mount.ceph is /sbin
-- Sage Weil <sage@newdream.net> Mon, 01 Mar 2010 10:04:04 -0800
ceph (0.19-1) unstable; urgency=low
* msgr: simplification, cleanup, fixes
* msgr: tids in message header (protocol change)
* msgr: feature bits during handshake
* disk format, compat/incompat features for disk format
* struct versioning throughout, to ease future disk format changes
* truncation fixes
* cephx: lots of fixes, mkcephfs support
* debian: packaging fixes
* rados: pool deletion
* osd: recovery fixes
* misc protocol changes
* misc bug fixes
-- Sage Weil <sage@newdream.net> Wed, 17 Feb 2009 13:50:00 -0800
ceph (0.18-1) unstable; urgency=low
* crush: selectable hash functions
* osdmap: selectable hash functions
* osd: basic ENOSPC handling
* big endian fixes
* mds restart fixes
* mds: fixed mds log trimming bug
* mds: fixed cap vs snap deadlock
* mds: fix journaling nesting problems
* mds: fix replay/reconnect race
* mds: misc journal replay, session fixes
* mds: fixed recursive accounting bug
* filestore: faster flushing
* uclient: snapshot fixes
* uclient: fixes for 32bit clients
* mon: safely bail (assert(0)) on write errors (like ENOSPC)
-- Sage Weil <sage@newdream.net> Fri, 4 Dec 2009 10:01:00 -0800
ceph (0.17-1) unstable; urgency=low
* kclient: fix multiple mds mdsmap decoding
* kclient: fix mon subscription renewal
* crush: fix map creation with empty buckets (larger clusters)
* osdmap: fix encoding bug (crashed kclient)
* msgr: simplified policy, failure model
* mon: less push, more pull
* mon: request routing. clients keep single session with single monitor
* mon cluster expansion works
* osd: fix pg parsing, restarts on larger clusters
-- sage <sage@newdream.net> Mon, 19 Oct 2009 15:20:00 -0800
ceph (0.16.1-1) unstable; urgency=low
* missing buffer.c
* rgw build problem on i386
-- sage <sage@newdream.net> Tue, 06 Oct 2009 10:29:00 -0800
ceph (0.16-1) unstable; urgency=low
* libceph: identify self
* hadoop: write to local osd
* disk format, wire changes
* use sockaddr_storage throughout
* kclient: fix msgr bug
* kclient: uninline strings, use pr_fmt, prefix frag_ macros
* kclient: lots of inline cleanups
* kclient: misc akpm review cleanups
-- sage <sage@newdream.net> Mon, 05 Oct 2009 14:54:00 -0800
ceph (0.15-1) unstable; urgency=low
* msgr: clean up protocol checks; ack seq # fix
* monclient: fixes
* debian: radosgw package, fix header permissions
* kclient: checkpatch fixes, cleanups.
* kclient: msg revoke, clean up interface
* kclient: GET_DATALOC ioctl
* kclient: osdc bug fix
* kclient: clean up debugfs layout
-- sage <sage@newdream.net> Tue, 22 Sep 2009 10:15:00 -0800
ceph (0.14-1) unstable; urgency=low
* mds: dir backpointers updated on rename (for fsck)
* uclient: many bugs fixed
* msgr: many messenger protocol changes... much more client-server like
* mon: subscriptions for osd, mds maps
* libceph: lots of fixes
* kclient: cleanups, new msgr. no msgpools (for now)
* deb packages fixed up
-- sage <sage@newdream.net> Mon, 8 Sep 2009 14:48:00 -0800
ceph (0.13-1) unstable; urgency=low
* osd: stay active during backlog generation
* osdmap: override mappings (pg_temp)
* kclient: some improvements in kmalloc, memory preallocation
* [ku]lcient: fix sync read vs eof, lseek(..., SEEK_END)
* mds: misc bugfixes for multiclient file access
-- sage <sage@newdream.net> Mon, 24 Aug 2009 10:43:00 -0800
ceph (0.12-1) unstable; urgency=low
* kclient: mapping_set_error in writepage, layout ioctl, writeback mempools, cap writeback, fsync
* mds: various clustering fixes
* uclient: misc fixes
* msgr: fixed bad fd close (causing spurious EBADF errors)
-- sage <sage@newdream.net> Wed, 5 Aug 2009 13:58:00 -0800
ceph (0.11-1) unstable; urgency=low
* kclient fixes, clean (lkml review)
* improved encoding of on-wire types
* mount.ceph now updates /etc/mtab
* uclient: fix rename() refcount bug
-- sage <sage@newdream.net> Tue, 12 Jul 2009 12:36:00 -0800
ceph (0.10-1) unstable; urgency=low
* uclient fixes
* libceph
* mds: trivialmap encoding (efficient dir updates)
* mds: reconnect fixes
* osd: recovery, corruption fixes
* kclient: unaligned access fixes
-- sage <sage@newdream.net> Tue, 15 Jul 2009 13:26:00 -0800
ceph (0.9-1) unstable; urgency=low
* mds exherts memory pressure on clients
* initial version of librados
* object classes
* a few critical crush bugfixes
* osd recovery fixes
* objects are strings
* improved metadata to eventually aid in disaster recovery
* kclient: fixed snap vs truncate bug
* kclient: readdir fixes
-- sage <sage@newdream.net> Thu, 18 Jun 2009 13:18:00 -0800
ceph (0.8-1) unstable; urgency=low
* mount error reporting
* fix mds file size/mtime recovery
* crush fixes
* mds cap fixes
* support Linux 2.6.30
-- sage <sage@newdream.net> Tue, 19 May 2009 13:57:22 -0800
ceph (0.7.3-1) unstable; urgency=low
* new caps strategy
* simplier mds<->client protocol
* lots of mds cleanups (locking, caps, path_traverse)
* kclient: dcache readdir
* kclient: async xattrs
* fixed lots of memory leaks
* metadata format version on disk
* adjustable object replication
-- sage <sage@newdream.net> Fri, 1 May 2009 13:57:22 -0800
ceph (0.7.2-1) unstable; urgency=low
* osd ack+sync handling in kclient
* rdcap renewal
* better mon logging
* mds clustering fixes
* better tunables on kclient
-- sage <sage@newdream.net> Tue, 2 Apr 2009 13:57:22 -0800
ceph (0.7.1-1) unstable; urgency=low
* O_DIRECT
* single configuration file
* lease renewal
-- sage <sage@newdream.net> Mon, 16 Mar 2009 13:57:22 -0800
ceph (0.7-1) unstable; urgency=low
* smart osd sync
* osd bug fixes
* fast truncate
* improved start/stop scripts
* new cluster configuration files, framework
* /proc/fs/ceph -> /sys/fs/ceph on kclient
-- sage <sage@newdream.net> Thu, 5 Mar 2009 13:57:22 -0800
ceph (0.6-1) unstable; urgency=low
* OSD scrub, fixes
* async metadata ops
-- sage <sage@newdream.net> Thu, 1 Jan 2009 13:57:22 -0800
ceph (0.5-1) unstable; urgency=low
* OSD bug fixes
* btrfs ioctl interface
* efficient snap recovery
* throttled osd recovery
* forced unmount
-- sage <sage@newdream.net> Thu, 13 Nov 2008 13:57:22 -0800
ceph (0.4-1) unstable; urgency=low
* Snapshots.
-- sage <sage@newdream.net> Thu, 9 Oct 2008 13:57:22 -0800
ceph (0.3-1) unstable; urgency=low
ceph (0.20.2-1) unstable; urgency=low
* Initial release (Closes: #506040)
-- sage <sage@newdream.net> Mon, 28 Jan 2008 15:09:44 -0800
-- sage <sage@newdream.net> Tue, 20 Jul 2010 19:40:44 -0800

View File

@ -1,22 +0,0 @@
Source: ceph
Section: contrib/otherosfs
Priority: extra
Maintainer: sage <sage@newdream.net>
Build-Depends: debhelper (>= 5)
Standards-Version: 0.3
Package: ceph-modules-_KVERS_
Architecture: any
Depends: linux-modules-_KVERS_ | linux-image-_KVERS_
Provides: ceph-modules
Description: ceph modules for Linux (kernel _KVERS_)
This package contains the set of loadable kernel modules for the
ceph distributed parallel file system.
.
This package contains the compiled kernel modules for _KVERS_
.
If you have compiled your own kernel, you will most likely need to build
your own ceph-modules. The ceph-source package has been
provided for use with the Debian's module-assistant or kernel-package
utilities to produce a version of ceph-modules for your kernel.

63
debian/copyright vendored
View File

@ -1,10 +1,69 @@
This package was debianized by Sage Weil <sage@newdream.net> on
This package was debianized for Ubuntu by Clint Byrum <clint@ubuntu.com> on
Tue Jul 20 12:55:12 UTC 2010
This package was originally debianized by Sage Weil <sage@newdream.net> on
Mon, 28 Jan 2008 14:58:17 -0800.
(see changelog.upstream)
It was downloaded from <http://ceph.newdream.net/>.
Upstream Author: Sage Weil <sage@newdream.net>
Copyright: (c) 2004-2009 by Sage Weil <sage@newdream.net>
Files: *
Copyright: (c) 2004-2010 by Sage Weil <sage@newdream.net>
License: LGPL2.1 (see /usr/share/common-licenses/LGPL-2.1)
Files: src/client/fuse.cc
Copyright:
Copyright (C) 2001-2005 Miklos Szeredi <miklos@szeredi.hu>
Copyright (C) 2004-2006 Sage Weil <sage@newdream.net>
License: GPL
Files: src/osbdb/OSBDB.h
Copyright: Copyright (C) 2007 Casey Marshall <csm@soe.ucsc.edu>
License: LGPL2.1
Files: src/mount/canonicalize.c
Copyright: Copyright (C) 1993 Rick Sladkey <jrs@world.std.com>
License: LGPL2 or later
Files: src/os/btrfs_ioctl.h
Copyright: Copyright (C) 2007 Oracle. All rights reserved.
License: LGPL2
Files: src/common/sctp_crc32.c:
Copyright:
Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved.
Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
License:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
a) Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
b) Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.
c) Neither the name of Cisco Systems, Inc. nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
Packaging:
Copyright (C) 2004-2009 by Sage Weil <sage@newdream.net>
Copyright (C) 2010 Canonical, Ltd.
Licensed under LGPL-2.1

4
debian/cron.d.ex vendored
View File

@ -1,4 +0,0 @@
#
# Regular cron jobs for the ceph package
#
0 4 * * * root ceph_maintenance

2
debian/dirs vendored
View File

@ -1,2 +0,0 @@
usr/bin
usr/sbin

2
debian/docs vendored
View File

@ -1,2 +0,0 @@
NEWS
README

View File

@ -1,45 +0,0 @@
#! /bin/sh -e
# /usr/lib/emacsen-common/packages/install/ceph
# Written by Jim Van Zandt <jrv@debian.org>, borrowing heavily
# from the install scripts for gettext by Santiago Vila
# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
FLAVOR=$1
PACKAGE=ceph
if [ ${FLAVOR} = emacs ]; then exit 0; fi
echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
#FLAVORTEST=`echo $FLAVOR | cut -c-6`
#if [ ${FLAVORTEST} = xemacs ] ; then
# SITEFLAG="-no-site-file"
#else
# SITEFLAG="--no-site-file"
#fi
FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
# Install-info-altdir does not actually exist.
# Maybe somebody will write it.
if test -x /usr/sbin/install-info-altdir; then
echo install/${PACKAGE}: install Info links for ${FLAVOR}
install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/share/info/${PACKAGE}.info.gz
fi
install -m 755 -d ${ELCDIR}
cd ${ELDIR}
FILES=`echo *.el`
cp ${FILES} ${ELCDIR}
cd ${ELCDIR}
cat << EOF > path.el
(setq load-path (cons "." load-path) byte-compile-warnings nil)
EOF
${FLAVOR} ${FLAGS} ${FILES}
rm -f *.el path.el
exit 0

View File

@ -1,15 +0,0 @@
#!/bin/sh -e
# /usr/lib/emacsen-common/packages/remove/ceph
FLAVOR=$1
PACKAGE=ceph
if [ ${FLAVOR} != emacs ]; then
if test -x /usr/sbin/install-info-altdir; then
echo remove/${PACKAGE}: removing Info links for ${FLAVOR}
install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/share/info/ceph.info.gz
fi
echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
fi

View File

@ -1,25 +0,0 @@
;; -*-emacs-lisp-*-
;;
;; Emacs startup file, e.g. /etc/emacs/site-start.d/50ceph.el
;; for the Debian ceph package
;;
;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
;; Modified by Dirk Eddelbuettel <edd@debian.org>
;; Adapted for dh-make by Jim Van Zandt <jrv@debian.org>
;; The ceph package follows the Debian/GNU Linux 'emacsen' policy and
;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
;; xemacs19, emacs20, xemacs20...). The compiled code is then
;; installed in a subdirectory of the respective site-lisp directory.
;; We have to add this to the load-path:
(let ((package-dir (concat "/usr/share/"
(symbol-name flavor)
"/site-lisp/ceph")))
;; If package-dir does not exist, the ceph package must have
;; removed but not purged, and we should skip the setup.
(when (file-directory-p package-dir)
(setq load-path (cons package-dir load-path))
(autoload 'ceph-mode "ceph-mode"
"Major mode for editing ceph files." t)
(add-to-list 'auto-mode-alist '("\\.ceph$" . ceph-mode))))

157
debian/init.d.ex vendored
View File

@ -1,157 +0,0 @@
#! /bin/sh
#
# skeleton example file to build /etc/init.d/ scripts.
# This file should be used to construct scripts for /etc/init.d.
#
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian
# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
# Further changes by Javier Fernandez-Sanguino <jfs@debian.org>
#
# Version: @(#)skeleton 1.9 26-Feb-2001 miquels@cistron.nl
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/ceph
NAME=ceph
DESC=ceph
test -x $DAEMON || exit 0
LOGDIR=/var/log/ceph
PIDFILE=/var/run/$NAME.pid
DODTIME=1 # Time to wait for the server to die, in seconds
# If this value is set too low you might not
# let some servers to die gracefully and
# 'restart' will not work
# Include ceph defaults if available
if [ -f /etc/default/ceph ] ; then
. /etc/default/ceph
fi
set -e
running_pid()
{
# Check if a given process pid's cmdline matches a given name
pid=$1
name=$2
[ -z "$pid" ] && return 1
[ ! -d /proc/$pid ] && return 1
cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
# Is this the expected child?
[ "$cmd" != "$name" ] && return 1
return 0
}
running()
{
# Check if the process is running looking at /proc
# (works for all users)
# No pidfile, probably no daemon present
[ ! -f "$PIDFILE" ] && return 1
# Obtain the pid and check it against the binary name
pid=`cat $PIDFILE`
running_pid $pid $NAME || return 1
return 0
}
force_stop() {
# Forcefully kill the process
[ ! -f "$PIDFILE" ] && return
if running ; then
kill -15 $pid
# Is it really dead?
[ -n "$DODTIME" ] && sleep "$DODTIME"s
if running ; then
kill -9 $pid
[ -n "$DODTIME" ] && sleep "$DODTIME"s
if running ; then
echo "Cannot kill $LABEL (pid=$pid)!"
exit 1
fi
fi
fi
rm -f $PIDFILE
return 0
}
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- $DAEMON_OPTS
if running then
echo "$NAME."
else
echo " ERROR."
fi
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
--exec $DAEMON
echo "$NAME."
;;
force-stop)
echo -n "Forcefully stopping $DESC: "
force_stop
if ! running then
echo "$NAME."
else
echo " ERROR."
fi
;;
#reload)
#
# If the daemon can reload its config files on the fly
# for example by sending it SIGHUP, do it here.
#
# If the daemon responds to changes in its config file
# directly anyway, make this a do-nothing entry.
#
# echo "Reloading $DESC configuration files."
# start-stop-daemon --stop --signal 1 --quiet --pidfile \
# /var/run/$NAME.pid --exec $DAEMON
#;;
force-reload)
#
# If the "reload" option is implemented, move the "force-reload"
# option to the "reload" entry above. If not, "force-reload" is
# just the same as "restart" except that it does nothing if the
# daemon isn't already running.
# check wether $DAEMON is running. If so, restart
start-stop-daemon --stop --test --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON \
&& $0 restart \
|| exit 0
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
[ -n "$DODTIME" ] && sleep $DODTIME
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
status)
echo -n "$LABEL is "
if running ; then
echo "running"
else
echo " not running."
exit 1
fi
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload|status|force-stop}" >&2
exit 1
;;
esac
exit 0

281
debian/init.d.lsb.ex vendored
View File

@ -1,281 +0,0 @@
#!/bin/sh
#
# Example init.d script with LSB support.
#
# Please read this init.d carefully and modify the sections to
# adjust it to the program you want to run.
#
# Copyright (c) 2007 Javier Fernandez-Sanguino <jfs@debian.org>
#
# This is free software; you may redistribute it and/or modify
# it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2,
# or (at your option) any later version.
#
# This is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License with
# the Debian operating system, in /usr/share/common-licenses/GPL; if
# not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
#
### BEGIN INIT INFO
# Provides: ceph
# Required-Start: $network $local_fs
# Required-Stop:
# Should-Start: $named
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: <Enter a short description of the sortware>
# Description: <Enter a long description of the software>
# <...>
# <...>
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/ceph # Introduce the server's location here
NAME=#PACKAGE # Introduce the short server's name here
DESC=#PACKAGE # Introduce a short description here
LOGDIR=/var/log/ceph # Log directory to use
PIDFILE=/var/run/$NAME.pid
test -x $DAEMON || exit 0
test -x $DAEMON_WRAPPER || exit 0
. /lib/lsb/init-functions
# Default options, these can be overriden by the information
# at /etc/default/$NAME
DAEMON_OPTS="" # Additional options given to the server
DODTIME=10 # Time to wait for the server to die, in seconds
# If this value is set too low you might not
# let some servers to die gracefully and
# 'restart' will not work
LOGFILE=$LOGDIR/$NAME.log # Server logfile
#DAEMONUSER=ceph # Users to run the daemons as. If this value
# is set start-stop-daemon will chuid the server
# Include defaults if available
if [ -f /etc/default/$NAME ] ; then
. /etc/default/$NAME
fi
# Use this if you want the user to explicitly set 'RUN' in
# /etc/default/
#if [ "x$RUN" != "xyes" ] ; then
# log_failure_msg "$NAME disabled, please adjust the configuration to your needs "
# log_failure_msg "and then set RUN to 'yes' in /etc/default/$NAME to enable it."
# exit 1
#fi
# Check that the user exists (if we set a user)
# Does the user exist?
if [ -n "$DAEMONUSER" ] ; then
if getent passwd | grep -q "^$DAEMONUSER:"; then
# Obtain the uid and gid
DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'`
DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'`
else
log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist."
exit 1
fi
fi
set -e
running_pid() {
# Check if a given process pid's cmdline matches a given name
pid=$1
name=$2
[ -z "$pid" ] && return 1
[ ! -d /proc/$pid ] && return 1
cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
# Is this the expected server
[ "$cmd" != "$name" ] && return 1
return 0
}
running() {
# Check if the process is running looking at /proc
# (works for all users)
# No pidfile, probably no daemon present
[ ! -f "$PIDFILE" ] && return 1
pid=`cat $PIDFILE`
running_pid $pid $DAEMON_WRAPPER || return 1
return 0
}
start_server() {
# Start the process using the wrapper
if [ -z "$DAEMONUSER" ] ; then
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- $DAEMON_OPTS
errcode=$?
else
# if we are using a daemonuser then change the user id
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--chuid $DAEMONUSER \
--exec $DAEMON -- $DAEMON_OPTS
errcode=$?
fi
return $errcode
}
stop_server() {
# Stop the process using the wrapper
if [ -z "$DAEMONUSER" ] ; then
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
--exec $DAEMON
errcode=$
else
# if we are using a daemonuser then look for process that match
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
--user $DAEMONUSER \
--exec $DAEMON
errcode=$
fi
return $errcode
}
reload_server() {
[ ! -f "$PIDFILE" ] && return 1
pid=`cat $PIDFILE` # This is the daemon's pid
# Send a SIGHUP
kill -1 $pid
return $?
}
force_stop() {
# Force the process to die killing it manually
[ ! -e "$PIDFILE" ] && return
if running ; then
kill -15 $pid
# Is it really dead?
sleep "$DIETIME"s
if running ; then
kill -9 $pid
sleep "$DIETIME"s
if running ; then
echo "Cannot kill $NAME (pid=$pid)!"
exit 1
fi
fi
fi
rm -f $PIDFILE
}
case "$1" in
start)
log_daemon_msg "Starting $DESC " "$NAME"
# Check if it's running first
if running ; then
log_progress_msg "apparently already running"
log_end_msg 0
exit 0
fi
if start_server && running ; then
# It's ok, the server started and is running
log_end_msg 0
else
# Either we could not start it or it is not running
# after we did
# NOTE: Some servers might die some time after they start,
# this code does not try to detect this and might give
# a false positive (use 'status' for that)
log_end_msg 1
fi
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
if running ; then
# Only stop the server if we see it running
stop_server
log_end_msg $?
else
# If it's not running don't do anything
log_progress_msg "apparently not running"
log_end_msg 0
exit 0
fi
;;
force-stop)
# First try to stop gracefully the program
$0 stop
if running; then
# If it's still running try to kill it more forcefully
log_daemon_msg "Stopping (force) $DESC" "$NAME"
force_stop
log_end_msg $?
fi
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
stop_server
# Wait some sensible amount, some server need this
[ -n "$DIETIME" ] && sleep $DIETIME
start_server
running
log_end_msg $?
;;
status)
log_daemon_msg "Checking status of $DESC" "$NAME"
if running ; then
log_progress_msg "running"
log_end_msg 0
else
log_progress_msg "apparently not running"
log_end_msg 1
exit 1
fi
;;
# Use this if the daemon cannot reload
reload)
log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
log_warning_msg "cannot re-read the config file (use restart)."
;;
# And this if it cann
#reload)
#
# If the daemon can reload its config files on the fly
# for example by sending it SIGHUP, do it here.
#
# If the daemon responds to changes in its config file
# directly anyway, make this a do-nothing entry.
#
# log_daemon_msg "Reloading $DESC configuration files" "$NAME"
# if running ; then
# reload_server
# if ! running ; then
# Process died after we tried to reload
# log_progress_msg "died on reload"
# log_end_msg 1
# exit 1
# fi
# else
# log_progress_msg "server is not running"
# log_end_msg 1
# exit 1
# fi
#;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0

View File

@ -1,2 +0,0 @@
/usr/lib
/usr/include/ceph

View File

@ -1 +0,0 @@
usr/lib

View File

@ -1,2 +0,0 @@
/usr/lib
/usr/include/crush

View File

@ -1 +0,0 @@
usr/lib

View File

@ -1,2 +0,0 @@
/usr/lib
/usr/include/rados

View File

@ -1 +0,0 @@
usr/lib

59
debian/manpage.1.ex vendored
View File

@ -1,59 +0,0 @@
.\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH CEPH SECTION "January 28, 2008"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
ceph \- program to do something
.SH SYNOPSIS
.B ceph
.RI [ options ] " files" ...
.br
.B bar
.RI [ options ] " files" ...
.SH DESCRIPTION
This manual page documents briefly the
.B ceph
and
.B bar
commands.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
\fBceph\fP is a program that...
.SH OPTIONS
These programs follow the usual GNU command line syntax, with long
options starting with two dashes (`-').
A summary of options is included below.
For a complete description, see the Info files.
.TP
.B \-h, \-\-help
Show summary of options.
.TP
.B \-v, \-\-version
Show version of program.
.SH SEE ALSO
.BR bar (1),
.BR baz (1).
.br
The programs are documented fully by
.IR "The Rise and Fall of a Fooish Bar" ,
available via the Info system.
.SH AUTHOR
ceph was written by <upstream author>.
.PP
This manual page was written by sage <sage@newdream.net>,
for the Debian project (but may be used by others).

156
debian/manpage.sgml.ex vendored
View File

@ -1,156 +0,0 @@
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!-- Process this file with docbook-to-man to generate an nroff manual
page: `docbook-to-man manpage.sgml > manpage.1'. You may view
the manual page with: `docbook-to-man manpage.sgml | nroff -man |
less'. A typical entry in a Makefile or Makefile.am is:
manpage.1: manpage.sgml
docbook-to-man $< > $@
The docbook-to-man binary is found in the docbook-to-man package.
Please remember that if you create the nroff version in one of the
debian/rules file targets (such as build), you will need to include
docbook-to-man in your Build-Depends control field.
-->
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
<!ENTITY dhsurname "<surname>SURNAME</surname>">
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>January 28, 2008</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>SECTION</manvolnum>">
<!ENTITY dhemail "<email>sage@newdream.net</email>">
<!ENTITY dhusername "sage">
<!ENTITY dhucpackage "<refentrytitle>CEPH</refentrytitle>">
<!ENTITY dhpackage "ceph">
<!ENTITY debian "<productname>Debian</productname>">
<!ENTITY gnu "<acronym>GNU</acronym>">
<!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
]>
<refentry>
<refentryinfo>
<address>
&dhemail;
</address>
<author>
&dhfirstname;
&dhsurname;
</author>
<copyright>
<year>2003</year>
<holder>&dhusername;</holder>
</copyright>
&dhdate;
</refentryinfo>
<refmeta>
&dhucpackage;
&dhsection;
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>program to do something</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>&dhpackage;</command>
<arg><option>-e <replaceable>this</replaceable></option></arg>
<arg><option>--example <replaceable>that</replaceable></option></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>This manual page documents briefly the
<command>&dhpackage;</command> and <command>bar</command>
commands.</para>
<para>This manual page was written for the &debian; distribution
because the original program does not have a manual page.
Instead, it has documentation in the &gnu;
<application>Info</application> format; see below.</para>
<para><command>&dhpackage;</command> is a program that...</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<para>These programs follow the usual &gnu; command line syntax,
with long options starting with two dashes (`-'). A summary of
options is included below. For a complete description, see the
<application>Info</application> files.</para>
<variablelist>
<varlistentry>
<term><option>-h</option>
<option>--help</option>
</term>
<listitem>
<para>Show summary of options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option>
<option>--version</option>
</term>
<listitem>
<para>Show version of program.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>bar (1), baz (1).</para>
<para>The programs are documented fully by <citetitle>The Rise and
Fall of a Fooish Bar</citetitle> available via the
<application>Info</application> system.</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>This manual page was written by &dhusername; &dhemail; for
the &debian; system (but may be used by others). Permission is
granted to copy, distribute and/or modify this document under
the terms of the &gnu; General Public License, Version 2 any
later version published by the Free Software Foundation.
</para>
<para>
On Debian systems, the complete text of the GNU General Public
License can be found in /usr/share/common-licenses/GPL.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

144
debian/manpage.xml.ex vendored
View File

@ -1,144 +0,0 @@
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!--
Process this file with an XSLT processor: `xsltproc \
-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
manpages/docbook.xsl manpage.dbk'. A manual page
<package>.<section> will be generated. You may view the
manual page with: nroff -man <package>.<section> | less'. A
typical entry in a Makefile or Makefile.am is:
DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
manpages/docbook.xsl
XP=xsltproc -''-nonet
manpage.1: manpage.dbk
$(XP) $(DB2MAN) $<
The xsltproc binary is found in the xsltproc package. The
XSL files are in docbook-xsl. Please remember that if you
create the nroff version in one of the debian/rules file
targets (such as build), you will need to include xsltproc
and docbook-xsl in your Build-Depends control field.
-->
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
<!ENTITY dhsurname "<surname>SURNAME</surname>">
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>January 28, 2008</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>SECTION</manvolnum>">
<!ENTITY dhemail "<email>sage@newdream.net</email>">
<!ENTITY dhusername "sage">
<!ENTITY dhucpackage "<refentrytitle>CEPH</refentrytitle>">
<!ENTITY dhpackage "ceph">
<!ENTITY debian "<productname>Debian</productname>">
<!ENTITY gnu "<acronym>GNU</acronym>">
<!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
]>
<refentry>
<refentryinfo>
<address>
&dhemail;
</address>
<copyright>
<year>2007</year>
<holder>&dhusername;</holder>
</copyright>
&dhdate;
</refentryinfo>
<refmeta>
&dhucpackage;
&dhsection;
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>program to do something</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>&dhpackage;</command>
<arg><option>-e <replaceable>this</replaceable></option></arg>
<arg><option>--example <replaceable>that</replaceable></option></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>This manual page documents briefly the
<command>&dhpackage;</command> and <command>bar</command>
commands.</para>
<para>This manual page was written for the &debian; distribution
because the original program does not have a manual page.
Instead, it has documentation in the &gnu;
<application>Info</application> format; see below.</para>
<para><command>&dhpackage;</command> is a program that...</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<para>These programs follow the usual &gnu; command line syntax,
with long options starting with two dashes (`-'). A summary of
options is included below. For a complete description, see the
<application>Info</application> files.</para>
<variablelist>
<varlistentry>
<term><option>-h</option>
<option>--help</option>
</term>
<listitem>
<para>Show summary of options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option>
<option>--version</option>
</term>
<listitem>
<para>Show version of program.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>bar (1), baz (1).</para>
<para>The programs are documented fully by <citetitle>The Rise and
Fall of a Fooish Bar</citetitle> available via the
<application>Info</application> system.</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>This manual page was written by &dhusername; &dhemail; for
the &debian; system (but may be used by others). Permission is
granted to copy, distribute and/or modify this document under
the terms of the &gnu; General Public License, Version 2 any
later version published by the Free Software Foundation.
</para>
<para>
On Debian systems, the complete text of the GNU General Public
License can be found in /usr/share/common-licenses/GPL.
</para>
</refsect1>
</refentry>

2
debian/menu.ex vendored
View File

@ -1,2 +0,0 @@
?package(ceph):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\
title="ceph" command="/usr/bin/ceph"

41
debian/postinst.ex vendored
View File

@ -1,41 +0,0 @@
#!/bin/sh
# postinst script for ceph
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

39
debian/postrm.ex vendored
View File

@ -1,39 +0,0 @@
#!/bin/sh
# postrm script for ceph
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

37
debian/preinst.ex vendored
View File

@ -1,37 +0,0 @@
#!/bin/sh
# preinst script for ceph
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <new-preinst> `install'
# * <new-preinst> `install' <old-version>
# * <new-preinst> `upgrade' <old-version>
# * <old-preinst> `abort-upgrade' <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
install|upgrade)
;;
abort-upgrade)
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

40
debian/prerm.ex vendored
View File

@ -1,40 +0,0 @@
#!/bin/sh
# prerm script for ceph
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
remove|upgrade|deconfigure)
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

1
debian/rados.dirs vendored
View File

@ -1 +0,0 @@
usr/bin

1
debian/radosgw.dirs vendored
View File

@ -1 +0,0 @@
/usr/bin

6
debian/rules vendored
View File

@ -1,11 +1,5 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
configure: configure-stamp
configure-stamp:

View File

@ -1,60 +0,0 @@
#!/usr/bin/make -f
PACKAGE=ceph-modules
### KERNEL SETUP
### Setup the stuff needed for making kernel module packages
### taken from /usr/share/kernel-package/sample.module.rules
# prefix of the target package name
# PACKAGE=pvfs-modules
# modifieable for experiments or debugging m-a
MA_DIR ?= /usr/share/modass
# load generic variable handling
-include $(MA_DIR)/include/generic.make
# load default rules, including kdist, kdist_image, ...
-include $(MA_DIR)/include/common-rules.make
# module assistant calculates all needed things for us and sets
# following variables:
# KSRC (kernel source directory), KVERS (kernel version string), KDREV
# (revision of the Debian kernel-image package), CC (the correct
# compiler), VERSION (the final package version string), PKGNAME (full
# package name with KVERS included), DEB_DESTDIR (path to store DEBs)
# The kdist_configure target is called by make-kpkg modules_config and
# by kdist* rules by dependency. It should configure the module so it is
# ready for compilation (mostly useful for calling configure).
# prep-deb-files from module-assistant creates the neccessary debian/ files
kdist_configure: prep-deb-files
# the kdist_clean target is called by make-kpkg modules_clean and from
# kdist* rules. It is responsible for cleaning up any changes that have
# been made by the other kdist_commands (except for the .deb files created)
kdist_clean:
@$(MAKE) $(MFLAGS) KERNELDIR=$(KSRC) clean
### end KERNEL SETUP
# the binary-modules rule is invoked by module-assistant while processing the
# kdist* targets. It is called by module-assistant or make-kpkg and *not*
# during a normal build
binary-modules: prep-deb-files
dh_testroot
dh_clean -k
$(MAKE) KERNELDIR=$(KSRC) all
mkdir -p ./debian/$(PACKAGE)-$(KVERS)/lib/modules/$(KVERS)/kernel/fs/ceph
cp ceph.ko ./debian/$(PACKAGE)-$(KVERS)/lib/modules/$(KVERS)/kernel/fs/ceph/
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_strip
dh_installmodules
dh_install
dh_installdeb
dh_gencontrol -- -v$(VERSION)
dh_md5sums
dh_builddeb --destdir=$(DEB_DESTDIR)
dh_clean -k

22
debian/watch.ex vendored
View File

@ -1,22 +0,0 @@
# Example watch control file for uscan
# Rename this file to "watch" and then you can run the "uscan" command
# to check for upstream updates and more.
# See uscan(1) for format
# Compulsory line, this is a version 3 file
version=3
# Uncomment to examine a Webpage
# <Webpage URL> <string match>
#http://www.example.com/downloads.php ceph-(.*)\.tar\.gz
# Uncomment to examine a Webserver directory
#http://www.example.com/pub/ceph-(.*)\.tar\.gz
# Uncommment to examine a FTP server
#ftp://ftp.example.com/pub/ceph-(.*)\.tar\.gz debian uupdate
# Uncomment to find new files on sourceforge, for devscripts >= 2.9
# http://sf.net/ceph/ceph-(.*)\.tar\.gz

View File

@ -3,12 +3,10 @@
/*
* Ceph - scalable distributed file system
*
* Copyright (C) 2004-2006 Sage Weil <sage@newdream.net>
* Copyright (C) 2004-2010 Sage Weil <sage@newdream.net>
*
* This is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software
* Foundation. See file COPYING.
* modify it under the terms of the GPL.
*
*/