summaryrefslogtreecommitdiffstats
path: root/doc/architecture.rst (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-06-20filestore: disable 'filestore fiemap' by defaultSage Weil1-1/+1
We've seen this failing on both btrfs (Guido) and XFS (Oliver). This works around #2535. Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-25ceph.spec.in: buildrequires libuuid-develSage Weil1-0/+1
Reported-by: Guido Winkelmann <guido-ceph@thisisnotatest.de> Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-25ceph.spec.in: drop unnecessary rmdirsSage Weil1-3/+0
This hunk was inadvertantly included in a330c64. Reported-by: Guido Winkelmann <guido-ceph@thisisnotatest.de> Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-24librados, ObjectCacher: include limits.h for INT_MAXJosh Durgin2-0/+2
This was required to build on CentOS 6.2. I'm not sure why it worked without it on Debian. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-05-24rgw: replace all bad use of formatter->dump_format()Yehuda Sadeh4-62/+62
This fixes #2465. We should never ever use the dumped value as the format. Never. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-05-23v0.47.2v0.47.2Sage Weil2-1/+7
2012-05-23Makefile: do not install librgw.hSage Weil1-6/+0
Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-23Update ceph.spec for ceph-0.47Alexandre Oliva1-1/+5
Add BuildRequires: libxml2-devel. Move BuildRequires: libcurl-devel to a more proper place. [libs3 and librgw.h bits of patch dropped -sw] Signed-off-by: Alexandre Oliva <oliva@lsd.ic.unicamp.br> Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-23libs3: remove make install targetYehuda Sadeh1-0/+0
2012-05-23Makefile.am: only append libs3 to SUBDIRS when neededYehuda Sadeh2-1/+1
We appended libs3 to SUBDIRS unconditionally, we only need that when we actually want to compile it. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-05-22objectcacher: fix infinite loop in flusher_entrySage Weil1-32/+30
The addition of accounting for simultaneous writers in f3043fee3e22600cb4349072287842db129588eb could lead to an infinite loop. This could happen because starting a flush doesn't decrease dirty_waiters, only the number of dirty bytes (they change to tx). If dirty_waiters is more than target_dirty, the loop would continue forever while holding the object cacher lock, since the object cacher lock is required by the write callbacks. The extra while (!flusher_stop) loop is unnecessary, so remove it. This means the flusher thread always releases the lock after starting flushing, so progress can be made. Signed-off-by: Sage Weil <sage@inktank.com> Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-05-21v0.47.1v0.47.1Sage Weil2-1/+7
2012-05-21filestore: test xattrs on temporary fileSage Weil1-1/+13
There isn't one we can rely on existing yet. Broken by 1314a00798ed4b7ef2f2686f0195c5c53c98c2ce while fixing #2452. Backport: dho Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-21v0.47v0.47Sage Weil2-1/+7
2012-05-21keys: new release keySage Weil2-137/+168
New release key for signing packages. Signed by me (the old release key) so that existing apt keyrings should be sufficient. New keyrings should just add the new release key. Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-20osdmap: set name_pool correctly in build_simple*()Sage Weil1-0/+2
Backport: dho Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-20osdmap: use pg[p]_num accessorsSage Weil4-14/+24
This lets us ensure that calc_pg_masks() is called when pg[p]_num is set or modified. Fixes: #2448 Backport: dho Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-20filestore: do not test xattrs on fsid fileSage Weil1-1/+1
This is sufficient to break our fcntl lock, which breaks the check for other running daemons. Broken by f03dc34f7e2fc1707fa00339b917c0d2c93dbdd3 Fixes: #2452 Backport: dho Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-20debian: fix ceph-kdump-copy.initSage Weil1-2/+2
Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-17config: improve comments for rbd caching optionsJosh Durgin1-5/+5
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-05-17librbd: check for cache flush errorsJosh Durgin1-8/+11
Return errors from flushing to the caller. Warn if an error occurs during invalidation, but don't retry, since the higher level handles these cases, namely: * rollback (doing this with an image open is asking for trouble) * shrink (doing this with writes in flight may create extra objects anyway) * shutdown (qemu flushes before closing the device) Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-05-17ObjectCacher: handle write errorsJosh Durgin1-10/+16
If a write error occurs, mark the BufferHead dirty again, and pass the return value to the completion. This makes flushing return the write error, if one occurs, since the flush callback is passed as the write callback. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-05-17ObjectCacher: propagate read errors to the callerJosh Durgin2-36/+88
Previously the return value of a read operation was ignored. Now a read error sets the error field, and changes the BufferHead to a new error state. Error state BufferHeads are treated as misses so they can be retried when requested by a user of the ObjectCacher. When _readx is called again internally, they're treated as hits so the error can be returned to the user. The error value is ignored if the BufferHead is not in the error state. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-05-17mon: fix mon removal checkSage Weil1-2/+8
Only take our absence from the monmap to mean that we were removed if we were ever a member in the first places. This fixes the bootstrap case: - create temp_monmap with existing member(s) plus new guy - ceph-mon --mkfs --monmap temp_monmap --fsid ... - start ceph-mon Basically, this is just using the seed monmap as a way to tell the new daemon which ip:port to use. Specifying mon addr, public network, or public addr would also work. Fixes: #2436 Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-16doc: add ioctx parameter to rbd pybind examples.Greg Farnum1-6/+6
This parameter is required and was missing. And fix a typo
2012-05-16librados: avoid overflow in the return value of readsJosh Durgin3-1/+22
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-05-16ObjectCacher: only perfcount reads requested by the clientJosh Durgin2-3/+12
_readx is called again after each bh is read by C_RetryRead. This resulted in the read being counted many times for the internal caller that was just checking whether it was done yet. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-05-16osd: include age in 'slow request' messagesSage Weil1-1/+2
Make log messages easier to interpret, without subtracting timestamps in your head. Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-16workloadgen: Add transaction throughput infos.Joao Eduardo Luis2-1/+7
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2012-05-15Additional documentation theme changes:Ross Turk1-2/+6
1) Adjust h2 tags so that section titles are visually differentiated 2) Add 1.5em of margin to all pre blocks and tables Signed-off-by: Ross Turk <ross@inktank.com>
2012-05-15Objecter: don't throttle resent linger opsJosh Durgin2-8/+26
Throttling is intended to stop the caller from submitting too many requests, not blocking requests that are being resent internally. This prevents a deadlock when handling an osdmap - previously handle_osd_map could block when resending linger ops due to the throttling. This would stop the messenger's dispatch thread from delivering any subsequest messages, so the throttle budget would never be replenished. Signed-off-by: Josh Durgin <josh.durgin@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
2012-05-15objecter: ping connections with lingering ops every tick()Yehuda Sadeh1-1/+20
Also, make sure that we initialize linger_op.session once we have it. Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-05-14Documentation theme updates:Ross Turk1-12/+13
1) Background color in navbar 2) Correct body fonts 3) Document pane background (below the content)
2012-05-14Updated link to publicationsRoss Turk1-1/+1
2012-05-14crush: pass weight vector size to map functionSage Weil3-8/+10
Pass the size of the weight vector into crush_do_rule() to ensure that we don't access values past the end. This can happen if the caller misbehaves and passes a weight vector that is smaller than max_devices. Currently the monitor tries to prevent that from happening, but this will gracefully tolerate previous bad osdmaps that got into this state. It's also a bit more defensive. Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-14crush: adjust max_devices appropriately in insert_item()Sage Weil1-0/+6
If we insert a new item, make sure max_devices is still the max id + 1. Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-14mon: fail 'osd crush set ...' is osd doesn't existSage Weil1-1/+7
If an osd doesn't exist, don't let users add/update it in the crush map. Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-13cephfs: pass -1 for old preferred_osd fieldSage Weil1-0/+1
Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-12osdmap: filter out nonexistent osds from mapSage Weil2-1/+20
It is possible that the crush map contains device ids that do not exist as osds. Filter them out of the CRUSH result. Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-10utime_t: no double ctorSage Weil2-4/+2
error: os/FileJournal.h:48:51: call of overloaded ‘utime_t(int)’ is ambiguous Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-09objectcacher: make *_max_dirty_age tunables; pass to ctorSage Weil6-12/+25
This replaces the hard-coded 1 second writeback timer. Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-09librbd: set cache defaults to 32/24/16 mbSage Weil1-3/+3
Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-08test_filestore_workloadgen: name the Mutex variableSage Weil1-1/+1
This is for interpreting lockdep reports. Signed-off-by: Sage Weil <sage@inktank.com>
2012-05-08workloadgen: time tracking using ceph's utime_t's instead of timevals.Joao Eduardo Luis2-52/+23
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2012-05-08workloadgen: forcing the user to specify a data and journal.Joao Eduardo Luis1-4/+4
These default arguments, although handy when we just want to run the test, just mess things up when we don't actually need them. If we don't specify them on the CLI, we'll end up using the default ones, and that is just annoying. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2012-05-08workloadgen: add option to specify the max number of in-flight txs.Joao Eduardo Luis2-3/+11
Use '--test-max-in-flight VAL' (default: 50) or check '--help' for more. Also, allow the test to work even if we don't specify a conf file. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2012-05-08workloadgen: Allow finer control over what the generator does.Joao Eduardo Luis2-39/+311
Allow the user to have more control on: - the sizes of the data being written by the operations; - which operations are suppressed from execution; - view the throughput; - specify the periodicity of throughput output. For the CLI options, '--help' should suffice. Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
2012-05-07libs3: trailing / does strange things to EXTRA_DISTSage Weil1-6/+6
drwxr-xr-x 1031/1031 0 2012-05-07 11:15 ceph-0.46/src/libs3/inc/ drwxr-xr-x 1031/1031 0 2012-05-04 15:28 ceph-0.46/src/libs3/inc/inc/ -rw-r--r-- 1031/1031 2343 2012-05-04 15:28 ceph-0.46/src/libs3/inc/inc/simplexml.h etc. Freaking autotools! Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-06Makefile: drop librgw.so unittestsSage Weil1-12/+12
Signed-off-by: Sage Weil <sage@newdream.net>
2012-05-06ceph.spec: kill librgwSage Weil1-24/+0
Signed-off-by: Sage Weil <sage@newdream.net>