]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agomon: Fix issue first addressed in 2c5a3d99aa3be5ce114072e84f73a0a6426e63fd.
Greg Farnum [Wed, 29 Sep 2010 17:39:49 +0000 (10:39 -0700)]
mon: Fix issue first addressed in 2c5a3d99aa3be5ce114072e84f73a0a6426e63fd.
We were properly falling out of the while loop when we reached end(), but
not checking for it in the following if-else. Now we do!
Reported-by: Henry C Chang <henry_c_chang@tcloudcomputing.com>
14 years agoosd: do not request backlog from peers with empty pg
Sage Weil [Wed, 29 Sep 2010 15:25:27 +0000 (08:25 -0700)]
osd: do not request backlog from peers with empty pg

This avoids stalling out peering, because the peer just responds with
another 'empty' PG::Info in response (which we already have).

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: try to object from other replica(s) on EOF
Sage Weil [Wed, 29 Sep 2010 15:24:34 +0000 (08:24 -0700)]
osd: try to object from other replica(s) on EOF

If during recovery we are unable to pull from a replica due to reaching
EOF (e.g., zeroed out object), pull from the next available replica (if
any).

Eventually this should be extended to do the same when a checksum fails.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoAdd the setup-chroot.sh script
Colin Patrick McCabe [Wed, 29 Sep 2010 02:22:50 +0000 (19:22 -0700)]
Add the setup-chroot.sh script

The setup-chroot.sh script is very handy for building the server in a
chroot environment. I thought I would share it here in case anyone else
finds it useful.

14 years agoosd: clarify comment in recovery code
Sage Weil [Mon, 27 Sep 2010 22:41:32 +0000 (15:41 -0700)]
osd: clarify comment in recovery code

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomsgr: Don't take over old pipes if they're lossy.
Greg Farnum [Tue, 28 Sep 2010 18:45:43 +0000 (11:45 -0700)]
msgr: Don't take over old pipes if they're lossy.
Fixes bug #443.

14 years agoImplement interval_set::const_iterator
Colin Patrick McCabe [Wed, 15 Sep 2010 22:23:15 +0000 (15:23 -0700)]
Implement interval_set::const_iterator

14 years agoRename interval_set::begin and end
Colin Patrick McCabe [Mon, 27 Sep 2010 19:06:06 +0000 (12:06 -0700)]
Rename interval_set::begin and end

Rename interval_set::begin and end to interval_set::range_begin and
interval_set::range_end, respectively.

14 years agorgw: send 100-continue response only if requested
Yehuda Sadeh [Mon, 27 Sep 2010 16:37:07 +0000 (09:37 -0700)]
rgw: send 100-continue response only if requested

14 years agomds: set PREXLOCK next state to LOCK
Sage Weil [Mon, 27 Sep 2010 15:33:27 +0000 (08:33 -0700)]
mds: set PREXLOCK next state to LOCK

This really shouldn't happen (!), but if it does, at least avoid getting
the primary state out of sync with the replicas.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: don't block request on freezing if we're already auth_pinned.
Sage Weil [Mon, 27 Sep 2010 15:31:34 +0000 (08:31 -0700)]
mds: don't block request on freezing if we're already auth_pinned.

If we already auth_pinned, we're past the gates; don't stop on freezable.

This screws up xlock: the lock moves to PREXLOCK state, but the request
that would normally xlock it gets deferred because of a racing freezing
of the tree.  Then the PREXLOCK gather kicks in and badness happens.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: block request is freezing
Sage Weil [Sat, 25 Sep 2010 21:44:50 +0000 (14:44 -0700)]
mds: block request is freezing

This prevents a deadlock where:

 - client request releases caps
 - caps release deferred (freezing)
 - request proceeds (freezing)
 - can't revoke caps because they're released (but deferred)
 deadlock!

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: add coll_t::is_pg() method
Sage Weil [Sat, 25 Sep 2010 03:10:08 +0000 (20:10 -0700)]
osd: add coll_t::is_pg() method

This makes the interface a bit more adaptable for a situation where it has
a simple string representation instead of the strict structure it has now.
Eventually this function can simply attempt a pg_t parse.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix ESessions event type
Sage Weil [Fri, 24 Sep 2010 23:20:30 +0000 (16:20 -0700)]
mds: fix ESessions event type

Using the singular event type meant trying to decode as an ESession (and
failing!).

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix xlock state asserts for LocalLock
Sage Weil [Fri, 24 Sep 2010 22:54:57 +0000 (15:54 -0700)]
mds: fix xlock state asserts for LocalLock

The LocalLock (versionlocks) allow xlocking but have only a single state
(LOCK_LOCK).

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix locallock rule (missing column)
Sage Weil [Fri, 24 Sep 2010 22:22:18 +0000 (15:22 -0700)]
mds: fix locallock rule (missing column)

The fwr column was missing, leading to a 0 for xlock, which broke slave
xlocks.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: add rename failure hooks
Sage Weil [Fri, 24 Sep 2010 22:15:12 +0000 (15:15 -0700)]
mds: add rename failure hooks

14 years agoosd: fix pull completion tests, again
Sage Weil [Fri, 24 Sep 2010 21:50:05 +0000 (14:50 -0700)]
osd: fix pull completion tests, again

op->complete==false is inconclusive.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoceph: make version in backtrace look nice
Sage Weil [Fri, 24 Sep 2010 21:01:52 +0000 (14:01 -0700)]
ceph: make version in backtrace look nice

match debug log
include .h, not .c

14 years agoosd: clean out redundant (and wrong) complete calculation
Sage Weil [Fri, 24 Sep 2010 20:57:00 +0000 (13:57 -0700)]
osd: clean out redundant (and wrong) complete calculation

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: make sparse data/clone push behave with partial object push
Sage Weil [Fri, 24 Sep 2010 18:43:37 +0000 (11:43 -0700)]
osd: make sparse data/clone push behave with partial object push

We can't error out if we don't get everything we want in one go now that
we support pushing objects in pieces.  Remove this check entirely, since
we don't have a good error handling case anyway.

14 years agomds: defer MExportDirDiscover until we have root inode open
Sage Weil [Fri, 24 Sep 2010 18:10:52 +0000 (11:10 -0700)]
mds: defer MExportDirDiscover until we have root inode open

Otherwise we can't traverse or do anything useful.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: alloc auth xlock on versionlock/LocalLock
Sage Weil [Fri, 24 Sep 2010 17:19:25 +0000 (10:19 -0700)]
mds: alloc auth xlock on versionlock/LocalLock

This is done when we do a slave xlock in order do avoid pipelining updates
to the inode, making rollback of complex operations like rename/link
safe.

14 years agomds: defer cap release and update consistently when frozen
Sage Weil [Fri, 24 Sep 2010 16:40:40 +0000 (09:40 -0700)]
mds: defer cap release and update consistently when frozen

We need to preserve the order of processing of cap release and writeback
messages across handle_client_caps() and process_request_cap_release().
Use a helper with the appropriate condition, and defer the release
processing as needed.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: refactor process_cap_update a bit
Sage Weil [Fri, 24 Sep 2010 15:56:20 +0000 (08:56 -0700)]
mds: refactor process_cap_update a bit

Fewer args

14 years agomds: drop old/incorrect comment
Sage Weil [Fri, 24 Sep 2010 15:42:44 +0000 (08:42 -0700)]
mds: drop old/incorrect comment

14 years agomds: always mark parent scatterlock when marking dirty rstat
Sage Weil [Fri, 24 Sep 2010 15:15:54 +0000 (08:15 -0700)]
mds: always mark parent scatterlock when marking dirty rstat

Note that this will let the parent nestlock 'dirty' state get out of
sync with the lock state, as the whole point of the dirty rstat lists is
that it can happen any time.  It does, however, queue us up.

14 years agomds: mark dirty rstat inodes during recovery
Sage Weil [Fri, 24 Sep 2010 14:52:37 +0000 (07:52 -0700)]
mds: mark dirty rstat inodes during recovery

14 years agomds: error to log when inode/dirfrag rbytes get out of sync
Sage Weil [Thu, 23 Sep 2010 23:20:00 +0000 (16:20 -0700)]
mds: error to log when inode/dirfrag rbytes get out of sync

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: stubs for printing projected fragstat/rstat
Sage Weil [Thu, 23 Sep 2010 23:17:13 +0000 (16:17 -0700)]
mds: stubs for printing projected fragstat/rstat

Disabled for now, since it is so freaking verbose.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: assimilate dirty rstat inodes during scatter_writeback
Sage Weil [Thu, 23 Sep 2010 23:16:20 +0000 (16:16 -0700)]
mds: assimilate dirty rstat inodes during scatter_writeback

We put some of the predirty_journal_parents() code that calls the
project_rstat_inode_to_frag() into a common helper and use that.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: maintain dirty_rstat list
Sage Weil [Thu, 23 Sep 2010 20:05:06 +0000 (13:05 -0700)]
mds: maintain dirty_rstat list

Add on fetch or import of dirty_rstat; clear on export of dirty_rstat.

14 years agomds: add dirty_rstat CInode elist, state, pins
Sage Weil [Thu, 23 Sep 2010 20:04:00 +0000 (13:04 -0700)]
mds: add dirty_rstat CInode elist, state, pins

We need to track inodes with unpropagated rstat data on a per-dirfrag
basis so that we can propagate it when the nestlock becomes writeable.

14 years agoqa: improved rgw tests
Yehuda Sadeh [Fri, 24 Sep 2010 17:13:14 +0000 (10:13 -0700)]
qa: improved rgw tests

14 years agomakefile: drop quotes on tcmalloc CXXFLAGS
Sage Weil [Fri, 24 Sep 2010 04:20:31 +0000 (21:20 -0700)]
makefile: drop quotes on tcmalloc CXXFLAGS

14 years agomds: scatter pin frozen tree on importer too
Sage Weil [Thu, 23 Sep 2010 23:12:21 +0000 (16:12 -0700)]
mds: scatter pin frozen tree on importer too

The importer also needs to scatter pin.  This avoids scatterlock gather
races like so:

A: start exporting to B
A: freeze, scatter pin tree
C: initiate gather
A: delay replay to gather
B: reply to gather, do not include (non-auth) dirfrag
A,B: finish migration
A: reply to gather, do not include (now non-auth) dirfrag
C: gets no info about the dirfrag!

By pinning on the importer, we ensure that at least one MDS will respond
to the gather with auth dirfrag info.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: drop dead Renamer code
Sage Weil [Thu, 23 Sep 2010 19:26:42 +0000 (12:26 -0700)]
mds: drop dead Renamer code

14 years agomds: clarify inode dirstat/rstat locking
Sage Weil [Thu, 23 Sep 2010 19:20:36 +0000 (12:20 -0700)]
mds: clarify inode dirstat/rstat locking

The accounted_rstat must always remain consistent with the parent dirfrag,
which in turn means it is governed by the parent's nestlock.

The rstat is protected by _this_ inode's nestlock, and is updated by
scatter_writebehind() or predirty_journal_parents().

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix bounding frag rstat/fragstat update during import
Sage Weil [Thu, 23 Sep 2010 17:00:07 +0000 (10:00 -0700)]
mds: fix bounding frag rstat/fragstat update during import

Be careful about when we update bounding dirfrag info during an import.  If
the lock is in a MIX state, we do NOT want to update, since the inode
auth doesn't know jack (unless they are also dirfrag auth, in which case
we'll find out when we unscatter anyway).

Fixes fix 9d81f9d6.

14 years agomds: do not scatter_writebehind on nudge if replicated
Sage Weil [Thu, 23 Sep 2010 04:10:18 +0000 (21:10 -0700)]
mds: do not scatter_writebehind on nudge if replicated

This can cause the inode rstat etc to become out of sync with dirfrag
accounted_rstat when the scatterlock is not in a gathered state: the
local values will get updated but those on other nodes will not, and the
inode will drift out of sync with the dirfrags.

Other callers to scatter_writebehind() are all in contexts where we have
_just_ gathered dirfrag state, or there is no remote dirfrag state to
gather.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: use scatter pins for migration instead of rd/wrlocks
Sage Weil [Wed, 22 Sep 2010 22:42:52 +0000 (15:42 -0700)]
mds: use scatter pins for migration instead of rd/wrlocks

This is simpler (for the migrator), and wrlocks allow scatter_writebehind,
which is a no-no for a frozen tree.  By pinning the frozen dir's parent
inode, we prevent any scatter or unscatter operations from implicitly
updating metadata within the frozen root dirfrag.

14 years agomds: add scatterpins
Sage Weil [Wed, 22 Sep 2010 22:41:24 +0000 (15:41 -0700)]
mds: add scatterpins

14 years agobacktrace: include ceph version
Greg Farnum [Thu, 23 Sep 2010 16:39:59 +0000 (09:39 -0700)]
backtrace: include ceph version

14 years agoqa: add simple rgw test
Yehuda Sadeh [Thu, 23 Sep 2010 05:32:40 +0000 (22:32 -0700)]
qa: add simple rgw test

14 years agomds: fix eval_gather() for non-auth inodes
Sage Weil [Wed, 22 Sep 2010 21:02:08 +0000 (14:02 -0700)]
mds: fix eval_gather() for non-auth inodes

For non-auth nodes, we want a can_* policy that's < AUTH, not <= AUTH.
Adjust macro accordingly.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMerge branch 'testing' into unstable
Sage Weil [Wed, 22 Sep 2010 20:45:13 +0000 (13:45 -0700)]
Merge branch 'testing' into unstable

14 years agomon: return errors (not 0) from MonitorStore::get_bl_ss()
Sage Weil [Wed, 22 Sep 2010 20:32:11 +0000 (13:32 -0700)]
mon: return errors (not 0) from MonitorStore::get_bl_ss()

Checked callers, should be fine.

14 years agomon: move election start reset to starting_election() helper
Sage Weil [Wed, 22 Sep 2010 18:31:12 +0000 (11:31 -0700)]
mon: move election start reset to starting_election() helper

An election can start either because we call it, or because someone else
calls it.  Either way, we need to reset our state, so move that code into
the election_starting() callback, which is called by the elector's
start()/call_election() anyway.

This hopefully fixes a case where we see a timeout expire on the monitor
and fail the assertion

mon/Paxos.cc: In function 'void Paxos::lease_timeout()':
mon/Paxos.cc:684: FAILED assert(mon->is_peon())
 1: (SafeTimer::EventWrapper::finish(int)+0x259) [0x52da29]
 2: (Timer::timer_entry()+0x8e3) [0x52f523]
 3: (Timer::TimerThread::entry()+0xd) [0x46d45d]
 4: (Thread::_entry_func(void*)+0xa) [0x458aca]
 5: (()+0x6a3a) [0x7fe0bd6a4a3a]
 6: (clone()+0x6d) [0x7fe0bc8c277d]

The Paxos::election_starting() hook resets the timer, and will at least
close this possible cause.

Reported-by: Henry C Chang <henry_c_chang@tcloudcomputing.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: distribute flocklock properly!
Greg Farnum [Wed, 22 Sep 2010 18:40:23 +0000 (11:40 -0700)]
mds: distribute flocklock properly!

Previously we weren't handling it in a lot of our distributed system
areas, which would have broken stuff if it were being used.

14 years agomds: Make SimpleLock wait shift bits unique like they should be.
Greg Farnum [Wed, 22 Sep 2010 18:14:08 +0000 (11:14 -0700)]
mds: Make SimpleLock wait shift bits unique like they should be.

This wasn't actually breaking stuff before, but it did mean
we woke up stuff we didn't need to.

14 years agomon: Fix infinite looping, if failed_notes is empty.
Greg Farnum [Wed, 22 Sep 2010 16:49:58 +0000 (09:49 -0700)]
mon: Fix infinite looping, if failed_notes is empty.

Reported-by: Henry C Chang <henry_c_chang@tcloudcomputing.com>
14 years agomon: add debug output
Sage Weil [Wed, 22 Sep 2010 16:25:32 +0000 (09:25 -0700)]
mon: add debug output

14 years agomsgr: do no open connection when policy indicates we are lossy server
Sage Weil [Wed, 22 Sep 2010 16:25:22 +0000 (09:25 -0700)]
msgr: do no open connection when policy indicates we are lossy server

We should not initiate a connection if we are a lossy server; just drop
the message.

14 years agorgw: url_decode url prefix
Yehuda Sadeh [Tue, 21 Sep 2010 22:05:29 +0000 (15:05 -0700)]
rgw: url_decode url prefix

14 years agorgw: url_decode delimiter
Yehuda Sadeh [Tue, 21 Sep 2010 19:46:02 +0000 (12:46 -0700)]
rgw: url_decode delimiter

14 years agoMakefile: move tcmalloc checks outside of FUSE checks. Whoops.
Greg Farnum [Tue, 21 Sep 2010 22:04:38 +0000 (15:04 -0700)]
Makefile: move tcmalloc checks outside of FUSE checks. Whoops.

14 years agoMerge branch 'profiling' into unstable
Greg Farnum [Tue, 21 Sep 2010 21:56:26 +0000 (14:56 -0700)]
Merge branch 'profiling' into unstable

Conflicts:
src/Makefile.am

14 years agomds: enable tcmalloc profiling on MDSes. Add commands to start/dump/stop.
Greg Farnum [Sat, 18 Sep 2010 00:17:48 +0000 (17:17 -0700)]
mds: enable tcmalloc profiling on MDSes. Add commands to start/dump/stop.

14 years agoosd: enable tcmalloc profiling on OSDs. Add commands to start/dump/stop.
Greg Farnum [Sat, 18 Sep 2010 00:17:33 +0000 (17:17 -0700)]
osd: enable tcmalloc profiling on OSDs. Add commands to start/dump/stop.

14 years agoconfig: build infrastructure for handling tcmalloc's profiling.
Greg Farnum [Sat, 18 Sep 2010 00:16:57 +0000 (17:16 -0700)]
config: build infrastructure for handling tcmalloc's profiling.

14 years agoqa: add snaptest-git-ceph.sh
Sage Weil [Tue, 21 Sep 2010 20:39:43 +0000 (13:39 -0700)]
qa: add snaptest-git-ceph.sh

14 years agomds: correctly set straydn->first for rename target
Sage Weil [Tue, 21 Sep 2010 20:41:13 +0000 (13:41 -0700)]
mds: correctly set straydn->first for rename target

Make sure the straydn->first matches the rename target (destdnl->inode).
Unfortunately the cow happens _after_ the destdn->first is set, so instead
of trivially copying it, we dup the MAX calculation.  Add some temp
variables to clean up similar code in this method.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMerge branch 'testing' into unstable
Sage Weil [Tue, 21 Sep 2010 20:54:57 +0000 (13:54 -0700)]
Merge branch 'testing' into unstable

Conflicts:
src/mds/MDCache.cc

14 years agomds: do full pre_dirty()/mark_dirty() on cowed dentries
Sage Weil [Tue, 21 Sep 2010 20:44:02 +0000 (13:44 -0700)]
mds: do full pre_dirty()/mark_dirty() on cowed dentries

The dir commit/fetch and LogSegment::try_to_expire() rely on any new or
items in the directory getting new versions that correspond to a bump in
the dirfrag version.  This must include dentries/inodes that are created
by the cow process, or else we have problems during dir commit/fetch or
segment expire.

Change the dirty list in the Mutation to include the pv so that we can
properly mark them dirty later.

Leave the inode one alone.  We could theoretically do the same for the
dirty inodes, but this way we avoid projecting them and copying stuff
around.  Any dirty cowed inode will also have a dirty dentry, so it will
still get saved regardless.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: only return pdnvec for full path_traverse
Sage Weil [Tue, 21 Sep 2010 20:54:00 +0000 (13:54 -0700)]
mds: only return pdnvec for full path_traverse

We should only return the pdnvec for a full traverse.  i.e., either a
success, or a failure in which we instantiate a null dn for the trailing
entry.  This makes pdnvec well defined, and allows callers like
rdlock_path_pin_ref() to reply with a null lease when appropriate.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: don't instantiate null dentries for snapped namespace
Sage Weil [Tue, 21 Sep 2010 02:59:00 +0000 (19:59 -0700)]
mds: don't instantiate null dentries for snapped namespace

The dentry needs a [first,last] range and we don't know what first is when
we miss a lookup.  And part of the point of instantiating null dentires is
to issue leases against them, which we don't do.  The client will cache
the null result.

14 years agorgw: url_decode delimiter
Sage Weil [Tue, 21 Sep 2010 20:52:42 +0000 (13:52 -0700)]
rgw: url_decode delimiter

14 years agomakefile: build cfuse with tcmalloc
Greg Farnum [Tue, 21 Sep 2010 18:20:34 +0000 (11:20 -0700)]
makefile: build cfuse with tcmalloc

14 years agoMerge remote branch 'origin/objecter_ratelimit' into unstable
Sage Weil [Tue, 21 Sep 2010 18:00:23 +0000 (11:00 -0700)]
Merge remote branch 'origin/objecter_ratelimit' into unstable

14 years agolibrados: throttle messages via the objecter
Greg Farnum [Mon, 20 Sep 2010 16:58:41 +0000 (09:58 -0700)]
librados: throttle messages via the objecter

14 years agoobjecter: enable automatic throttling of all messages
Greg Farnum [Mon, 20 Sep 2010 16:58:29 +0000 (09:58 -0700)]
objecter: enable automatic throttling of all messages

14 years agoobjecter: add accounting to keep track of total in-flight messages.
Greg Farnum [Mon, 20 Sep 2010 16:33:06 +0000 (09:33 -0700)]
objecter: add accounting to keep track of total in-flight messages.

If the user wishes, they can call throttle_op to hold an operation
until it fits within the limits. The user is responsible for
consistency guarantees and making sure the locking will work!

14 years agoRevert "throttle: make count an atomic_t"
Greg Farnum [Mon, 20 Sep 2010 16:24:36 +0000 (09:24 -0700)]
Revert "throttle: make count an atomic_t"

Sage doesn't think this is likely to matter and doesn't want to risk such
a large change.

This reverts commit 3f8b3f7dc1023342ceb355bd09eab1db5d57703c.

14 years agoMerge branch 'testing' into unstable
Sage Weil [Sat, 18 Sep 2010 21:08:35 +0000 (14:08 -0700)]
Merge branch 'testing' into unstable

Conflicts:
configure.ac

14 years agov0.21.3 v0.21.3
Sage Weil [Fri, 17 Sep 2010 22:47:52 +0000 (15:47 -0700)]
v0.21.3

14 years agocauthtool: update man page
Sage Weil [Fri, 17 Sep 2010 18:48:57 +0000 (11:48 -0700)]
cauthtool: update man page

14 years agoclient: increase default cache size to 16K dentries and lru insertion point .25
Sage Weil [Sat, 18 Sep 2010 03:30:55 +0000 (20:30 -0700)]
client: increase default cache size to 16K dentries and lru insertion point .25

14 years agodebian: allow builddebs.sh build a specific dist
Sage Weil [Sat, 18 Sep 2010 03:19:59 +0000 (20:19 -0700)]
debian: allow builddebs.sh build a specific dist

14 years agorgw: get_data should not be initialized after being set
Yehuda Sadeh [Sat, 18 Sep 2010 01:26:48 +0000 (18:26 -0700)]
rgw: get_data should not be initialized after being set

14 years agorgw: make gateway dns name configurable
Yehuda Sadeh [Fri, 6 Aug 2010 21:13:21 +0000 (14:13 -0700)]
rgw: make gateway dns name configurable

14 years agodebian: make update_pbuilder.sh update a single dist at a time
Sage Weil [Fri, 17 Sep 2010 22:52:43 +0000 (15:52 -0700)]
debian: make update_pbuilder.sh update a single dist at a time

14 years agomakefile: add some flags recommended for use with tcmalloc.
Greg Farnum [Fri, 17 Sep 2010 22:07:45 +0000 (15:07 -0700)]
makefile: add some flags recommended for use with tcmalloc.

14 years agomkcephfs: use new cauthtool --cap syntax
Sage Weil [Fri, 17 Sep 2010 18:38:10 +0000 (11:38 -0700)]
mkcephfs: use new cauthtool --cap syntax

14 years agovstart.sh: use new cauthtool --cap syntax
Sage Weil [Fri, 17 Sep 2010 18:38:04 +0000 (11:38 -0700)]
vstart.sh: use new cauthtool --cap syntax

14 years agocauthtool: add simpler '--cap key val' syntax
Sage Weil [Fri, 17 Sep 2010 18:37:21 +0000 (11:37 -0700)]
cauthtool: add simpler '--cap key val' syntax

This lets you avoid creating a temp filename and doing '--caps filename'.
Instead, add each cap individually, like

--cap mon 'allow *' --cap mds 'allow' --cap osd 'allow rwx'

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: drop x/wrlocks before, rdlocks after sending reply
Sage Weil [Tue, 17 Aug 2010 19:16:02 +0000 (12:16 -0700)]
mds: drop x/wrlocks before, rdlocks after sending reply

This lets us issue the most leases/caps possible.  It also ensure we can
issue caps in the snapped namespace when we are still on the head inode
(previously, releasing the rdlock twiddled the state, the client didn't
get say Frc, and hung indefinitely).

14 years agomds: touch missed dentry when fetching dir on path traverse
Sage Weil [Fri, 17 Sep 2010 16:46:29 +0000 (09:46 -0700)]
mds: touch missed dentry when fetching dir on path traverse

We can get into a loop when doing a path traverse if we miss on a large
directory and then end up trimming the result we need before handling the
original request.  To avoid this, we simply put the wanted dentry at the
top of the LRU (instead of midpoint).

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoqa: update snaptests, add snaptest-multi-capsnaps.sh
Sage Weil [Fri, 17 Sep 2010 15:09:19 +0000 (08:09 -0700)]
qa: update snaptests, add snaptest-multi-capsnaps.sh

14 years agoclient: Make truncation work properly
Greg Farnum [Thu, 26 Aug 2010 21:04:45 +0000 (14:04 -0700)]
client: Make truncation work properly
The previous if block didn't work because inode->size was usually
changed well before handle_cap_trunc was ever invoked, so it never
did the truncation in the objectcacher! This was okay if you just truncated
a file and then closed it, but if you wrote a file, truncated part of it out,
and then wrote past the (new) end you would get reads that returned
the previously-truncated data out of what should have been a hole.

Now, we do the actual objectcacher truncation in update_inode_file_bits,
because all methods of truncation will move through there and this maintains
proper ordering.

14 years agoMerge branch 'testing' into unstable
Sage Weil [Thu, 16 Sep 2010 23:16:32 +0000 (16:16 -0700)]
Merge branch 'testing' into unstable

Conflicts:
src/osd/ReplicatedPG.cc

14 years agoosd: copy truncate_seq et al to clone oi
Sage Weil [Thu, 16 Sep 2010 23:15:30 +0000 (16:15 -0700)]
osd: copy truncate_seq et al to clone oi

These fields are logically object attributes that should be preserved
across the clone COW process.  (Not copying truncate_seq in particular
corrupts snapshot file data, depending on the order of arrival of racing
trimtrunc and writes.

14 years agoosd: fix is_pool_snaps_mode() for empty pools
Sage Weil [Thu, 16 Sep 2010 22:50:50 +0000 (15:50 -0700)]
osd: fix is_pool_snaps_mode() for empty pools

The data pool in particular has seq 0 and (initially) no removed snaps.  We
must not return true for that case, or else the OSD will use an empty
pool snap context and not the user/mds provided one.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agothrottle: make count an atomic_t
Greg Farnum [Thu, 16 Sep 2010 21:47:41 +0000 (14:47 -0700)]
throttle: make count an atomic_t

This means we don't need to take a mutex (and possibly force
ourselves to sleep!) in order to take or put. This is about to
be important since we're adding accounting to the Objecter.

14 years agoupdate TODO
Sage Weil [Thu, 16 Sep 2010 16:53:12 +0000 (09:53 -0700)]
update TODO

14 years agoinit-ceph: fix log_dir creation
Sage Weil [Thu, 16 Sep 2010 04:04:12 +0000 (21:04 -0700)]
init-ceph: fix log_dir creation

Use do_cmd so that it works for remote hosts.

14 years agorgw: fix cleanup for certain ops
Yehuda Sadeh [Wed, 15 Sep 2010 23:22:29 +0000 (16:22 -0700)]
rgw: fix cleanup for certain ops

This fixes bug #412

14 years agorgw: fix cleanup for certain ops
Yehuda Sadeh [Wed, 15 Sep 2010 23:22:29 +0000 (16:22 -0700)]
rgw: fix cleanup for certain ops

This fixes bug #412

14 years agomds: update realm parent pointer and pin parent inode changing realm past_parents
Sage Weil [Wed, 15 Sep 2010 16:56:51 +0000 (09:56 -0700)]
mds: update realm parent pointer and pin parent inode changing realm past_parents

All open past_parents need to be pinned.  Also the realm parent pointer
needs to be correct.

14 years agomds: need_snapflush for all snaps intersecting cowed inode range
Sage Weil [Tue, 14 Sep 2010 23:45:05 +0000 (16:45 -0700)]
mds: need_snapflush for all snaps intersecting cowed inode range

If the inode is [2,3], and the realm has snaps 2,3 both defined, then we
expect flushed snap info for both 2 and 3.

14 years agotime: format dates based on ISO 8601
Sage Weil [Tue, 14 Sep 2010 23:34:36 +0000 (16:34 -0700)]
time: format dates based on ISO 8601

e.g., 2010-09-14 16:33:34.280735