]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agocosd: bad disks in cosd3
Sage Weil [Fri, 29 May 2009 22:35:43 +0000 (15:35 -0700)]
cosd: bad disks in cosd3

16 years agocosd: fix typo
Sage Weil [Fri, 29 May 2009 21:43:53 +0000 (14:43 -0700)]
cosd: fix typo

16 years agoautoconf: check for openssl dev files
Sage Weil [Fri, 29 May 2009 21:39:12 +0000 (14:39 -0700)]
autoconf: check for openssl dev files

16 years agoclass: added file
Yehuda Sadeh [Fri, 29 May 2009 21:38:40 +0000 (14:38 -0700)]
class: added file

16 years agokclient: max trim_caps actually work
Sage Weil [Fri, 29 May 2009 21:29:15 +0000 (14:29 -0700)]
kclient: max trim_caps actually work

16 years agomds: trim client state based on # caps, not real memory utilization
Sage Weil [Fri, 29 May 2009 21:11:23 +0000 (14:11 -0700)]
mds: trim client state based on # caps, not real memory utilization

16 years agomem: gather meminfo stats
Sage Weil [Mon, 20 Apr 2009 17:22:25 +0000 (10:22 -0700)]
mem: gather meminfo stats

16 years agomds: encapsulate /proc examination in MemoryModel; calc heap size
Sage Weil [Mon, 20 Apr 2009 15:45:26 +0000 (08:45 -0700)]
mds: encapsulate /proc examination in MemoryModel; calc heap size

16 years agomds: some infrastructure to recall state from clients when under memory pressure
Sage Weil [Thu, 16 Apr 2009 04:17:47 +0000 (21:17 -0700)]
mds: some infrastructure to recall state from clients when under memory pressure

Also some logging to monitor mds inode and cap stats.

16 years agovstart: pipe down
Sage Weil [Fri, 29 May 2009 18:58:35 +0000 (11:58 -0700)]
vstart: pipe down

16 years agokclient: trim caps on demand
Sage Weil [Fri, 29 May 2009 18:58:22 +0000 (11:58 -0700)]
kclient: trim caps on demand

16 years agokclient: rework iterate_session_caps
Sage Weil [Fri, 29 May 2009 18:56:27 +0000 (11:56 -0700)]
kclient: rework iterate_session_caps

Do not drop s_cap_lock if we failed to get an inode ref.  Othwerise we
risk the next *n pointer being invalid.

16 years agokclient: make session cap list an LRU; combine touch with check for issued caps
Sage Weil [Fri, 29 May 2009 17:43:31 +0000 (10:43 -0700)]
kclient: make session cap list an LRU; combine touch with check for issued caps

This both makes the issued cap check better (only traverses caps until we
get what we want), and combines the touch_cap step to bump it to the front
of the LRU.

So far all callers do the touch, so the touch arg is of dubious value..

16 years agoclass: added a crypto class that does md5 and sha1
Yehuda Sadeh [Fri, 29 May 2009 18:19:37 +0000 (11:19 -0700)]
class: added a crypto class that does md5 and sha1

16 years agoclass: dlopen uses RTLD_NOW instead of lazy loading
Yehuda Sadeh [Fri, 29 May 2009 18:06:50 +0000 (11:06 -0700)]
class: dlopen uses RTLD_NOW instead of lazy loading

16 years agoMerge branch 'rados' of ssh://ceph.newdream.net/git/ceph into rados
Yehuda Sadeh [Thu, 28 May 2009 18:42:08 +0000 (11:42 -0700)]
Merge branch 'rados' of ssh://ceph.newdream.net/git/ceph into rados

16 years agoclass: rdcall implemented
Yehuda Sadeh [Thu, 28 May 2009 18:30:51 +0000 (11:30 -0700)]
class: rdcall implemented

16 years agovstart: fewer pgs
Sage Weil [Thu, 28 May 2009 18:36:50 +0000 (11:36 -0700)]
vstart: fewer pgs

16 years agoosdmaptool: fix usage
Sage Weil [Thu, 28 May 2009 18:23:58 +0000 (11:23 -0700)]
osdmaptool: fix usage

16 years agobuffer: fix hexdump formatting
Sage Weil [Thu, 28 May 2009 18:23:52 +0000 (11:23 -0700)]
buffer: fix hexdump formatting

16 years agoosd: ship transaction (not op) to replicas
Sage Weil [Thu, 28 May 2009 18:23:43 +0000 (11:23 -0700)]
osd: ship transaction (not op) to replicas

This simplifies the code path on the replica.  It avoids duplicating
computation, which can be a win even for trivial ops when snaps are
involved.  For active objects, it will avoid the computation as well.

Currently parallel execution will still happen if you specify a flag.
However, an object method should probably also be able to specify ||
execution is better in cases where the operation is deterministic and
|| exec will mean less data over the network.

Disable unused vector<T*> template, since it confuses the
vector<const char *> encoder.

16 years agokclient: avoid null resv ctx dereference
Sage Weil [Wed, 27 May 2009 23:54:15 +0000 (16:54 -0700)]
kclient: avoid null resv ctx dereference

16 years agoosd: move object_info_t, exists, size into ObjectState
Sage Weil [Thu, 28 May 2009 04:43:41 +0000 (21:43 -0700)]
osd: move object_info_t, exists, size into ObjectState

The main goal is to capture everything needed by the op context
(the object_info_t, exists, size) in something that doesn't include all
of ObjectContext (such as teh current access mode, num writers, and other
things that only the primary needs) so that the sub_op_modify setup is
as simple as possible.

This kills the annoying exists, size args in all the helpers.

16 years agoclass: dependent classes are loaded automatically
Yehuda Sadeh [Wed, 27 May 2009 22:53:49 +0000 (15:53 -0700)]
class: dependent classes are loaded automatically

16 years agoclass: utility to load classes
Yehuda Sadeh [Wed, 27 May 2009 22:53:15 +0000 (15:53 -0700)]
class: utility to load classes

16 years agokclient: fix cap resv BUG
Sage Weil [Wed, 27 May 2009 21:40:45 +0000 (14:40 -0700)]
kclient: fix cap resv BUG

16 years agofiler: fix probing when recovered size is 0
Sage Weil [Wed, 27 May 2009 21:06:25 +0000 (14:06 -0700)]
filer: fix probing when recovered size is 0

Fixes a bug where it wraps around to a negative (large)
file size.

16 years agokclient: put readdir max entries in mount options
Sage Weil [Wed, 27 May 2009 21:06:13 +0000 (14:06 -0700)]
kclient: put readdir max entries in mount options

16 years agokclient: rework cap reservation accounting a bit
Sage Weil [Wed, 27 May 2009 20:58:20 +0000 (13:58 -0700)]
kclient: rework cap reservation accounting a bit

Invariants:
total = used + reserved + avail
len(caps_list) = reserved + avail

Previously, reserved was part of avail, which was confusing.  Also
fixed up the reserve func such that the above invariants are always
true.

16 years agoinitscript: fix instance check
Sage Weil [Wed, 27 May 2009 18:49:02 +0000 (11:49 -0700)]
initscript: fix instance check

16 years agocosd: journal to a dedicated disk
Sage Weil [Wed, 27 May 2009 19:07:41 +0000 (12:07 -0700)]
cosd: journal to a dedicated disk

16 years agoosd: fix PG::IndexLog unindex()
Sage Weil [Wed, 27 May 2009 19:07:07 +0000 (12:07 -0700)]
osd: fix PG::IndexLog unindex()

The REMOVE entries won't be in the objects map.

16 years agoinitscript: remove notreelog by default
Sage Weil [Wed, 27 May 2009 19:06:38 +0000 (12:06 -0700)]
initscript: remove notreelog by default

This screws us if we put the journal file on the same btrfs volume.  Not
that it works that well anyway, but it works even worse this way.  And
since FileStore never calls fsync(), it's fine.

16 years agoscript: fix req format in osd latency check
Sage Weil [Wed, 27 May 2009 17:34:41 +0000 (10:34 -0700)]
script: fix req format in osd latency check

16 years agofilestore: stop sync thread before journal
Sage Weil [Wed, 27 May 2009 17:43:25 +0000 (10:43 -0700)]
filestore: stop sync thread before journal

Otherwise we get sync thread interaction with freed journal.

16 years agoosd: create journal of specified size during mkfs
Sage Weil [Wed, 27 May 2009 17:03:26 +0000 (10:03 -0700)]
osd: create journal of specified size during mkfs

16 years agokclient: avoid d_time reuse s.t. leases and dir rdcache can coexist
Sage Weil [Tue, 26 May 2009 23:09:34 +0000 (16:09 -0700)]
kclient: avoid d_time reuse s.t. leases and dir rdcache can coexist

We want to be able to remember a lease even when we are issued
RDCACHE on the entire dir.  (Otherwise, we fail to release the
dentry when doing an op, and have to wait for the revoke round
trip.)

So avoid reusing d_time for the rdcache_gen.  Unconditionally set
it in update_dentry_lease.

Also, force inclusion of a no-op inode update if we need to include
the dentry lease release, even when the dir caps aren't changing.

16 years agomds: look at loner issued|wanted in file_eval
Sage Weil [Tue, 26 May 2009 22:51:01 +0000 (15:51 -0700)]
mds: look at loner issued|wanted in file_eval

16 years agorados: aio prototypes
Sage Weil [Wed, 27 May 2009 03:19:56 +0000 (20:19 -0700)]
rados: aio prototypes

16 years agolibrados: display result _after_ wait
Yehuda Sadeh [Tue, 26 May 2009 20:41:35 +0000 (13:41 -0700)]
librados: display result _after_ wait

16 years agoclass: don't add a class when no valid binary is supplied
Yehuda Sadeh [Tue, 26 May 2009 18:40:50 +0000 (11:40 -0700)]
class: don't add a class when no valid binary is supplied

16 years agoosd: don't send reply on message that got EAGAIN
Yehuda Sadeh [Tue, 26 May 2009 18:28:05 +0000 (11:28 -0700)]
osd: don't send reply on message that got EAGAIN

16 years agoosd: show error string in reply msg printout
Sage Weil [Tue, 26 May 2009 17:33:42 +0000 (10:33 -0700)]
osd: show error string in reply msg printout

16 years agomds: fix EXCL -> * check in file_eval to use loner_wanted, not issued
Sage Weil [Tue, 26 May 2009 17:28:42 +0000 (10:28 -0700)]
mds: fix EXCL -> * check in file_eval to use loner_wanted, not issued

We should leave EXCL if the loner doesn't want the EXCL bits
(WR, EXCL, BUFFER), not if it's not issued (which is transitory).

16 years agovstart: set debug levels in conf, not cmd line
Sage Weil [Tue, 26 May 2009 17:27:53 +0000 (10:27 -0700)]
vstart: set debug levels in conf, not cmd line

This lets you restart things more easily.

16 years agolibrados: remove length args from C++ interface
Sage Weil [Tue, 26 May 2009 16:39:30 +0000 (09:39 -0700)]
librados: remove length args from C++ interface

The bufferlists remove any need for an additional length arg.

Return ERANGE when buffers are too small.

16 years agomakefile: don't build fakesyn
Sage Weil [Tue, 26 May 2009 16:10:10 +0000 (09:10 -0700)]
makefile: don't build fakesyn

16 years agoosd: some cleanup, todos
Sage Weil [Mon, 25 May 2009 21:34:08 +0000 (14:34 -0700)]
osd: some cleanup, todos

16 years agokclient: fix READ|WRITE check
Sage Weil [Mon, 25 May 2009 21:20:34 +0000 (14:20 -0700)]
kclient: fix READ|WRITE check

FLAG, not OP.

16 years agoosd: remove some dead code
Sage Weil [Mon, 25 May 2009 21:20:03 +0000 (14:20 -0700)]
osd: remove some dead code

16 years agoosd: prepare clone before write op
Sage Weil [Mon, 25 May 2009 21:19:26 +0000 (14:19 -0700)]
osd: prepare clone before write op

This simplifies tracking (no need to set values aside we'll need for
clone).  Instead, we just make_writeable() before any write op to ensure
the clone exists.

16 years agoosd: track ObjectContext for cloned objects
Sage Weil [Mon, 25 May 2009 20:18:14 +0000 (13:18 -0700)]
osd: track ObjectContext for cloned objects

This orders access to a newly cloned object.  This is really only important
when you have a racing clone creation and a clone read.  The read will
look at the head's context and expect the clone to be there, but we may
not have applied the write to disk yet.  So, we set up an obc for the
cloned object too (with the same mode as the head).

16 years agoosd: implement rmw mode
Sage Weil [Mon, 25 May 2009 19:22:05 +0000 (12:22 -0700)]
osd: implement rmw mode

16 years agoosd: move everything into do_op, log helper
Sage Weil [Mon, 25 May 2009 19:21:40 +0000 (12:21 -0700)]
osd: move everything into do_op, log helper

16 years agoosd: only register the ObjectContext if we go on to write
Sage Weil [Mon, 25 May 2009 18:12:06 +0000 (11:12 -0700)]
osd: only register the ObjectContext if we go on to write

We only need it to be registered if we are carrying state over some period
of time, which isn't the case for reads.

16 years agoosd: unify read and write paths
Sage Weil [Mon, 25 May 2009 17:57:59 +0000 (10:57 -0700)]
osd: unify read and write paths

16 years agoosd: break apart write stages, transactions
Sage Weil [Sat, 23 May 2009 01:17:46 +0000 (18:17 -0700)]
osd: break apart write stages, transactions

We break the write preparation into three stages.  First we run the ops
vector and build the op_t transaction.  If it is non-empty, we build a
clone_t transaction to run before it, and a local_t that updates the osd's
PG log and metadata.

Take care to preserve old exists, size, and version values before running
the ops vector as those are clobbered but need to be send to the replica
osds.

16 years agofilestore: apply multiple Transactions as a unit
Sage Weil [Sat, 23 May 2009 00:53:44 +0000 (17:53 -0700)]
filestore: apply multiple Transactions as a unit

This lets the user build a few different Transactions and submit them to
the store for commit as a unit.

16 years agoosd: clean out zero->delete munging
Sage Weil [Fri, 22 May 2009 22:42:35 +0000 (15:42 -0700)]
osd: clean out zero->delete munging

16 years agoosd: clean up op_modify a bit
Sage Weil [Fri, 22 May 2009 19:36:45 +0000 (12:36 -0700)]
osd: clean up op_modify a bit

16 years agoclass: when class not found, don't wait forever
Yehuda Sadeh [Fri, 22 May 2009 23:57:52 +0000 (16:57 -0700)]
class: when class not found, don't wait forever

16 years agoclass: fix class removal via classmon
Yehuda Sadeh [Fri, 22 May 2009 22:30:44 +0000 (15:30 -0700)]
class: fix class removal via classmon

16 years agoclass: cmon doesn't crash if can't find requested class
Yehuda Sadeh [Fri, 22 May 2009 22:02:01 +0000 (15:02 -0700)]
class: cmon doesn't crash if can't find requested class

16 years agoclass: some cleanup
Yehuda Sadeh [Fri, 22 May 2009 21:58:27 +0000 (14:58 -0700)]
class: some cleanup

16 years agoclass: paxos distribution of class operations fixes
Yehuda Sadeh [Fri, 22 May 2009 21:52:25 +0000 (14:52 -0700)]
class: paxos distribution of class operations fixes

16 years agoclass: some fixes, testrados works again
Yehuda Sadeh [Fri, 22 May 2009 19:39:51 +0000 (12:39 -0700)]
class: some fixes, testrados works again

16 years agoclass: same version, multiple archs work
Yehuda Sadeh [Fri, 22 May 2009 18:28:40 +0000 (11:28 -0700)]
class: same version, multiple archs work

16 years agoosd: unify ReadOpContext and WriteOpContext -> OpContext
Sage Weil [Fri, 22 May 2009 19:16:08 +0000 (12:16 -0700)]
osd: unify ReadOpContext and WriteOpContext -> OpContext

16 years agoosd: refactor pick_read_snap into find_object_context
Sage Weil [Fri, 22 May 2009 18:43:38 +0000 (11:43 -0700)]
osd: refactor pick_read_snap into find_object_context

This gets us a bit closer to unifying the read and write paths.

16 years agoosd: always set snapid in MOSDOp
Sage Weil [Fri, 22 May 2009 17:30:26 +0000 (10:30 -0700)]
osd: always set snapid in MOSDOp

This reverts ced9929bffc36347a6521a861a482433249e978c.

16 years agoosd: check/change object mode in response to ops; fixes.
Sage Weil [Fri, 22 May 2009 17:16:08 +0000 (10:16 -0700)]
osd: check/change object mode in response to ops; fixes.

16 years agomake: fix libtestclass.so name
Yehuda Sadeh [Fri, 22 May 2009 16:40:32 +0000 (09:40 -0700)]
make: fix libtestclass.so name

16 years agoclass: fix class storage
Yehuda Sadeh [Thu, 21 May 2009 23:55:16 +0000 (16:55 -0700)]
class: fix class storage

16 years agoclass: add architecture to version
Yehuda Sadeh [Thu, 21 May 2009 23:40:05 +0000 (16:40 -0700)]
class: add architecture to version

16 years agoosd: some ObjectContext changes
Sage Weil [Thu, 21 May 2009 19:35:26 +0000 (12:35 -0700)]
osd: some ObjectContext changes

16 years agoosd: don't look at snapid if may_write().. it's not defined (see snapc!)
Sage Weil [Thu, 21 May 2009 19:33:43 +0000 (12:33 -0700)]
osd: don't look at snapid if may_write().. it's not defined (see snapc!)

16 years agoosd: fix pg locking in handle_op
Sage Weil [Thu, 21 May 2009 19:22:46 +0000 (12:22 -0700)]
osd: fix pg locking in handle_op

16 years agoclass: remove default test class
Yehuda Sadeh [Thu, 21 May 2009 18:02:29 +0000 (11:02 -0700)]
class: remove default test class

16 years agoclass: osd specifies class version when fetching class
Yehuda Sadeh [Thu, 21 May 2009 17:41:31 +0000 (10:41 -0700)]
class: osd specifies class version when fetching class

16 years agoosd: ProjectedObject -> ObjectContext; object access mode state notes
Sage Weil [Thu, 21 May 2009 16:52:24 +0000 (09:52 -0700)]
osd: ProjectedObject -> ObjectContext; object access mode state notes

16 years agoosd: reorg handle_op; turn off preprocess_op
Sage Weil [Thu, 21 May 2009 14:52:13 +0000 (07:52 -0700)]
osd: reorg handle_op; turn off preprocess_op

None of the preprocess stuff is working at the moment.. just skip it all
for now.

16 years agoclass: fix a class version issue
Yehuda Sadeh [Wed, 20 May 2009 23:26:37 +0000 (16:26 -0700)]
class: fix a class version issue

16 years agoclass: string class version can be specified
Yehuda Sadeh [Wed, 20 May 2009 23:00:03 +0000 (16:00 -0700)]
class: string class version can be specified

16 years agorados: add 'remove' operation
Yehuda Sadeh [Wed, 20 May 2009 21:13:43 +0000 (14:13 -0700)]
rados: add 'remove' operation

16 years agorados: supply a C++ api
Yehuda Sadeh [Wed, 20 May 2009 20:35:50 +0000 (13:35 -0700)]
rados: supply a C++ api

16 years agoclass: don't return nonexisting method
Yehuda Sadeh [Wed, 20 May 2009 18:16:22 +0000 (11:16 -0700)]
class: don't return nonexisting method

16 years agoosd: describe osd ops as READ, WRITE, or READ|WRITE
Sage Weil [Wed, 20 May 2009 19:10:12 +0000 (12:10 -0700)]
osd: describe osd ops as READ, WRITE, or READ|WRITE

An op is either a pure read (read, stat), a pure (blind) write (write
extent, delete), or read+write (e.g., read/modify/write).

Writes with read portions that are captured by ProjectedObjectInfo (size,
truncate attr) can pretend to be purely write (as they are now).

16 years agoobjecter: kill inc_locks.
Sage Weil [Wed, 20 May 2009 18:48:32 +0000 (11:48 -0700)]
objecter: kill inc_locks.

These aren't needed or used since there is a generic blacklist mechanism
in the osdmap (that is simpler and more robust).

16 years agoosd: add WriteOpContext; some refactoring
Sage Weil [Wed, 20 May 2009 16:52:49 +0000 (09:52 -0700)]
osd: add WriteOpContext; some refactoring

Push as much write state into the WriteOpContext as possible; use
RepGather only for addition items necessary for the op replication.

16 years agoosd: push all the read state into OpContext
Sage Weil [Wed, 20 May 2009 03:57:38 +0000 (20:57 -0700)]
osd: push all the read state into OpContext

Instead of referencing items on the stack, put everything important
directly in the OpContext.

16 years agolibrados: don't care about mds messages
Sage Weil [Tue, 19 May 2009 23:56:17 +0000 (16:56 -0700)]
librados: don't care about mds messages

16 years agolibrados: use generic C_SafeCond and wait safely for acks
Sage Weil [Tue, 19 May 2009 23:55:25 +0000 (16:55 -0700)]
librados: use generic C_SafeCond and wait safely for acks

16 years agoclass: fix warning
Sage Weil [Tue, 19 May 2009 23:28:49 +0000 (16:28 -0700)]
class: fix warning

16 years agoosd: return immediately after -EAGAIN
Yehuda Sadeh [Tue, 19 May 2009 23:34:38 +0000 (16:34 -0700)]
osd: return immediately after -EAGAIN

16 years agoosd: don't free message on EAGAIN after get_class
Yehuda Sadeh [Tue, 19 May 2009 23:25:13 +0000 (16:25 -0700)]
osd: don't free message on EAGAIN after get_class

16 years agolibrados: keep bufferlist on the stack
Yehuda Sadeh [Tue, 19 May 2009 22:30:22 +0000 (15:30 -0700)]
librados: keep bufferlist on the stack

16 years agoclass: pass context to method execution
Yehuda Sadeh [Tue, 19 May 2009 22:13:23 +0000 (15:13 -0700)]
class: pass context to method execution

16 years agoosd: some interface change in do_read_ops, uses context
Yehuda Sadeh [Tue, 19 May 2009 22:09:14 +0000 (15:09 -0700)]
osd: some interface change in do_read_ops, uses context

16 years agorados: look up pool by name
Sage Weil [Tue, 19 May 2009 22:42:26 +0000 (15:42 -0700)]
rados: look up pool by name

16 years agokclient: import into fs/staging
Sage Weil [Tue, 19 May 2009 21:44:29 +0000 (14:44 -0700)]
kclient: import into fs/staging