]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agouclient: handle short sync reads vs eof
Sage Weil [Thu, 13 Aug 2009 22:30:14 +0000 (15:30 -0700)]
uclient: handle short sync reads vs eof

16 years agoosd: reorder snapc setup and ORDERSNAP check
Sage Weil [Thu, 13 Aug 2009 22:12:08 +0000 (15:12 -0700)]
osd: reorder snapc setup and ORDERSNAP check

16 years agoradosgw: remove unneeded INT_MAX
Yehuda Sadeh [Thu, 13 Aug 2009 22:28:42 +0000 (15:28 -0700)]
radosgw: remove unneeded INT_MAX

16 years agoradosgw: list objects in chunks
Yehuda Sadeh [Thu, 13 Aug 2009 22:03:02 +0000 (15:03 -0700)]
radosgw: list objects in chunks

16 years agokclient: zero tail of page in readpage, readpages after short read
Sage Weil [Thu, 13 Aug 2009 20:41:24 +0000 (13:41 -0700)]
kclient: zero tail of page in readpage, readpages after short read

ceph_osdc_readpages isn't zeroing for us anymore (as of commit
23b81b9082c987a6f8221eb81c77fd7701086c5b).

16 years agokclient: check EOF on sync read to do short result when appropriate
Sage Weil [Thu, 13 Aug 2009 20:38:04 +0000 (13:38 -0700)]
kclient: check EOF on sync read to do short result when appropriate

We only want to return a short read if we read the end of file.
Otherwise, a short object read means we hit a hole and need to
zero-fill.

16 years agoconfigure: fix --with-radosgw
Sage Weil [Thu, 13 Aug 2009 18:23:54 +0000 (11:23 -0700)]
configure: fix --with-radosgw

16 years agomds: track caps we release in requests, and reissue on request cleanup if needed
Sage Weil [Thu, 13 Aug 2009 00:08:04 +0000 (17:08 -0700)]
mds: track caps we release in requests, and reissue on request cleanup if needed

We may suppress cap issue when we release caps in a request.  A lock state
change may have changed the allowed caps and should normally have issued
caps, but we suppress that because the request will way to embed that
normally.  When we cleanup the request, if we haven't issued on that cap
for some reason (maybe the request errored out, or forwarded, etc.), force
an issue then.

16 years agomds: do not suppress cap msg if it is a revocation
Sage Weil [Wed, 12 Aug 2009 20:19:25 +0000 (13:19 -0700)]
mds: do not suppress cap msg if it is a revocation

This can cause things to hang, because the mds is waiting for a revocation
ack that is never going to arrive.

In contrast, an issue can be suppressed if we know we are going to issue
to the client later.

16 years agoHadoop: Added some checks for not-a-file paths;
Greg Farnum [Tue, 11 Aug 2009 23:09:22 +0000 (16:09 -0700)]
Hadoop: Added some checks for not-a-file paths;
changed what delete returns on not-a-file.

16 years agouClient: move last_flush_tid into Inodes,
Greg Farnum [Tue, 11 Aug 2009 17:44:39 +0000 (10:44 -0700)]
uClient: move last_flush_tid into Inodes,
make kick_flushing_caps faster by overwriting tids.

16 years agoMakefile: include stop.sh in tarball
Sage Weil [Tue, 11 Aug 2009 23:29:01 +0000 (16:29 -0700)]
Makefile: include stop.sh in tarball

16 years agotodo
Sage Weil [Tue, 11 Aug 2009 23:22:11 +0000 (16:22 -0700)]
todo

16 years agopsim: ifdef out dead code
Sage Weil [Tue, 11 Aug 2009 23:14:41 +0000 (16:14 -0700)]
psim: ifdef out dead code

16 years agofilestore: clean out old debug print
Sage Weil [Tue, 11 Aug 2009 23:07:04 +0000 (16:07 -0700)]
filestore: clean out old debug print

16 years agouclient: avoid cap release delay on revoke
Sage Weil [Tue, 11 Aug 2009 22:43:07 +0000 (15:43 -0700)]
uclient: avoid cap release delay on revoke

16 years agorev ondisk versions
Sage Weil [Tue, 11 Aug 2009 22:24:40 +0000 (15:24 -0700)]
rev ondisk versions

16 years agoauth: add versioning to ClientTicket
Sage Weil [Tue, 28 Jul 2009 18:31:48 +0000 (11:31 -0700)]
auth: add versioning to ClientTicket

16 years agokclient: print osdmap pgid info
Sage Weil [Tue, 11 Aug 2009 22:21:07 +0000 (15:21 -0700)]
kclient: print osdmap pgid info

16 years agokclient: refactor readpages, striping
Sage Weil [Tue, 11 Aug 2009 22:20:51 +0000 (15:20 -0700)]
kclient: refactor readpages, striping

Make zero filling conditional on whether we did a short read or
the caller wants zeroed pages (e.g. O_DIRECT).  Simply lowest level
osdc readpages to do a short read if it hits a stripe boundary;
that is sufficient for the ->readpages() aops.

16 years agokclient: fix msgr incoming msg allocation stupid
Sage Weil [Tue, 11 Aug 2009 22:17:43 +0000 (15:17 -0700)]
kclient: fix msgr incoming msg allocation stupid

16 years agonstring: use correct hash function !!!!
Sage Weil [Tue, 11 Aug 2009 21:57:55 +0000 (14:57 -0700)]
nstring: use correct hash function !!!!

This needs to match up with the hash used by the kernel when
hashing the object name for placement.

Use the better hash for all strings, while we're at it.

16 years agokclient: fix sync_read return value
Sage Weil [Tue, 11 Aug 2009 19:18:44 +0000 (12:18 -0700)]
kclient: fix sync_read return value

Return total number of bytes read from ceph_sync_read.

16 years agomds: fix multiclient RD+WR loner logic
Sage Weil [Tue, 11 Aug 2009 17:59:20 +0000 (10:59 -0700)]
mds: fix multiclient RD+WR loner logic

We want to go mix if there is a mix of RD and WR wanted, not
just multiple writers.

16 years agokclient: fix sync read, avoid unnecessary zeroing in readpages
Sage Weil [Tue, 11 Aug 2009 17:44:04 +0000 (10:44 -0700)]
kclient: fix sync read, avoid unnecessary zeroing in readpages

For readpages and O_DIRECT, we want to zero out the full range
of pages we tried to read, even if the OSD does a short read,
because that implies those pages are full of zeroes.

For a regular sync read, though, we want to pass the OSD's short
read back to the application, and avoid wasting time zeroing
out pages we aren't going to look at.

16 years agoosd: recover primary in version (not object) order
Sage Weil [Tue, 11 Aug 2009 17:02:19 +0000 (10:02 -0700)]
osd: recover primary in version (not object) order

This should exhibit better disk (temporal) locality.

16 years agoosd: avoid calling std::list.size() in PG print method
Sage Weil [Tue, 11 Aug 2009 16:59:09 +0000 (09:59 -0700)]
osd: avoid calling std::list.size() in PG print method

So slow!

16 years agokclient: allocate mempool prior to sget()
Sage Weil [Mon, 10 Aug 2009 22:50:03 +0000 (15:50 -0700)]
kclient: allocate mempool prior to sget()

We hold a spinlock in ceph_set_super.  And it's not the time or
place.

16 years agouClient: Now pipelines cap flushes like the kclient.
Greg Farnum [Mon, 10 Aug 2009 23:46:58 +0000 (16:46 -0700)]
uClient: Now pipelines cap flushes like the kclient.
Analagous to the kclient changes in f7e60edead6d025d167715372dad601b499fb5a4.
The kick_flushing_caps function does way too many comparisons, though.

16 years agouClient: debug output for inode issues.
Greg Farnum [Mon, 10 Aug 2009 20:30:16 +0000 (13:30 -0700)]
uClient: debug output for inode issues.

16 years agoHadoop: CEPH_SETTATTR_ATIME -> CEPH_SETATTR_ATIME typo fix
Greg Farnum [Mon, 10 Aug 2009 05:45:48 +0000 (22:45 -0700)]
Hadoop: CEPH_SETTATTR_ATIME -> CEPH_SETATTR_ATIME typo fix

16 years agotodo
Sage Weil [Mon, 10 Aug 2009 23:50:26 +0000 (16:50 -0700)]
todo

16 years agoosd: wait for primary to build backlog when needed
Sage Weil [Mon, 10 Aug 2009 23:50:06 +0000 (16:50 -0700)]
osd: wait for primary to build backlog when needed

This is still required in certain cases.. unfortunately..

16 years agokclient: decode, map osdmap pg_temp
Sage Weil [Mon, 10 Aug 2009 23:42:31 +0000 (16:42 -0700)]
kclient: decode, map osdmap pg_temp

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