]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agokclient: specify incoming message allocation function
Sage Weil [Mon, 10 Aug 2009 22:31:17 +0000 (15:31 -0700)]
kclient: specify incoming message allocation function

16 years agokclient: use ceph_msg_new to allocate incoming msgs
Sage Weil [Mon, 10 Aug 2009 22:20:40 +0000 (15:20 -0700)]
kclient: use ceph_msg_new to allocate incoming msgs

Read header into a temp buffer, and delay msg allocation until we
know how big it will be.

16 years agoosd: der, prior_set may contain down osds
Sage Weil [Mon, 10 Aug 2009 21:26:24 +0000 (14:26 -0700)]
osd: der, prior_set may contain down osds

Incorrectly cleaned this up a few commits back.

16 years agoosd: fixed up some debug output
Sage Weil [Mon, 10 Aug 2009 21:26:02 +0000 (14:26 -0700)]
osd: fixed up some debug output

16 years agoosd: fix osdmap decoding typo/crash for old versions
Sage Weil [Mon, 10 Aug 2009 20:38:28 +0000 (13:38 -0700)]
osd: fix osdmap decoding typo/crash for old versions

16 years agomon: include pool op in MPoolOp msg print
Sage Weil [Mon, 10 Aug 2009 20:38:12 +0000 (13:38 -0700)]
mon: include pool op in MPoolOp msg print

16 years agokclient: GFP_NOFS for vmalloc; vmalloc large incoming msgs too
Sage Weil [Mon, 10 Aug 2009 20:29:00 +0000 (13:29 -0700)]
kclient: GFP_NOFS for vmalloc; vmalloc large incoming msgs too

16 years agoosd: pg removal in a work queue
Sage Weil [Mon, 10 Aug 2009 20:12:49 +0000 (13:12 -0700)]
osd: pg removal in a work queue

16 years agoosd: ignore info racing with PGRemove
Sage Weil [Fri, 7 Aug 2009 22:34:24 +0000 (15:34 -0700)]
osd: ignore info racing with PGRemove

We may get multiple infos during peering, because we explicitly
query priors AND osds with existing pg data send them (thus we
may get 2).

The second info can race with a PGRemove.  When we get it, we have
to realize it's not _new_ stray content.. it's old content we're
already purging.

16 years agoosd: rev protocols
Sage Weil [Fri, 7 Aug 2009 22:18:01 +0000 (15:18 -0700)]
osd: rev protocols

16 years agoelector: off by one check
Sage Weil [Fri, 7 Aug 2009 21:59:09 +0000 (14:59 -0700)]
elector: off by one check

16 years agoosd: exclude lagging peers during backlog generation
Sage Weil [Fri, 7 Aug 2009 22:37:27 +0000 (15:37 -0700)]
osd: exclude lagging peers during backlog generation

16 years agoosd: use same_acting_since instead of same_primary_since in most cases
Sage Weil [Fri, 7 Aug 2009 17:19:08 +0000 (10:19 -0700)]
osd: use same_acting_since instead of same_primary_since in most cases

16 years agoosd: track same_up_since, same_acting_since, same_primary_since
Sage Weil [Thu, 6 Aug 2009 23:53:01 +0000 (16:53 -0700)]
osd: track same_up_since, same_acting_since, same_primary_since

16 years agoosd: use pg_temp to limit acting set to nodes who don't need backlog
Sage Weil [Thu, 6 Aug 2009 23:20:04 +0000 (16:20 -0700)]
osd: use pg_temp to limit acting set to nodes who don't need backlog

We still need to do something intelligent about it (namely, generate
backlogs for up-but-not-acting nodes, and then clear the pg_temp)..

16 years agorados: statically allocate time
Sage Weil [Fri, 7 Aug 2009 17:52:03 +0000 (10:52 -0700)]
rados: statically allocate time

16 years agorados: change command line arg
Sage Weil [Thu, 6 Aug 2009 23:16:16 +0000 (16:16 -0700)]
rados: change command line arg

16 years agomon: handle MOSDPGTemp
Sage Weil [Thu, 6 Aug 2009 23:15:48 +0000 (16:15 -0700)]
mon: handle MOSDPGTemp

Used to instruct monitor to set temporary mapping of an osd pg.

16 years agoosd: track both up and acting sets in PG, PG::Interval
Sage Weil [Thu, 6 Aug 2009 20:02:53 +0000 (13:02 -0700)]
osd: track both up and acting sets in PG, PG::Interval

16 years agoosd: decode old maps
Sage Weil [Fri, 7 Aug 2009 22:18:11 +0000 (15:18 -0700)]
osd: decode old maps

16 years agoosdmap: add pg_temp mapping
Sage Weil [Thu, 6 Aug 2009 19:40:26 +0000 (12:40 -0700)]
osdmap: add pg_temp mapping

16 years agoHadoop: Added setTimes to CephFileSystem and CephFSInterface.
Greg Farnum [Fri, 7 Aug 2009 22:54:33 +0000 (15:54 -0700)]
Hadoop: Added setTimes to CephFileSystem and CephFSInterface.

16 years agoHadoop: Cleanup for readability;
Greg Farnum [Fri, 7 Aug 2009 22:48:30 +0000 (15:48 -0700)]
Hadoop: Cleanup for readability;
removed warnings by typing a Vector.

16 years agoHadoop: CephFSInterface cleanup:
Greg Farnum [Fri, 7 Aug 2009 20:21:34 +0000 (13:21 -0700)]
Hadoop: CephFSInterface cleanup:
better error catching on JNI function use;
removed a few unused functions;
now takes advantage of implicit typecasting for clearer code
(no more manually creating j_ints and storing results to make a 1-line
function into 3+ lines; no more if statements returning JNI_TRUE/FALSE);
modified the getDir function as it wasn't very robust
about checking for . and .. entries and the Java code does that;
modified the Java code listPaths as it wasn't necessarily filling
the array and didn't compact it!

16 years agoHadoop: Added in initialization checks and
Greg Farnum [Fri, 7 Aug 2009 04:49:50 +0000 (21:49 -0700)]
Hadoop: Added in initialization checks and
limited use of Progressables.

16 years agoHadoop: Changed back to isDirectory as that
Greg Farnum [Fri, 7 Aug 2009 00:55:15 +0000 (17:55 -0700)]
Hadoop: Changed back to isDirectory as that
method was un-deprecated.

16 years agoHadoop: Throws IOException -> return null; interface requirement.
Greg Farnum [Thu, 6 Aug 2009 23:29:50 +0000 (16:29 -0700)]
Hadoop: Throws IOException -> return null; interface requirement.
setReplicationRaw is an old method name, and it doesn't need to be overridden.
getReplication was deprecated and no longer exists.

16 years agoradosgw: static linkage
Yehuda Sadeh [Fri, 7 Aug 2009 18:35:08 +0000 (11:35 -0700)]
radosgw: static linkage

16 years agoradosgw: rename symbols, use generic name for rgw
Yehuda Sadeh [Fri, 7 Aug 2009 17:46:29 +0000 (10:46 -0700)]
radosgw: rename symbols, use generic name for rgw

16 years agoradosgw: rename files to use the generic name
Yehuda Sadeh [Fri, 7 Aug 2009 17:26:07 +0000 (10:26 -0700)]
radosgw: rename files to use the generic name

16 years agoMerge commit 'origin/unstable' into rados
Yehuda Sadeh [Fri, 7 Aug 2009 15:50:05 +0000 (08:50 -0700)]
Merge commit 'origin/unstable' into rados

Conflicts:

src/Makefile.am

16 years agotodo
Sage Weil [Wed, 5 Aug 2009 22:57:11 +0000 (15:57 -0700)]
todo

16 years agodebian: fix typo in build script
Sage Weil [Wed, 5 Aug 2009 22:42:15 +0000 (15:42 -0700)]
debian: fix typo in build script

16 years agoHadoop: libhadoopcephfs now links against libceph
Greg Farnum [Thu, 6 Aug 2009 23:04:25 +0000 (16:04 -0700)]
Hadoop: libhadoopcephfs now links against libceph
rather than incorporating it; the Java code accounts for this and
loads based on a configuration setting -- no more worries
about java.library.path.

16 years agouClient: now cleans up open files on shutdown.
Greg Farnum [Thu, 6 Aug 2009 22:28:00 +0000 (15:28 -0700)]
uClient: now cleans up open files on shutdown.
Doesn't crash on a failed assert!

16 years agoHadoop: Implements getFileBlockLocations;
Greg Farnum [Thu, 6 Aug 2009 22:06:19 +0000 (15:06 -0700)]
Hadoop: Implements getFileBlockLocations;
adds ceph_close to CephFileSystem.

16 years agouClient/libceph: initial implementation of get_file_stripe_address
Greg Farnum [Wed, 5 Aug 2009 23:51:49 +0000 (16:51 -0700)]
uClient/libceph: initial implementation of get_file_stripe_address

16 years agoHadoop: Makes use of newly-available replication reporting.
Greg Farnum [Wed, 5 Aug 2009 21:57:00 +0000 (14:57 -0700)]
Hadoop: Makes use of newly-available replication reporting.

16 years agouClient/libceph: implement get_file_replication
Greg Farnum [Wed, 5 Aug 2009 19:27:00 +0000 (12:27 -0700)]
uClient/libceph: implement get_file_replication
add it to libceph.

16 years agouClient: Change file data function names for clarity;
Greg Farnum [Tue, 4 Aug 2009 23:56:23 +0000 (16:56 -0700)]
uClient: Change file data function names for clarity;
add function stubs for Hadoop use.

16 years agoHadoop: time conversion between Ceph and Hadoop;
Greg Farnum [Tue, 4 Aug 2009 23:45:07 +0000 (16:45 -0700)]
Hadoop: time conversion between Ceph and Hadoop;
ditch filling in the uid/gid since it's meaningless.

16 years agouClient: fill_stat now fills times properly
Greg Farnum [Tue, 4 Aug 2009 22:00:40 +0000 (15:00 -0700)]
uClient: fill_stat now fills times properly

16 years agov0.12 v0.12
Sage Weil [Wed, 5 Aug 2009 21:12:00 +0000 (14:12 -0700)]
v0.12

16 years agoMakefile: add missing header to noinst_HEADERS
Sage Weil [Wed, 5 Aug 2009 21:11:17 +0000 (14:11 -0700)]
Makefile: add missing header to noinst_HEADERS

16 years agoMakefile: remove java hadoop _SOURCES dep
Sage Weil [Wed, 5 Aug 2009 21:09:59 +0000 (14:09 -0700)]
Makefile: remove java hadoop _SOURCES dep

16 years agoosdmap: kill unused/useless get_num_osds()
Sage Weil [Wed, 5 Aug 2009 18:41:45 +0000 (11:41 -0700)]
osdmap: kill unused/useless get_num_osds()

16 years agomds: show journal entry lengths in debug output
Sage Weil [Wed, 5 Aug 2009 18:40:05 +0000 (11:40 -0700)]
mds: show journal entry lengths in debug output

16 years agokclient: cleanup unused label
Sage Weil [Wed, 5 Aug 2009 18:38:42 +0000 (11:38 -0700)]
kclient: cleanup unused label

16 years agokclient: revamp fsync
Sage Weil [Wed, 5 Aug 2009 18:38:32 +0000 (11:38 -0700)]
kclient: revamp fsync

Be smarter about when we write back caps on fsync, and when we
wait.  Also, wait only for those caps to write back, not for all
caps to be clean, avoiding starvation.

16 years agomds: include mds # in table names
Sage Weil [Tue, 4 Aug 2009 23:41:36 +0000 (16:41 -0700)]
mds: include mds # in table names

Silly us, we were using the same object names for multiple mds's.
That doesn't work so well.

Renamed like so:

mdstable_snaptable   -> mds_snaptable
mdstable_inotable    -> mds0_inotable
sessionmap           -> mds0_sessionmap
mdstable_anchortable -> mds_anchortable

16 years agomds: wait for rejoin_gather_finish to complete before finishing
Sage Weil [Tue, 4 Aug 2009 23:08:32 +0000 (16:08 -0700)]
mds: wait for rejoin_gather_finish to complete before finishing

To do that we add ourselves to the rejoin_ack_gather.  Otherwise
we end up in up:active before we've even finished our
parallel_fetch or finished up our caps!

16 years agomds: set primary lock state to LOCK from strong replica when appropriate
Sage Weil [Tue, 4 Aug 2009 23:07:24 +0000 (16:07 -0700)]
mds: set primary lock state to LOCK from strong replica when appropriate

This is needed only because we identify_files_to_recover() before
sending the rejoin acks, and that may twiddle the lock state, so
we need to be in a compatible state.

16 years agoMakefile: reorg
Sage Weil [Tue, 4 Aug 2009 21:16:03 +0000 (14:16 -0700)]
Makefile: reorg

16 years agomds: fix lock state assert on sync->excl
Sage Weil [Tue, 4 Aug 2009 21:10:50 +0000 (14:10 -0700)]
mds: fix lock state assert on sync->excl

16 years agomds: set up root inode properly on replay
Sage Weil [Tue, 4 Aug 2009 21:10:33 +0000 (14:10 -0700)]
mds: set up root inode properly on replay

16 years agomds: fix reversed conditional on simplelock ->excl transition
Sage Weil [Tue, 4 Aug 2009 20:19:41 +0000 (13:19 -0700)]
mds: fix reversed conditional on simplelock ->excl transition

16 years agoMakefile: no fakefuse
Sage Weil [Tue, 4 Aug 2009 20:09:32 +0000 (13:09 -0700)]
Makefile: no fakefuse

16 years agopsim: calc stddev
Sage Weil [Tue, 4 Aug 2009 19:53:22 +0000 (12:53 -0700)]
psim: calc stddev

16 years agoosdmap: only use domains if ndom > 1
Sage Weil [Tue, 4 Aug 2009 19:52:43 +0000 (12:52 -0700)]
osdmap: only use domains if ndom > 1

16 years agocrush: fix grammar so we can recompile what we decompiled
Sage Weil [Tue, 4 Aug 2009 17:22:39 +0000 (10:22 -0700)]
crush: fix grammar so we can recompile what we decompiled

16 years agomds: start resolve with root as UNKNOWN (if it's not ours)
Sage Weil [Tue, 4 Aug 2009 04:34:15 +0000 (21:34 -0700)]
mds: start resolve with root as UNKNOWN (if it's not ours)

Anything that's not ours should be unknown, including the root dir frag,
which normally starts out as mds0.

If we leave it as 0, then when mds0 claims a subset of /, its bounds are
left as 0 as well instead of being set to unknown.  Which leads to
incorrect resolve stage results.

16 years agomds: fix typo (C_Locker_Eval crash)
Sage Weil [Tue, 4 Aug 2009 03:00:08 +0000 (20:00 -0700)]
mds: fix typo (C_Locker_Eval crash)

16 years agokclient: fix locking snafu in ESTALE handling
Sage Weil [Tue, 4 Aug 2009 00:29:39 +0000 (17:29 -0700)]
kclient: fix locking snafu in ESTALE handling

16 years agokclient: choose mds based on dentry parent, if needed
Sage Weil [Tue, 4 Aug 2009 00:28:03 +0000 (17:28 -0700)]
kclient: choose mds based on dentry parent, if needed

16 years agomds: adjust mds state asserts to include clientreplay
Sage Weil [Tue, 4 Aug 2009 00:19:49 +0000 (17:19 -0700)]
mds: adjust mds state asserts to include clientreplay

16 years agomds: twiddle missing locks on export
Sage Weil [Mon, 3 Aug 2009 23:46:20 +0000 (16:46 -0700)]
mds: twiddle missing locks on export

16 years agomds: open_root only after up:active
Sage Weil [Mon, 3 Aug 2009 21:25:35 +0000 (14:25 -0700)]
mds: open_root only after up:active

Otherwise our lock states get totally out of whack.

16 years agomds: issue caps on non-auth inodes
Sage Weil [Mon, 3 Aug 2009 21:25:16 +0000 (14:25 -0700)]
mds: issue caps on non-auth inodes

Not sure how that && is_auth() snuck in there.

16 years agokclient: use caps, fragtree only to choose mds (not hierarchy)
Sage Weil [Mon, 3 Aug 2009 18:39:27 +0000 (11:39 -0700)]
kclient: use caps, fragtree only to choose mds (not hierarchy)

Since we require caps for all inodes in our cache, no need to consider
parents when identifying where to sent a request.  Just look at fragtree
(for fragmented dirs) or caps.

16 years agokclient: remove stray ; in dout macro
Sage Weil [Mon, 3 Aug 2009 19:10:29 +0000 (12:10 -0700)]
kclient: remove stray ; in dout macro

16 years agoHadoop: Replaced some unclean file references.
Greg Farnum [Tue, 4 Aug 2009 21:34:17 +0000 (14:34 -0700)]
Hadoop: Replaced some unclean file references.
Hey cool, it can do a map-reduce now!

16 years agouClient: chmod now protects unchangeable bits.
Greg Farnum [Tue, 4 Aug 2009 21:11:59 +0000 (14:11 -0700)]
uClient: chmod now protects unchangeable bits.

16 years agouClient: _rename doesn't remove nodes from cache.
Greg Farnum [Tue, 4 Aug 2009 19:43:34 +0000 (12:43 -0700)]
uClient: _rename doesn't remove nodes from cache.
Sage says this is unnecessary.

16 years agoHadoop: Added a setPermissions method.
Greg Farnum [Tue, 4 Aug 2009 07:54:21 +0000 (00:54 -0700)]
Hadoop: Added a setPermissions method.

16 years agoHadoop: CephFSInterface cleans up memory better on errors.
Greg Farnum [Tue, 4 Aug 2009 07:18:49 +0000 (00:18 -0700)]
Hadoop: CephFSInterface cleans up memory better on errors.

16 years agoHadoop: Is much more careful with filepath sanitizing in BOTH directions.
Greg Farnum [Tue, 4 Aug 2009 01:38:05 +0000 (18:38 -0700)]
Hadoop: Is much more careful with filepath sanitizing in BOTH directions.
Also has a minor interface change allowing it to build in Hadoop .20

16 years agouClient: Unmounting now waits on mds_requests.
Greg Farnum [Tue, 4 Aug 2009 00:36:35 +0000 (17:36 -0700)]
uClient: Unmounting now waits on mds_requests.

16 years agoHadoop: All configuration is now done through Hadoop's config mechanism.
Greg Farnum [Fri, 31 Jul 2009 21:17:29 +0000 (14:17 -0700)]
Hadoop: All configuration is now done through Hadoop's config mechanism.

This includes debug on CephFileSystem/n, passing it to ceph's Client,
and the monitor address.

16 years agoHadoop: Now does a proper stat.
Greg Farnum [Fri, 31 Jul 2009 20:03:31 +0000 (13:03 -0700)]
Hadoop: Now does a proper stat.

16 years agokclient: less noisy about mds session timeouts
Sage Weil [Mon, 3 Aug 2009 16:37:50 +0000 (09:37 -0700)]
kclient: less noisy about mds session timeouts

In particular, we don't want to print this multiple times.  Use
state to note when session appears to be hung, and pr_info on
transitions.

16 years agomsgr: avoid closing fd twice
Sage Weil [Fri, 31 Jul 2009 22:45:18 +0000 (15:45 -0700)]
msgr: avoid closing fd twice

Set fd to -1 after so we don't close it again later.  Otherwise
we get EBADF in random other places and are unhappy.

16 years agotodo
Sage Weil [Fri, 31 Jul 2009 23:08:25 +0000 (16:08 -0700)]
todo

16 years agokclient: debug peer_reset thing
Sage Weil [Thu, 30 Jul 2009 22:39:41 +0000 (15:39 -0700)]
kclient: debug peer_reset thing

I saw ceph_peer_reset with a bad entity_name.. wtf.

16 years agokclient: maintain per-cap-bit tid map to fix pipelined cap updates
Sage Weil [Thu, 30 Jul 2009 22:08:44 +0000 (15:08 -0700)]
kclient: maintain per-cap-bit tid map to fix pipelined cap updates

We want to allow pipelined cap updates, like

 client->mds  writeback Fw 1
dirty FwAx
 client->mds  writeback FwAx 2
dirty Ax
 client->mds  writeback Ax 3
 mds->client  ack 1
 mds->client  ack 2
 mds->client  ack 3

We need to make sure that the Fw bit is only cleaned after ack 2,
and Ax after ack 3.  A single tid for the inode isn't sufficient,
since that would e.g. ignore ack 2... we need a tid per cap bit so
we can pipeline writeback of different caps.

Note that we can't simply write back dirty | flushing caps every
time, since the write may also be releasing the cap.  And it would
gum up the MDS locking.

Move the last_tid to the inode, and only pay attention to 16 bits
per cap bit.. that's 17*2 bytes, vs the old 16.  Could be worse.
An 8 bit tid is probably also sufficient (that's 256 pipelined
writes) if we're concerned about inode size down the road.

16 years agokclient: maintain list of flushing snaps; reflush after reconnect
Sage Weil [Wed, 29 Jul 2009 22:52:41 +0000 (15:52 -0700)]
kclient: maintain list of flushing snaps; reflush after reconnect

16 years agokclient: fix queue_cap_snap refs, calls in handle_snap
Sage Weil [Wed, 29 Jul 2009 22:51:54 +0000 (15:51 -0700)]
kclient: fix queue_cap_snap refs, calls in handle_snap

Call on correct ci.  Skip past dropping inodes without dropping
our spinlock.  Hold ref on prior inode until we traverse to the
next one.  (We can't iput while holding our spinlock.)

16 years agoHadoop: Moved ceph debug level set into Java code; disabled CephIOStream debugs.
Greg Farnum [Thu, 30 Jul 2009 21:39:02 +0000 (14:39 -0700)]
Hadoop: Moved ceph debug level set into Java code; disabled CephIOStream debugs.

16 years agouClient: Whoops! Made Inode get/put dout at a lower importance.
Greg Farnum [Thu, 30 Jul 2009 21:37:21 +0000 (14:37 -0700)]
uClient: Whoops! Made Inode get/put dout at a lower importance.

16 years agoHadoop: Much cleanup of methods.
Greg Farnum [Thu, 30 Jul 2009 20:20:00 +0000 (13:20 -0700)]
Hadoop: Much cleanup of methods.

Many no-longer-required methods are now private and renamed; overrides and deprecated methods are clearly marked and mostly justified.

16 years agoHadoop: This method no longer exists in the FileSystem API.
Greg Farnum [Thu, 30 Jul 2009 19:36:09 +0000 (12:36 -0700)]
Hadoop: This method no longer exists in the FileSystem API.

16 years agoHadoop: No good reason to overwrite these copy/move functions that I can see
Greg Farnum [Thu, 30 Jul 2009 19:35:27 +0000 (12:35 -0700)]
Hadoop: No good reason to overwrite these copy/move functions that I can see

16 years agoHadoop: Since Client is behaving, put back in the close.
Greg Farnum [Thu, 30 Jul 2009 19:33:25 +0000 (12:33 -0700)]
Hadoop: Since Client is behaving, put back in the close.

16 years agouclient: Fixes refcounting bug when you chdir to cwd.
Greg Farnum [Thu, 30 Jul 2009 19:18:15 +0000 (12:18 -0700)]
uclient: Fixes refcounting bug when you chdir to cwd.

16 years agoHadoop: More work with deprecated and inappropriately-overridden functions.
Greg Farnum [Thu, 30 Jul 2009 03:11:15 +0000 (20:11 -0700)]
Hadoop: More work with deprecated and inappropriately-overridden functions.

16 years agoHadoop: Removed deprecated functions
Greg Farnum [Thu, 30 Jul 2009 02:29:36 +0000 (19:29 -0700)]
Hadoop: Removed deprecated functions

16 years agoHadoop: moveFromLocalFile uses copyFromLocalFile; is more robust.
Greg Farnum [Thu, 30 Jul 2009 02:27:02 +0000 (19:27 -0700)]
Hadoop: moveFromLocalFile uses copyFromLocalFile; is more robust.

16 years agoHadoop: More debugging output changes.
Greg Farnum [Thu, 30 Jul 2009 00:01:54 +0000 (17:01 -0700)]
Hadoop: More debugging output changes.

16 years agoHadoop: getFileStatus behaves better with folders.
Greg Farnum [Wed, 29 Jul 2009 21:47:51 +0000 (14:47 -0700)]
Hadoop: getFileStatus behaves better with folders.

16 years agouclient: removed cout debug statement
Greg Farnum [Wed, 29 Jul 2009 21:23:21 +0000 (14:23 -0700)]
uclient: removed cout debug statement

16 years agokclient: don't croak on mds request will NULL r_request
Sage Weil [Thu, 30 Jul 2009 20:42:45 +0000 (13:42 -0700)]
kclient: don't croak on mds request will NULL r_request