]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 years agorgw: put_obj uses write_full
Yehuda Sadeh [Thu, 10 Jun 2010 23:01:34 +0000 (16:01 -0700)]
rgw: put_obj uses write_full

15 years agotestradospp: add a test for librados trunc
Yehuda Sadeh [Thu, 10 Jun 2010 21:42:11 +0000 (14:42 -0700)]
testradospp: add a test for librados trunc

15 years agolibrados: add trunc operation
Yehuda Sadeh [Thu, 10 Jun 2010 21:41:53 +0000 (14:41 -0700)]
librados: add trunc operation

15 years agotestradospp: update test, use write_full
Yehuda Sadeh [Thu, 10 Jun 2010 21:12:20 +0000 (14:12 -0700)]
testradospp: update test, use write_full

15 years agolibrados: implement write_full
Yehuda Sadeh [Thu, 10 Jun 2010 21:04:07 +0000 (14:04 -0700)]
librados: implement write_full

15 years agoosd: fix null dereference in dout
Yehuda Sadeh [Thu, 10 Jun 2010 18:54:23 +0000 (11:54 -0700)]
osd: fix null dereference in dout

15 years agomds: be extra careful
Sage Weil [Thu, 10 Jun 2010 17:17:21 +0000 (10:17 -0700)]
mds: be extra careful

Probably implied by the refs == 0, but be explicit anyway.

15 years agomds: fix another instance of bad stray trimming code to use proper helper
Sage Weil [Thu, 10 Jun 2010 17:17:03 +0000 (10:17 -0700)]
mds: fix another instance of bad stray trimming code to use proper helper

15 years agomds: remove erroneous return statement
Greg Farnum [Thu, 10 Jun 2010 16:10:34 +0000 (09:10 -0700)]
mds: remove erroneous return statement

15 years agomds: a checker function like _is_dir_nonempty should only report results.
Greg Farnum [Thu, 10 Jun 2010 16:05:29 +0000 (09:05 -0700)]
mds: a checker function like _is_dir_nonempty should only report results.

Remove the call to reply_request and fix up the callers that need it.

15 years agomds: handle dup anchorclient ACKs gracefully
Sage Weil [Thu, 10 Jun 2010 05:17:22 +0000 (22:17 -0700)]
mds: handle dup anchorclient ACKs gracefully

One recovery scenario sees crisscrossing 'agree' and 'commit':

 C->S --> commit1
 S->C --> agree

 C<-S <== agree
  C->S --> commit2   .. client resends commit!

 S<-C <== commit1
  S->C --> ack      .. server resends ack!
 S<-C <== commit2
  S->C --> ack      .. server resends ack!

 C<-S <== commit1
  client journals ack
 C<-S <== commit2
  client should ignore dup ack  ***

*** but doesn't, because the 'remove from committing list' bit above was
never in the code, even as far back as v0.4 (just the comment).  Instead,
the map was getting fixed up in the _logged_ack() completion.  Move it
up here instead, where it belongs!

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: fix export caps
Sage Weil [Wed, 9 Jun 2010 21:43:32 +0000 (14:43 -0700)]
mds: fix export caps

Don't mangle sessionmap version by incrementing twice; pv is returned by
prepare_force_open_sessions().

15 years agomds: allow import caps pin from multiple replicas at once
Sage Weil [Wed, 9 Jun 2010 21:06:27 +0000 (14:06 -0700)]
mds: allow import caps pin from multiple replicas at once

e.g. on dentry unlink, replicas send their caps to the auth.  There may
be multiple replicas.

15 years agoosd: return EINVAL when snapc is invalid and trying to write
Yehuda Sadeh [Wed, 9 Jun 2010 20:49:54 +0000 (13:49 -0700)]
osd: return EINVAL when snapc is invalid and trying to write

15 years agoosd: don't clobber racing pg_info on active pg
Sage Weil [Wed, 9 Jun 2010 20:30:30 +0000 (13:30 -0700)]
osd: don't clobber racing pg_info on active pg

Wido saw a pg go active, but an activate log+info update crossed paths with
a pg_notify info, and the primary overwrote it's updated shiny new info
with the stale old info from the replica.  Don't do that.  It causes
problems down the line.  In this case, we got

osd/OSD.cc: In function 'void OSD::generate_backlog(PG*)':
osd/OSD.cc:3863: FAILED assert(!pg->is_active())
 1: (ThreadPool::worker()+0x28f) [0x5b08ff]
 2: (ThreadPool::WorkThread::entry()+0xd) [0x4edb8d]
 3: (Thread::_entry_func(void*)+0xa) [0x46892a]
 4: (()+0x69ca) [0x7f889ff249ca]
 5: (clone()+0x6d) [0x7f889f1446cd]

on the replica because it was active but the primary was restarting peering
due to the bad info.

15 years agoosd: refine SnapContext::is_valid()
Sage Weil [Wed, 9 Jun 2010 19:29:03 +0000 (12:29 -0700)]
osd: refine SnapContext::is_valid()

15 years agoosd: implement SnapContext::is_valid()
Sage Weil [Wed, 9 Jun 2010 19:27:55 +0000 (12:27 -0700)]
osd: implement SnapContext::is_valid()

15 years agoinit-ceph: don't fail if we fail to umount
Sage Weil [Wed, 9 Jun 2010 17:56:17 +0000 (10:56 -0700)]
init-ceph: don't fail if we fail to umount

It may not be mounted to begin with.

15 years agoosd: add --dump-pg-log command
Sage Weil [Wed, 9 Jun 2010 05:34:57 +0000 (22:34 -0700)]
osd: add --dump-pg-log command

15 years agoosd: clear newly_removed_snaps on osdmap update if unchanged
Sage Weil [Wed, 9 Jun 2010 04:36:56 +0000 (21:36 -0700)]
osd: clear newly_removed_snaps on osdmap update if unchanged

We only want to apply _newly_ removed snaps once, or else we try to trim
the same snaps multiple times, and crash like so

./include/interval_set.h: In function 'void interval_set<T>::insert(T, T) [with T = snapid_t]':
./include/interval_set.h:202: FAILED assert(0)
 1: (interval_set<snapid_t>::insert(snapid_t, snapid_t)+0x12c) [0x6b1728]
 2: (interval_set<snapid_t>::insert(snapid_t)+0x2f) [0x6b195d]
 3: (ReplicatedPG::snap_trimmer()+0x1c02) [0x66d5d6]
 4: (OSD::SnapTrimWQ::_process(PG*)+0x24) [0x6dc2ac]
 5: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x28) [0x6fa28a]
 6: (ThreadPool::worker()+0x23a) [0x7f57a4]
 7: (ThreadPool::WorkThread::entry()+0x19) [0x73e9b1]
 8: (Thread::_entry_func(void*)+0x20) [0x6508a4]
 9: /lib/libpthread.so.0 [0x7fa2707dc73a]
 10: (clone()+0x6d) [0x7fa26fa0669d]

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: use helper to send message to client; fix send to null connection
Sage Weil [Tue, 8 Jun 2010 23:43:29 +0000 (16:43 -0700)]
mds: use helper to send message to client; fix send to null connection

Sometimes session->connection is NULL; use session->inst in that case.

15 years agomds: remove erroneous bracket
Greg Farnum [Tue, 8 Jun 2010 23:33:59 +0000 (16:33 -0700)]
mds: remove erroneous bracket

15 years agoadd checks for being a snapshot root to dir_is_nonempty
Greg Farnum [Mon, 7 Jun 2010 17:04:33 +0000 (10:04 -0700)]
add checks for being a snapshot root to dir_is_nonempty

15 years agothrottle: allow take(0)
Sage Weil [Tue, 8 Jun 2010 22:36:55 +0000 (15:36 -0700)]
throttle: allow take(0)

15 years agomds: fix stale lease trimming xlist iterator abuse
Sage Weil [Tue, 8 Jun 2010 21:46:30 +0000 (14:46 -0700)]
mds: fix stale lease trimming xlist iterator abuse

15 years agomon: fix memory-leaked messages
Greg Farnum [Tue, 8 Jun 2010 19:10:47 +0000 (12:10 -0700)]
mon: fix memory-leaked messages

15 years agobuffer: fix padding distances
Greg Farnum [Mon, 7 Jun 2010 21:57:47 +0000 (14:57 -0700)]
buffer: fix padding distances

15 years agoosd: init auid to CEPH_AUTH_UID_DEFAULT in case authorizer doesn't set it.
Greg Farnum [Mon, 7 Jun 2010 19:01:34 +0000 (12:01 -0700)]
osd: init auid to CEPH_AUTH_UID_DEFAULT in case authorizer doesn't set it.

We should probably also require the authorizer to set it for us.

15 years agomds: scan stray dir, eval strays on mds startup
Sage Weil [Tue, 8 Jun 2010 20:38:15 +0000 (13:38 -0700)]
mds: scan stray dir, eval strays on mds startup

15 years agomon: make mon lease clock check protocol change backward compatible
Sage Weil [Tue, 8 Jun 2010 16:42:40 +0000 (09:42 -0700)]
mon: make mon lease clock check protocol change backward compatible

15 years agoqa: add untar_snap_rm.sh
Sage Weil [Tue, 8 Jun 2010 05:18:59 +0000 (22:18 -0700)]
qa: add untar_snap_rm.sh

15 years agoosd: print rollback osd_op nicely
Sage Weil [Tue, 8 Jun 2010 05:05:08 +0000 (22:05 -0700)]
osd: print rollback osd_op nicely

15 years agomds: wire Connection to Session when Session already exists on connect
Sage Weil [Mon, 7 Jun 2010 23:03:37 +0000 (16:03 -0700)]
mds: wire Connection to Session when Session already exists on connect

15 years agomds: funnel mds->client messages through single Session* helper
Sage Weil [Mon, 7 Jun 2010 23:03:14 +0000 (16:03 -0700)]
mds: funnel mds->client messages through single Session* helper

Simplify callers where possible.

15 years agomon: simplify clock drift checks
Sage Weil [Mon, 7 Jun 2010 22:42:19 +0000 (15:42 -0700)]
mon: simplify clock drift checks

Ignore lease sent vs lease_ack receive times bc multiple lease msgs may
be in flight and the ack may be from a previous one.  This was causing
spurious

 [WRN] : lease_ack from follower sent at time(10.06.07_15:07:11.441391), before lease extend was sent (10.06.07_15:07:11.826340)! Clocks not synchronized.

messages.

It is sufficient to just check for messages received from the future.  To
avoid cruftiness trying to do that when the only stamp is the lease
timeout, add a sent_timestamp to the message and use that instead.  This
simplifies things quite a bit, at the expense of not being backward
compatible.

15 years agomonc: behave in ms_handle_reset if cur_mon is < 0
Sage Weil [Mon, 7 Jun 2010 22:04:37 +0000 (15:04 -0700)]
monc: behave in ms_handle_reset if cur_mon is < 0

15 years agomsgr: don't throttle.get 0
Sage Weil [Mon, 7 Jun 2010 22:03:28 +0000 (15:03 -0700)]
msgr: don't throttle.get 0

15 years agothrottle: allow put(0)
Sage Weil [Mon, 7 Jun 2010 22:00:23 +0000 (15:00 -0700)]
throttle: allow put(0)

Still returns a consistent value for the count.

15 years agomsgr: don't thottle.put 0
Sage Weil [Mon, 7 Jun 2010 21:59:16 +0000 (14:59 -0700)]
msgr: don't thottle.put 0

15 years agoMerge remote branch 'origin/msgr' into unstable
Sage Weil [Mon, 7 Jun 2010 21:47:56 +0000 (14:47 -0700)]
Merge remote branch 'origin/msgr' into unstable

15 years agomds: use cap on head if there is none on the snapped inode
Sage Weil [Mon, 7 Jun 2010 19:05:55 +0000 (12:05 -0700)]
mds: use cap on head if there is none on the snapped inode

This is needed, in particular, when we're flushing snap data on an inode
that already got COWed.

15 years agoosd: use low-level helper getting obc in sub_op_push
Sage Weil [Mon, 7 Jun 2010 18:40:32 +0000 (11:40 -0700)]
osd: use low-level helper getting obc in sub_op_push

find_object_context does all sorts of stuff we don't need here: we know
which object the context is for.  Just set it up.

15 years agothrotle: add asserts on max and change parameters where appropriate
Greg Farnum [Mon, 7 Jun 2010 12:55:05 +0000 (05:55 -0700)]
throtle: add asserts on max and change parameters where appropriate

15 years agothrottle: fix assert count to actually use count
Greg Farnum [Mon, 7 Jun 2010 12:54:47 +0000 (05:54 -0700)]
throttle: fix assert count to actually use count

15 years agocrypto: don't clean up EVP table on every decrypt()
Sage Weil [Mon, 7 Jun 2010 05:14:50 +0000 (22:14 -0700)]
crypto: don't clean up EVP table on every decrypt()

Don't think that's appropriate?  And certainly doesn't happen for the
encrypt() case.

15 years agocrypto: don't leak memory in CryptoAES::encrypt()
Sage Weil [Mon, 7 Jun 2010 05:14:21 +0000 (22:14 -0700)]
crypto: don't leak memory in CryptoAES::encrypt()

15 years agomon: don't leak MAuth
Sage Weil [Mon, 7 Jun 2010 05:04:29 +0000 (22:04 -0700)]
mon: don't leak MAuth

15 years agothrottle: use signed counters and assert that count never drops below 0
Greg Farnum [Sat, 5 Jun 2010 00:01:32 +0000 (17:01 -0700)]
throttle: use signed counters and assert that count never drops below 0

15 years agomsgr: Fix uses of get_[data, payload, middle] to use throttling-aware functions.
Greg Farnum [Fri, 4 Jun 2010 23:19:00 +0000 (16:19 -0700)]
msgr: Fix uses of get_[data, payload, middle] to use throttling-aware functions.

15 years agomsgr: put throttler usage on Message destruct
Greg Farnum [Fri, 4 Jun 2010 22:01:30 +0000 (15:01 -0700)]
msgr: put throttler usage on Message destruct

15 years agoosd: fix compile issues
Greg Farnum [Fri, 4 Jun 2010 21:02:56 +0000 (14:02 -0700)]
osd: fix compile issues

15 years agomsgr: switch to get/set functions for Message:throttler
Greg Farnum [Fri, 4 Jun 2010 21:02:40 +0000 (14:02 -0700)]
msgr: switch to get/set functions for Message:throttler

15 years agoosd: add osd_client_message_size_cap option to config; default 500MB
Greg Farnum [Fri, 4 Jun 2010 20:37:25 +0000 (13:37 -0700)]
osd: add osd_client_message_size_cap option to config; default 500MB

And change the name in cosd to be that

15 years agoobjectcacher: add verify_stats() debugging helper
Sage Weil [Fri, 4 Jun 2010 23:31:42 +0000 (16:31 -0700)]
objectcacher: add verify_stats() debugging helper

15 years agoobjectcacher: fix stat accounting when resizing bufferheads
Sage Weil [Fri, 4 Jun 2010 23:31:08 +0000 (16:31 -0700)]
objectcacher: fix stat accounting when resizing bufferheads

Must keep stats in mind when adjusting bufferheads!

15 years agoobjectcacher: cleanup formatting
Sage Weil [Fri, 4 Jun 2010 23:10:44 +0000 (16:10 -0700)]
objectcacher: cleanup formatting

15 years agoobjectcacher: fix use of invalid iterator in map_write()
Sage Weil [Fri, 4 Jun 2010 23:05:55 +0000 (16:05 -0700)]
objectcacher: fix use of  invalid iterator in map_write()

The p points to bh, which is removed by merge_left.  Move it back to final,
so we can advance to the new next a few lines down.

15 years agoobjectcacher: match states before merging in map_write
Sage Weil [Fri, 4 Jun 2010 21:26:05 +0000 (14:26 -0700)]
objectcacher: match states before merging in map_write

The caller is going to set us to dirty, so we don't care what state we
have, so long as the left and right bits we're merging match all is ok.

15 years agoosd: fix rollback when head points at the rolled back snapshot
Yehuda Sadeh [Fri, 4 Jun 2010 23:20:35 +0000 (16:20 -0700)]
osd: fix rollback when head points at the rolled back snapshot

15 years agomsg: remove copy_payload and copy_data functions; change set to use throttler
Greg Farnum [Fri, 4 Jun 2010 20:23:57 +0000 (13:23 -0700)]
msg: remove copy_payload and copy_data functions; change set to use throttler

15 years agoMerge branch 'rbd' into unstable
Sage Weil [Fri, 4 Jun 2010 20:10:28 +0000 (13:10 -0700)]
Merge branch 'rbd' into unstable

15 years agoosd: clean up rollback debug output
Sage Weil [Fri, 4 Jun 2010 20:09:42 +0000 (13:09 -0700)]
osd: clean up rollback debug output

15 years agouclient: handle inode with no caps from mds
Sage Weil [Fri, 4 Jun 2010 19:54:25 +0000 (12:54 -0700)]
uclient: handle inode with no caps from mds

This happens when you readdir and some inodes are in a different snaprealm.

15 years agoosd: filter_xattrs on a rollback op
Greg Farnum [Fri, 4 Jun 2010 19:57:59 +0000 (12:57 -0700)]
osd: filter_xattrs on a rollback op

15 years agoosd: fix naughty iterator usage after invalidating it
Greg Farnum [Fri, 4 Jun 2010 19:55:27 +0000 (12:55 -0700)]
osd: fix naughty iterator usage after invalidating it

15 years agoosd: _make_clone now properly duplicates xattrs
Greg Farnum [Fri, 4 Jun 2010 19:19:06 +0000 (12:19 -0700)]
osd: _make_clone now properly duplicates xattrs

15 years agoosd: add filter_xattrs function to remove non-user xattrs from a map of them
Greg Farnum [Fri, 4 Jun 2010 19:49:20 +0000 (12:49 -0700)]
osd: add filter_xattrs function to remove non-user xattrs from a map of them

15 years agoprogress
Greg Farnum [Fri, 4 Jun 2010 19:04:08 +0000 (12:04 -0700)]
progress

15 years agomds: fix straydn->first part deux
Sage Weil [Fri, 4 Jun 2010 18:07:09 +0000 (11:07 -0700)]
mds: fix straydn->first part deux

9ed0c30ecf6611193db52e1facc1f46b37f04bc4 forgot to remove the old code.

15 years agodebugging output
Greg Farnum [Fri, 4 Jun 2010 01:22:24 +0000 (18:22 -0700)]
debugging output

15 years agorados: print out pool instead of object
Greg Farnum [Fri, 4 Jun 2010 01:22:18 +0000 (18:22 -0700)]
rados: print out pool instead of object

15 years agomds: only purge dentries with no extra refs (besides dirty)
Sage Weil [Fri, 4 Jun 2010 00:32:39 +0000 (17:32 -0700)]
mds: only purge dentries with no extra refs (besides dirty)

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: set straydn first to match inode on unlink
Sage Weil [Fri, 4 Jun 2010 00:30:41 +0000 (17:30 -0700)]
mds: set straydn first to match inode on unlink

15 years agomds: don't export stray (~mdsfoo/stray), and ignore in balancer
Sage Weil [Fri, 4 Jun 2010 00:26:11 +0000 (17:26 -0700)]
mds: don't export stray (~mdsfoo/stray), and ignore in balancer

We _must_ keep mdsdir and stray on local mds for normal operations.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: make discover work for multiversion inodes (e.g. dirs)
Sage Weil [Thu, 3 Jun 2010 23:55:14 +0000 (16:55 -0700)]
mds: make discover work for multiversion inodes (e.g. dirs)

If we don't have the specific snap, look up the head and see if it's
multiversion.

This doesn't give us a "range" lookup like we get with dentries because
the inode_map is a hash, not a map.  However, we shouldn't need it,
because we always have a specific snapped inode we're looking for (because
it is refered to by a dentry) or we are looking at a multiversion head.

15 years agomds: fix CDir::take_sub_waiting vs dnwaiter pin
Sage Weil [Thu, 3 Jun 2010 23:19:36 +0000 (16:19 -0700)]
mds: fix CDir::take_sub_waiting vs dnwaiter pin

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: kill open_foreign_stray; but open remote mdsdirs instead
Sage Weil [Thu, 3 Jun 2010 23:09:23 +0000 (16:09 -0700)]
mds: kill open_foreign_stray; but open remote mdsdirs instead

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: fix cap clone logic to look at matching first, not last
Sage Weil [Thu, 3 Jun 2010 22:00:44 +0000 (15:00 -0700)]
mds: fix cap clone logic to look at matching first, not last

The cap->client_follows is set to follows+1 by flushsnap, since the real
follows value isn't convenient.  But it is enough to know that it is more
than the old version's follows, so do that.

15 years agolibatomic: fix assert.h compilation
Yehuda Sadeh [Thu, 3 Jun 2010 23:44:31 +0000 (16:44 -0700)]
libatomic: fix assert.h compilation

15 years agomsgr: add Throttle pointer to Policy
Greg Farnum [Thu, 3 Jun 2010 23:40:32 +0000 (16:40 -0700)]
msgr: add Throttle pointer to Policy

15 years agoMerge branch 'unstable' into msgr
Greg Farnum [Thu, 3 Jun 2010 23:20:47 +0000 (16:20 -0700)]
Merge branch 'unstable' into msgr

15 years agoosd: make sure we don't return EAGAIN to client
Greg Farnum [Thu, 3 Jun 2010 20:54:24 +0000 (13:54 -0700)]
osd: make sure we don't return EAGAIN to client

15 years agomds: open past snap parents at end of rejoin phase
Sage Weil [Thu, 3 Jun 2010 21:14:04 +0000 (14:14 -0700)]
mds: open past snap parents at end of rejoin phase

We really need past parents open before we go active or else anything
that needs to build a snap context will fail.

15 years agomdsmap: show individual mds states in summary
Sage Weil [Thu, 3 Jun 2010 20:48:10 +0000 (13:48 -0700)]
mdsmap: show individual mds states in summary

15 years agoosd: improve snap_trimmer debug output
Sage Weil [Thu, 3 Jun 2010 20:26:39 +0000 (13:26 -0700)]
osd: improve snap_trimmer debug output

15 years agomds: another cap_exports message/mdcache encoding fix
Sage Weil [Thu, 3 Jun 2010 20:24:48 +0000 (13:24 -0700)]
mds: another cap_exports message/mdcache encoding fix

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: only adjust dn->first on lock msg if !multiversion
Sage Weil [Thu, 3 Jun 2010 20:08:16 +0000 (13:08 -0700)]
mds: only adjust dn->first on lock msg if !multiversion

The multiversion dn->first references a range of inode versions; don't
drag it forward.  Fixes 38cb2403c043e6676b563197d086edeb11b71ddf.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: more fix cap_exports typing
Sage Weil [Thu, 3 Jun 2010 19:03:23 +0000 (12:03 -0700)]
mds: more fix cap_exports typing

15 years agomds: fix scatter_nudge infinite loop
Sage Weil [Thu, 3 Jun 2010 18:59:50 +0000 (11:59 -0700)]
mds: fix scatter_nudge infinite loop

15 years agomds: fix ESessions type
Sage Weil [Thu, 3 Jun 2010 18:08:00 +0000 (11:08 -0700)]
mds: fix ESessions type

15 years agomds: drag in->first forward with straydn in handle_dentry_unlink
Sage Weil [Thu, 3 Jun 2010 18:04:05 +0000 (11:04 -0700)]
mds: drag in->first forward with straydn in handle_dentry_unlink

15 years agomds: fix anchorclient dup lookups, again
Sage Weil [Thu, 3 Jun 2010 17:38:56 +0000 (10:38 -0700)]
mds: fix anchorclient dup lookups, again

15 years agomds: only log successful requests as completed
Sage Weil [Thu, 3 Jun 2010 17:17:37 +0000 (10:17 -0700)]
mds: only log successful requests as completed

15 years agomds: anchor dir on mksnap
Sage Weil [Thu, 3 Jun 2010 17:09:19 +0000 (10:09 -0700)]
mds: anchor dir on mksnap

15 years agomkcephfs: error when creating journal file in a directory that differs from OSD...
CC Lien [Thu, 3 Jun 2010 16:45:10 +0000 (09:45 -0700)]
mkcephfs: error when creating journal file in a directory that  differs from OSD data dir

mkcephfs creates osd data directory automatically, but it doesn't create a
directory for the osd journal file.

When you have a journal file in a directory that differs from the osd data
directory in your configuration, like:

       osd data = /osd/osd$id
       osd journal = /journal/osd$id

You will receive a "mount failed to open journal /journal/osd0/journal: No
such file or directory" error when doing mkcephfs

Signed-off-by: CC Lien <cc_lien@tcloudcomputing.com>
15 years agomds: fix mismatched cap_exports type between msg and MDCache
Sage Weil [Thu, 3 Jun 2010 16:40:57 +0000 (09:40 -0700)]
mds: fix mismatched cap_exports type between msg and MDCache

The types need to match because they are encoded/decoded interchangeably.
See MMDSCacheRejoin::decode() and MDCache::rejoin_send_rejoins().

15 years agomds: fix trim_unlinked iterator badness
Sage Weil [Thu, 3 Jun 2010 16:33:27 +0000 (09:33 -0700)]
mds: fix trim_unlinked iterator badness

We may remove the next inode in the map.  Queue up unlinked roots first,
which we know remove_inode_recursive() won't reach, and iterate over those.

15 years agomds: define MDS_REF_SET in unstable
Sage Weil [Thu, 3 Jun 2010 16:28:15 +0000 (09:28 -0700)]
mds: define MDS_REF_SET in unstable

15 years agomds: clear dirtyscattered in remove_inode()
Sage Weil [Thu, 3 Jun 2010 16:27:56 +0000 (09:27 -0700)]
mds: clear dirtyscattered in remove_inode()

15 years agomds: allow dup lookups in anchorclient
Sage Weil [Thu, 3 Jun 2010 16:17:13 +0000 (09:17 -0700)]
mds: allow dup lookups in anchorclient

It's not practical for callers to avoid dups, particularly since they may
be unaware of each other.  And it's trivial to support it here.