Ceph is a distributed object, block, and file storage platform
Go to file
Sage Weil 1d72d1888a mds: fix SimpleLock::try_clear_more()
We were dropping gather state on the floor, which resulted in
general confusion and errors like this

10.03.16 14:17:17.622280 mds0.locker handle_simple_lock lock(a=lockack dn 1000000019c/NEWS1_1B.PRN snap head) on (dn xlock x=1 by 0x307c050) [dentry #1/clients/client2/~dmtmp/WORDPRO/NEWS1_1B.PRN [2,head] auth{1=1} (dn xlock x=1 by 0x307c050) v=90 inode=0x7f2fe90a7980 | nref=5 0x7f2fe0349b80]
mds/Locker.cc: In function 'void Locker::handle_simple_lock(SimpleLock*, MLock*)':
mds/Locker.cc:2424: FAILED assert(lock->get_state() == 7 || lock->get_state() == 12)
 1: (Locker::handle_simple_lock(SimpleLock*, MLock*)+0x374) [0x8607bc]
 2: (Locker::handle_lock(MLock*)+0x18b) [0x861b91]
 3: (Locker::dispatch(Message*)+0x41) [0x86470b]
 4: (MDS::_dispatch(Message*)+0x1b42) [0x72ce68]
 5: (MDS::ms_dispatch(Message*)+0x2f) [0x72e1e9]
 6: (Messenger::ms_deliver_dispatch(Message*)+0x55) [0x72086b]
 7: (SimpleMessenger::dispatch_entry()+0x4f4) [0x70d50e]
 8: (SimpleMessenger::DispatchThread::entry()+0x29) [0x7095bd]
 9: (Thread::_entry_func(void*)+0x20) [0x71a9e1]
 10: /lib/libpthread.so.0 [0x7f2fe8d6573a]
 11: (clone()+0x6d) [0x7f2fe7f906dd]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
2010-03-16 14:28:05 -07:00
debian debian: clean out unused debhelper rules steps 2010-03-11 09:06:55 -08:00
fusetrace reorganized source tree 2007-12-19 13:28:33 -08:00
man auth: update documentation on caps 2010-03-15 10:40:42 -07:00
qa qa: fix snaptest1.sh 2010-03-15 23:47:24 -07:00
src mds: fix SimpleLock::try_clear_more() 2010-03-16 14:28:05 -07:00
web web: updates 2008-03-10 09:20:51 -07:00
wireshark msgr: Remove the type CEPH_ENTITY_TYPE_ADMIN. 2010-03-02 10:02:03 -08:00
.gitignore debian: new release, push, build, publish scripts 2010-02-28 20:19:04 -08:00
AUTHORS more autoconf- and automake-fu 2008-01-28 11:05:29 -08:00
autogen.sh rados: build librados, libcrush using libtool 2009-05-11 21:06:14 -07:00
builddebs.sh debian: specify mirror explicitly when creating pbuilder image 2010-03-11 21:38:04 -08:00
ceph.spec.in ceph.spec: mostly in line with .deb 2009-11-25 21:45:11 -08:00
ChangeLog first pass at autoconf and automake 2008-01-27 20:45:29 -08:00
configure.ac autoconf: detect sync_file_range(2) 2010-03-04 09:45:44 -08:00
COPYING first pass at autoconf and automake 2008-01-27 20:45:29 -08:00
INSTALL autoconf changes to build on a debian/testing machine 2008-02-01 09:59:44 -08:00
Makefile.am debian: put debian/ in .diff.gz, not release tarball 2010-03-11 09:06:55 -08:00
NEWS first pass at autoconf and automake 2008-01-27 20:45:29 -08:00
publish.sh debian: new release, push, build, publish scripts 2010-02-28 20:19:04 -08:00
pull.sh debian: new release, push, build, publish scripts 2010-02-28 20:19:04 -08:00
push.sh debian: new release, push, build, publish scripts 2010-02-28 20:19:04 -08:00
README helper script readme 2008-05-13 08:45:13 -07:00
RELEASE_CHECKLIST update release checklist 2010-02-17 14:55:40 -08:00
release.sh debian: put debian/ in .diff.gz, not release tarball 2010-03-11 09:06:55 -08:00
sign.sh debian: new release, push, build, publish scripts 2010-02-28 20:19:04 -08:00

Ceph - a scalable distributed file system
-----------------------------------------

Please see http://ceph.newdream.net/ for current info.

----

To build the Linux kernel client,

$ cd src/kernel
$ make
or
$ make KERNELDIR=/path/to/linux
$ insmod ceph.ko
$ mount -t ceph 1.2.3.4:/ /mnt/ceph
...

----

To build the server daemons, and FUSE client,

$ ./autogen.sh
$ ./configure
$ cd src
$ make

(Note that the FUSE client will only be built if libfuse is present.)

----

A quick summary of binaries that will be built in src/

daemons:
 cmon -- monitor daemon.  handles cluster state and configuration
         information.
 cosd -- storage daemon.  stores objects on a given block device.
 cmds -- metadata daemon.  handles file system namespace.
 cmonctl -- send commands to the monitor cluster.

userland clients:
 cfuse -- fuse client.
 csyn -- synthetic workload generator client.

tools:
 mkmonfs -- create a fresh monfs (for a new filesystem)
 monmaptool -- create/edit mon map
 osdmaptool -- create/edit osd map 
 crushtool -- create/edit crush map
 dupstore -- duplicate an osd object store (offline)

development/debugging:
 fakesyn -- simulator with synthetic workload
 fakefuse -- simulator that mounts with fuse

----

see also src/README