Ceph is a distributed object, block, and file storage platform
Go to file
Sage Weil 0d98fc6ffd osd: keep recovery ops in sync with pull
Call start_recovery_op from pull() instead of fixing every caller (some
were wrong).  This keeps the recovery state in sync with pulling state,
even when pull() has to pull something different (head, snapdir) first.

Fixes this crash:
osd/PG.cc: In function 'void PG::finish_recovery_op(const sobject_t&, bool)':
osd/PG.cc:1842: FAILED assert(recovering_oids.count(soid))
 1: (PG::finish_recovery_op(sobject_t const&, bool)+0x14e) [0x74caf6]
 2: (ReplicatedPG::sub_op_push(MOSDSubOp*)+0x1da8) [0x669292]
 3: (ReplicatedPG::do_sub_op(MOSDSubOp*)+0x109) [0x671a73]
 4: (OSD::dequeue_op(PG*)+0x23c) [0x6bda00]
 5: (OSD::OpWQ::_process(PG*)+0x21) [0x7387c9]
 6: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x28) [0x6f5e12]
 7: (ThreadPool::worker()+0x23a) [0x7f2404]
 8: (ThreadPool::WorkThread::entry()+0x19) [0x73b783]
 9: (Thread::_entry_func(void*)+0x20) [0x64f92a]
 10: /lib/libpthread.so.0 [0x7f7a12cf473a]
 11: (clone()+0x6d) [0x7f7a11f1e69d]
2010-05-24 14:00:43 -07:00
debian debian: build-depends libatomicops-dev 2010-04-23 14:50:26 -07:00
fusetrace
man rados: update documentation to mention mkpool and rmpool 2010-05-19 10:35:28 -07:00
qa qa: make pjd clean up 2010-04-29 14:29:36 -07:00
src osd: keep recovery ops in sync with pull 2010-05-24 14:00:43 -07:00
web
wireshark msgr: Remove the type CEPH_ENTITY_TYPE_ADMIN. 2010-03-02 10:02:03 -08:00
.gitignore add executables to .gitignore 2010-04-16 15:18:26 -07:00
AUTHORS
autogen.sh automake: some clean up 2010-05-18 08:01:23 -07:00
builddebs.sh debian: remove pull.sh calls from helper .sh scripts 2010-05-10 16:00:22 -07:00
ceph-init-fix.patch ceph.spec.in: from Josef 2010-04-30 14:22:30 -07:00
ceph.spec.in ceph.spec.in: --without-hadoop --without-debug 2010-05-07 14:50:20 -07:00
ChangeLog
configure.ac version: use next version ~rc for unstable branch 2010-05-14 09:14:00 -07:00
COPYING
INSTALL
Makefile.am debian: put debian/ in .diff.gz, not release tarball 2010-03-11 09:06:55 -08:00
NEWS
publish.sh debian: use 'testing' or 'unstable' in place of 'git' in version suffix 2010-05-06 11:30:25 -07:00
pull.sh
push.sh
README fix up READMEs 2010-03-23 14:54:33 -07:00
RELEASE_CHECKLIST v0.20 2010-04-23 12:10:24 -07:00
release.sh debian: put proper distribution in debian changelog 2010-05-14 09:43:31 -07:00
sign.sh debian: remove pull.sh calls from helper .sh scripts 2010-05-10 16:00:22 -07:00

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

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

----

To build the server daemons, and FUSE client,

$ ./autogen.sh
$ ./configure

$ make
 or
$ 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.
 ceph -- send management 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

scripts:
 mkcephfs -- cluster mkfs tool
 init-ceph -- init.d start/stop script