Ceph is a distributed object, block, and file storage platform
Go to file
Sage Weil 9323f25a6a osd: fix PG::Log::copy_after wrt backlogs (again)
Commit 68fe748fc2 fixed half of this problem,
but set this->tail incorrectly.  If we read olog.tail, the entry we are
on is a backlog entry, and probably not other.tail.  Do not reset tail in
this case because we already set it to other.tail above.

OTOH if we hit v, we do want to set this->tail to the current record as it
is the one that precedes the first log entry.

This fixes an incorrect log.tail send to other nodes, which eventually
propagates as a log bound mismatch.  For example,

2011-10-22 17:33:18.654693 7f8a2fefe700 osd.4 2788 pg[1.1f( v 1627'28 (1627'28,1627'28] n=2 ec=1 les/c 2763/2782 2788/2788/2788) [4,0] r=0 mlcod 0'0 !hml peering] merge_log log(578'5,1627'28] from osd.0 into log(1627'28,1627'28]
2011-10-22 17:33:18.654706 7f8a2fefe700 osd.4 2788 pg[1.1f( v 1627'28 (1627'28,1627'28] n=2 ec=1 les/c 2763/2782 2788/2788/2788) [4,0] r=0 mlcod 0'0 !hml peering] merge_log extending tail to 578'5
2011-10-22 17:33:18.654720 7f8a2fefe700 osd.4 2788 pg[1.1f( v 1627'28 (578'5,1627'28] n=2 ec=1 les/c 2763/2782 2788/2788/2788) [4,0] r=0 (log bound mismatch, empty) mlcod 0'0 !hml peering] merge_log result log(578'5,1627'28] missing(0) changed=1

This might fix #1526.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-10-22 20:41:03 -07:00
admin doc: add documentation for librbd python bindings 2011-09-30 11:37:15 -07:00
debian v0.37 2011-10-17 08:35:57 -07:00
doc doc: Change diagram to have radosgw closer to direct rados access. 2011-10-17 16:13:14 -07:00
fusetrace reorganized source tree 2007-12-19 13:28:33 -08:00
keys doc: Write about deb installation. 2011-09-02 12:34:05 -07:00
man mkcephfs: copy ceph.conf to /etc/ceph/ceph.conf (when -a) 2011-10-17 10:49:46 -07:00
qa workunit: clean up temporary files 2011-10-03 12:20:25 -07:00
src osd: fix PG::Log::copy_after wrt backlogs (again) 2011-10-22 20:41:03 -07:00
udev udev: c* -> ceph-* rename: missed crbdnamer. 2011-09-23 15:55:01 -07:00
wireshark Bug #98: Unique names for include guards 2010-06-17 10:47:37 -07:00
.gitignore .gitignore: add test_filestore_idempotent 2011-10-19 15:35:56 -07:00
AUTHORS update authors 2010-07-02 10:14:41 -07:00
autogen.sh Use Google Test framework for unit tests. 2011-01-10 15:19:45 -08:00
ceph.spec.in ceph.spec: don't chkconfig 2011-10-17 08:51:47 -07:00
ChangeLog first pass at autoconf and automake 2008-01-27 20:45:29 -08:00
CodingStyle CodingStyle: whitespace 2011-07-14 10:50:08 -07:00
configure.ac v0.37 2011-10-17 08:35:57 -07:00
COPYING first pass at autoconf and automake 2008-01-27 20:45:29 -08:00
do_autogen.sh do_autogen: add -H for --with-hadoop 2011-04-25 11:05:43 -07:00
Doxyfile Integrate Doxygen into Sphinx docs. 2011-08-29 17:27:14 -07:00
INSTALL autoconf changes to build on a debian/testing machine 2008-02-01 09:59:44 -08:00
Makefile.am Makefile: include run-cli-tests-maybe-unset-ccache in dist tarball. 2011-09-23 15:55:01 -07:00
NEWS first pass at autoconf and automake 2008-01-27 20:45:29 -08:00
README c* -> ceph-* 2011-09-22 15:08:25 -07:00
RELEASE_CHECKLIST v0.22 2010-10-15 15:34:44 -07:00
SubmittingPatches SubmittingPatches: initial version 2010-10-28 14:55:09 -07:00

Ceph - a scalable distributed storage system
-----------------------------------------

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

----

To build the server daemons, and FUSE client,

$ ./autogen.sh
$ ./configure
$ 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:
 ceph-mon -- monitor daemon.  handles cluster state and configuration
         information.
 ceph-osd -- storage daemon.  stores objects on a given block device.
 ceph-mds -- metadata daemon.  handles file system namespace.
 ceph-fuse -- fuse client.

tools:
 ceph -- send management commands to the monitor cluster.
 rados -- interact with the object store
 rbd -- manipulate rados block device images
 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