]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 years agomds: remove compiler warning in CInode
Greg Farnum [Fri, 20 Aug 2010 20:24:33 +0000 (13:24 -0700)]
mds: remove compiler warning in CInode

15 years agomds: fix get_projected_srnode to actually find an srnode,
Greg Farnum [Fri, 20 Aug 2010 20:11:49 +0000 (13:11 -0700)]
mds: fix get_projected_srnode to actually find an srnode,
instead of returning the (possibly NULL) last projected_node has set

Also, add brief documentation.

15 years agomds: remove unnecessary silent fallout from add_primary_dentry.
Greg Farnum [Fri, 20 Aug 2010 18:47:03 +0000 (11:47 -0700)]
mds: remove unnecessary silent fallout from add_primary_dentry.

15 years agomds: drop projected_snaprealm_ptr
Sage Weil [Fri, 20 Aug 2010 02:39:38 +0000 (19:39 -0700)]
mds: drop projected_snaprealm_ptr

Can also get this from the projected_nodes list.

15 years agomds: drop projected_xattrs_ptr
Sage Weil [Fri, 20 Aug 2010 02:34:30 +0000 (19:34 -0700)]
mds: drop projected_xattrs_ptr

We don't need these if we just look at the projected_nodes list, just like
get_projected_inode() and get_previous_projected_inode().

15 years agomds: allow you to DELETE snapshots in root directory too
Greg Farnum [Fri, 20 Aug 2010 00:19:59 +0000 (17:19 -0700)]
mds: allow you to DELETE snapshots in root directory too

15 years agoMerge branch 'unstable' into rootsnap
Greg Farnum [Thu, 19 Aug 2010 23:49:55 +0000 (16:49 -0700)]
Merge branch 'unstable' into rootsnap

15 years agoosd: disable potentially dangerous dead code
Sage Weil [Thu, 19 Aug 2010 23:06:24 +0000 (16:06 -0700)]
osd: disable potentially dangerous dead code

Greg got a segfault accessing the OSDOP& first reference. Not clear why,
but this whole block is dead code.

15 years agobacktrace: fix segfault in tcmalloc.
Greg Farnum [Thu, 19 Aug 2010 19:01:11 +0000 (12:01 -0700)]
backtrace: fix segfault in tcmalloc.
The print function is only called when we're about to crash anyway,
and the datamember 'foo' is allocated by ptmalloc, not tcmalloc. Freeing
it via tcmalloc causes its own crash which pollutes our debugging and
incorrectly sticks tcmalloc into the stack. So, just don't free.

15 years agomds: fix pick_inode_snap
Sage Weil [Thu, 19 Aug 2010 23:21:47 +0000 (16:21 -0700)]
mds: fix pick_inode_snap

Return when we find something.

15 years agomds: fix intermediate snapped inode updates
Sage Weil [Thu, 19 Aug 2010 23:21:18 +0000 (16:21 -0700)]
mds: fix intermediate snapped inode updates

Pass head inode to pick_inode_snap!

15 years agoutime: microsecond -> nanosecond resolution
Sage Weil [Thu, 19 Aug 2010 23:00:45 +0000 (16:00 -0700)]
utime: microsecond -> nanosecond resolution

Strictly speaking, this changes the encoding.  But, the encoding was
broken before, because ceph_timespec in ns but we were actually encoding
us.

But it's all subsecond resolution, so who cares.  Just change it!

15 years agobacktrace: fix segfault in tcmalloc.
Greg Farnum [Thu, 19 Aug 2010 19:01:11 +0000 (12:01 -0700)]
backtrace: fix segfault in tcmalloc.
The print function is only called when we're about to crash anyway,
and the datamember 'foo' is allocated by ptmalloc, not tcmalloc. Freeing
it via tcmalloc causes its own crash which pollutes our debugging and
incorrectly sticks tcmalloc into the stack. So, just don't free.

15 years agomds: allow snaps in root dir. This may be too large a stick, though
Greg Farnum [Wed, 11 Aug 2010 15:58:58 +0000 (08:58 -0700)]
mds: allow snaps in root dir. This may be too large a stick, though

15 years agomds: CInode should set projected_snaprealm_ptr to NULL if we pop the last one!
Greg Farnum [Thu, 19 Aug 2010 22:04:46 +0000 (15:04 -0700)]
mds: CInode should set projected_snaprealm_ptr to NULL if we pop the last one!

15 years agomds: project_snaprealm in project_and_dirty_inode. Fix users.
Greg Farnum [Thu, 19 Aug 2010 21:58:07 +0000 (14:58 -0700)]
mds: project_snaprealm in project_and_dirty_inode. Fix users.

15 years agomds: journal snaprealm changes in MDCache::journal_cow_dentry,
Greg Farnum [Thu, 19 Aug 2010 21:47:12 +0000 (14:47 -0700)]
mds: journal snaprealm changes in MDCache::journal_cow_dentry,
if a new snapnode exists.

This means that you shouldn't journal them elsewhere if they go through
journal_cow_dentry, so remove from mksnap and rmsnap!

15 years agomds: implement get_previous_projected_xattrs; use in MDCache::cow_inode().
Greg Farnum [Thu, 19 Aug 2010 20:05:30 +0000 (13:05 -0700)]
mds: implement get_previous_projected_xattrs; use in MDCache::cow_inode().

Fixes #351

15 years agomds: move snaprealm projection to operate cooperatively with inode projection.
Greg Farnum [Thu, 19 Aug 2010 18:47:50 +0000 (11:47 -0700)]
mds: move snaprealm projection to operate cooperatively with inode projection.

15 years agomds: move inode and xattr projection into projected_nodes list.
Greg Farnum [Tue, 17 Aug 2010 23:08:46 +0000 (16:08 -0700)]
mds: move inode and xattr projection into projected_nodes list.

15 years agostart switching to use projected_nodes in projection and journaling code
Greg Farnum [Tue, 17 Aug 2010 18:21:11 +0000 (11:21 -0700)]
start switching to use projected_nodes in projection and journaling code

15 years agomds: CInode: create new projection_node with pointers for
Greg Farnum [Tue, 17 Aug 2010 18:19:02 +0000 (11:19 -0700)]
mds: CInode: create new projection_node with pointers for
inode, xattrs, and snaprealm.

15 years agonotes on snaprealm projection in project_inode situations
Greg Farnum [Tue, 17 Aug 2010 18:18:21 +0000 (11:18 -0700)]
notes on snaprealm projection in project_inode situations

15 years agomds: CDentry. Remove needlessly redundant inline if-else.
Greg Farnum [Tue, 17 Aug 2010 18:13:42 +0000 (11:13 -0700)]
mds: CDentry. Remove needlessly redundant inline if-else.

15 years agoqa: add simple snaprealm test script.
Greg Farnum [Tue, 17 Aug 2010 21:24:46 +0000 (14:24 -0700)]
qa: add simple snaprealm test script.

15 years agoMerge branch 'testing' into unstable
Sage Weil [Thu, 19 Aug 2010 17:47:19 +0000 (10:47 -0700)]
Merge branch 'testing' into unstable

15 years agomds: make null snapflush helper, and call on cap removal too
Sage Weil [Thu, 19 Aug 2010 17:13:38 +0000 (10:13 -0700)]
mds: make null snapflush helper, and call on cap removal too

Move remove_client_cap() from MDCache->Locker while we're at it!

15 years agomds: simplify/fix early null snapflush check, clean up comment
Sage Weil [Thu, 19 Aug 2010 16:57:50 +0000 (09:57 -0700)]
mds: simplify/fix early null snapflush check, clean up comment

15 years agoosd: carry ondisk write lock for cloned objects
Sage Weil [Thu, 19 Aug 2010 16:52:33 +0000 (09:52 -0700)]
osd: carry ondisk write lock for cloned objects

This fixes a race when reading and deleting objects, as evidenced by

 cp bigfile a
 mkdir .snap/foo
 rmdir a
 diff bigfile .snap/foo/a    <-- reads cloned object before it hits disk

Reproduced by snaptest-snap-rm-cmp.sh.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomds: fix crash when REQSCATTER races with an actual scatter/MIX
Sage Weil [Wed, 18 Aug 2010 22:17:55 +0000 (15:17 -0700)]
mds: fix crash when REQSCATTER races with an actual scatter/MIX

15 years agomds: fix null snapflush logic
Sage Weil [Wed, 18 Aug 2010 20:49:11 +0000 (13:49 -0700)]
mds: fix null snapflush logic

We only want to do a null snapflush if we _know_ there isn't another one
coming: that is, there aren't any outstanding issued excl/wr cap bits at
the client.  The old test has the bitwise NOT backwards.  We can also
limit the test to the bits we care about.

15 years agomds: don't send null ack in do_snap_update
Sage Weil [Wed, 18 Aug 2010 20:45:43 +0000 (13:45 -0700)]
mds: don't send null ack in do_snap_update

(In this case, it's a null flushsnap.)

15 years agoqa: add snaptest-snap-rm-cmp
Sage Weil [Wed, 18 Aug 2010 20:44:34 +0000 (13:44 -0700)]
qa: add snaptest-snap-rm-cmp

This (usually) reproduced a bug where:

 - we write a big file
 - snap it
 - remove it.  this makes the mds cow it.
 - cp the snapped version.
   - mds syncs the head
   - client starts writeback
   - (sometimes!) client sends other caps back to the mds
     - mds does null flushsnap, not realizing a real one is still coming

15 years agomds: remove forward-on-nonauth-rdlock behavior
Sage Weil [Wed, 18 Aug 2010 20:16:57 +0000 (13:16 -0700)]
mds: remove forward-on-nonauth-rdlock behavior

The problem is that we may be rdlocking items with a different auth than
the main item we are modifying, so forwarding based on lock state is
inconsistent with our requirement that we be on the modified item's auth.

Either we can somehow mark whether the locked item is the "main thing" we
are operating on, or we can drop the forward behavior from the locker and
put any forwarding heuristics elsewhere.  I'm opting for the latter.

15 years agoauth: fix skipping of ~/ if $HOME subst fails
Sage Weil [Wed, 18 Aug 2010 19:56:53 +0000 (12:56 -0700)]
auth: fix skipping of ~/ if $HOME subst fails

We were breaking out of the loop entirely, and failing to check the rest
of the items in the path list.  Doh!

15 years agomds: oops, fix null snapflush fix
Sage Weil [Wed, 18 Aug 2010 17:38:40 +0000 (10:38 -0700)]
mds: oops, fix null snapflush fix

15 years agomds: clean up {have,get}_inode() definitions
Sage Weil [Wed, 18 Aug 2010 17:18:33 +0000 (10:18 -0700)]
mds: clean up {have,get}_inode() definitions

15 years agomds: fix null snapflush inode lookup
Sage Weil [Wed, 18 Aug 2010 17:18:21 +0000 (10:18 -0700)]
mds: fix null snapflush inode lookup

Don't use pick_inode_snap is totally wrong (it depends on the current set
of snaps, etc.).. look up the inode directly via the ino and last snapid,
which we have.  Fixes a failure at the assert.

Reported-by: Thomas Mueller <thomas@chaschperli.ch>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agorgw: fix commit warning.
Greg Farnum [Wed, 18 Aug 2010 17:27:48 +0000 (10:27 -0700)]
rgw: fix commit warning.
size_t is a long unsigned, not a long long unsigned.

15 years agoqa: add simple snaprealm test script.
Greg Farnum [Tue, 17 Aug 2010 21:24:46 +0000 (14:24 -0700)]
qa: add simple snaprealm test script.

15 years agomds: handle no flushsnap
Sage Weil [Tue, 17 Aug 2010 23:38:20 +0000 (16:38 -0700)]
mds: handle no flushsnap

We won't get a flushsnap when the client has EXCL/WR caps but no dirty
data.  The MDS needs to release the snapped inode's locks when it gets a
normal update but no FLUSHSNAP.

15 years agoqa: snaptest-capwb check no snapflush case first
Sage Weil [Tue, 17 Aug 2010 21:23:19 +0000 (14:23 -0700)]
qa: snaptest-capwb check no snapflush case first

15 years agoqa: snaptest-upchildreams.sh should clean up after itself
Sage Weil [Tue, 17 Aug 2010 21:22:56 +0000 (14:22 -0700)]
qa: snaptest-upchildreams.sh should clean up after itself

15 years agoqa: add capwb check for case where client doesn't send flushsnap
Sage Weil [Tue, 17 Aug 2010 19:47:36 +0000 (12:47 -0700)]
qa: add capwb check for case where client doesn't send flushsnap

15 years agomds: fix rdlock referral on snapped inode to head
Sage Weil [Tue, 17 Aug 2010 19:47:19 +0000 (12:47 -0700)]
mds: fix rdlock referral on snapped inode to head

Note: this still needs some fixing, as the head and snapped inodes may be
on different MDSs!

15 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).

15 years agoclient: direct requests in snapped namespace based on nonsnap parent
Sage Weil [Tue, 17 Aug 2010 18:50:38 +0000 (11:50 -0700)]
client: direct requests in snapped namespace based on nonsnap parent

We fixed snapdir before.. but we need to do the same for the entire snapped
portion of the namespace.

15 years agoqa: add snaptest-estale.sh
Sage Weil [Tue, 17 Aug 2010 18:37:42 +0000 (11:37 -0700)]
qa: add snaptest-estale.sh

Verify requests withing snapped namespace are directed to the proper
MDS.  We should never get ESTALE, only ENOENT.

15 years agoqa: make snaptest-2 output less ugly
Sage Weil [Mon, 16 Aug 2010 23:45:26 +0000 (16:45 -0700)]
qa: make snaptest-2 output less ugly

15 years agomds: make inode first track dn first on rename
Sage Weil [Mon, 16 Aug 2010 23:45:14 +0000 (16:45 -0700)]
mds: make inode first track dn first on rename

This mirrors the logic in cc8f5ac47c77d1e336e16d8deb024d507e0e8c59.  Make
the renamed inode first match the destdn to avoid problems down the line.
Do this after we've (potentially) cowed the inode in the journal_cow_dentry
on srcdn.

15 years agomds: make new inodes follow dn->first
Sage Weil [Mon, 16 Aug 2010 23:01:30 +0000 (16:01 -0700)]
mds: make new inodes follow dn->first

We can get a dn->first that is greater than the parent dir's seq.  Notably,
when we do something like

 mkdir foo
 mkdir foo/.snap/a
 rmdir foo/.snap/a
 rmdir foo

Here, the foo dentry has a high seq, and subsequent mkdir foo should make
sure we give the new foo dir inode the same seq (and not a lower one from
the parent).  Otherwise, things get confused later on.

15 years agomds: Use project_past_parent and pop_projected_snaprealm instead of
Greg Farnum [Fri, 13 Aug 2010 21:46:23 +0000 (14:46 -0700)]
mds: Use project_past_parent and pop_projected_snaprealm instead of
add_past_parent hack.

Adjusted pop_projected to invalidate caches if needed, and removed
project_past_parent's deletion of projected snaprealm.
Removed add_past_parent.

15 years agomds: use snaprealm projection in rmsnap
Greg Farnum [Fri, 13 Aug 2010 21:18:34 +0000 (14:18 -0700)]
mds: use snaprealm projection in rmsnap

15 years agomds: use snaprealm projection methods for mksnap
Greg Farnum [Fri, 13 Aug 2010 21:14:30 +0000 (14:14 -0700)]
mds: use snaprealm projection methods for mksnap

15 years agomds: Move SnapRealm::project_past_parent to the CInode and fix users.
Greg Farnum [Fri, 13 Aug 2010 18:47:21 +0000 (11:47 -0700)]
mds: Move SnapRealm::project_past_parent to the CInode and fix users.

For now, delete the projected version of the inode so it matches (or fixes?)
old behavior. Once users have been fixed to use pop_projected_snaprealm et al,
remove that.

15 years agomds: move snaprealm projection into CInode
Greg Farnum [Fri, 13 Aug 2010 17:16:14 +0000 (10:16 -0700)]
mds: move snaprealm projection into CInode

15 years agomds: add SnapRealm projection methods
Greg Farnum [Thu, 12 Aug 2010 21:11:17 +0000 (14:11 -0700)]
mds: add SnapRealm projection methods

15 years agomds: rename SnapRealm::snaprealm to SnapRealm::srnode
Greg Farnum [Thu, 12 Aug 2010 21:10:16 +0000 (14:10 -0700)]
mds: rename SnapRealm::snaprealm to SnapRealm::srnode

15 years agomds: switch all SnapRealm users to make use of snaprealm.
Greg Farnum [Thu, 12 Aug 2010 18:59:36 +0000 (11:59 -0700)]
mds: switch all SnapRealm users to make use of snaprealm.

15 years agomds: create a new sr_t struct to hold versioned data of a SnapRealm.
Greg Farnum [Thu, 12 Aug 2010 18:59:20 +0000 (11:59 -0700)]
mds: create a new sr_t struct to hold versioned data of a SnapRealm.

15 years agomds: flush log on cap writeback if !dirty and unstable locks
Sage Weil [Mon, 16 Aug 2010 21:27:34 +0000 (14:27 -0700)]
mds: flush log on cap writeback if !dirty and unstable locks

The problem is if we revoke caps, nothing is dirty, but we do writeback
because we are adjusting max_size.  Then we have to wait for the log to
flush even though the revocation should proceed immediately.  To move
things along, flush the log immediately.

This still isn't ideal.. it would be nice to allow the locking to continue
and adjust max_size in parallel, but that isn't always possible, and will
require some more thought.

15 years agomds: show cdentry authpin debug state
Sage Weil [Mon, 16 Aug 2010 21:03:40 +0000 (14:03 -0700)]
mds: show cdentry authpin debug state

15 years agoqa: show rm/cp progress on snaptest-2
Sage Weil [Mon, 16 Aug 2010 21:03:19 +0000 (14:03 -0700)]
qa: show rm/cp progress on snaptest-2

15 years agoqa: add test that client updates realm children on snap update
Sage Weil [Mon, 16 Aug 2010 20:35:54 +0000 (13:35 -0700)]
qa: add test that client updates realm children on snap update

15 years agoclient: correctly direct snapdir requests
Sage Weil [Mon, 16 Aug 2010 18:22:45 +0000 (11:22 -0700)]
client: correctly direct snapdir requests

Use real dir (and its caps), not the virtual snapdir.

15 years agoqa: add snap-rm-diff.sh to look for issues with snapshot integrity.
Greg Farnum [Mon, 16 Aug 2010 18:48:12 +0000 (11:48 -0700)]
qa: add snap-rm-diff.sh to look for issues with snapshot integrity.
Currently passes the script, although running these steps manually
(especially with smaller files) fails a fair percentage of the time for me.

15 years agomds: only kick head on snap rdlock if in SNAP_SYNC state
Sage Weil [Fri, 13 Aug 2010 21:20:39 +0000 (14:20 -0700)]
mds: only kick head on snap rdlock if in SNAP_SYNC state

We may, e.g., be in the SCAN state, which is totally unrelated to the
head!

15 years agomonclient: gracefully error out when given an invalid monmap path
Sage Weil [Mon, 16 Aug 2010 02:49:17 +0000 (19:49 -0700)]
monclient: gracefully error out when given an invalid monmap path

15 years agoosd: update missing_loc earlier in push
Sage Weil [Tue, 10 Aug 2010 22:31:29 +0000 (15:31 -0700)]
osd: update missing_loc earlier in push

This just avoids l=-1 from showing up in the logs, makes the logic a bit
cleaner (keeps missing and missing_loc in sync).

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agodebian: fix tcmalloc dependency
Sage Weil [Fri, 13 Aug 2010 22:12:34 +0000 (15:12 -0700)]
debian: fix tcmalloc dependency

Depend on libgoogle-perftools0, not libtcmalloc-minimal0, since we link
against libtcmalloc, not libtcmalloc-minimal.  Duh.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoclient: fix xattr cap writeback
Sage Weil [Fri, 13 Aug 2010 22:01:51 +0000 (15:01 -0700)]
client: fix xattr cap writeback

15 years agoclient: fix capsnap writeback of uid/gid/mode/xattrs
Sage Weil [Fri, 13 Aug 2010 22:01:37 +0000 (15:01 -0700)]
client: fix capsnap writeback of uid/gid/mode/xattrs

Some metadata wasn't making it into CapSnap and was subsequently getting
written back zeroed to the MDS.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoMerge branch 'tcmalloc' into unstable
Sage Weil [Thu, 12 Aug 2010 23:32:42 +0000 (16:32 -0700)]
Merge branch 'tcmalloc' into unstable

15 years agoceph.spec.in: require, build with tcmalloc
Sage Weil [Thu, 12 Aug 2010 23:32:10 +0000 (16:32 -0700)]
ceph.spec.in: require, build with tcmalloc

15 years agodebian: require tcmalloc
Sage Weil [Thu, 12 Aug 2010 23:32:01 +0000 (16:32 -0700)]
debian: require tcmalloc

15 years agomds: only kick head on snap rdlock if auth
Sage Weil [Thu, 12 Aug 2010 20:28:47 +0000 (13:28 -0700)]
mds: only kick head on snap rdlock if auth

- If we are non-auth, stick with the snap, and the auth will do the
inference.
- If we are auth, the head had better exist, because our lock is
pinned in an unreadable state for some reason.  Assert as much.

15 years agoMerge branch 'testing' into unstable
Sage Weil [Thu, 12 Aug 2010 20:10:44 +0000 (13:10 -0700)]
Merge branch 'testing' into unstable

15 years agofilestore: fix throttling on journal, op_queue for parallel and writeahead
Sage Weil [Thu, 12 Aug 2010 20:10:00 +0000 (13:10 -0700)]
filestore: fix throttling on journal, op_queue for parallel and writeahead

15 years agofilestore: fix race in op enqueuing to ensure throttle limit is honors
Sage Weil [Thu, 12 Aug 2010 19:59:05 +0000 (12:59 -0700)]
filestore: fix race in op enqueuing to ensure throttle limit is honors

15 years agoobjectstore: fix transaction get_num_bytes
Sage Weil [Thu, 12 Aug 2010 19:58:25 +0000 (12:58 -0700)]
objectstore: fix transaction get_num_bytes

The separate bytes field isn't used; use encoded bytes count for now.

15 years agomon: mon_clock_drift_* for consistency
Sage Weil [Thu, 12 Aug 2010 19:05:48 +0000 (12:05 -0700)]
mon: mon_clock_drift_* for consistency

15 years agoMerge branch 'testing' into unstable
Sage Weil [Thu, 12 Aug 2010 18:57:43 +0000 (11:57 -0700)]
Merge branch 'testing' into unstable

15 years agomsg: use RefCountedObject; overload get() only to cast return type
Sage Weil [Thu, 12 Aug 2010 18:53:55 +0000 (11:53 -0700)]
msg: use RefCountedObject; overload get() only to cast return type

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoosd: whitespace
Sage Weil [Thu, 12 Aug 2010 18:53:24 +0000 (11:53 -0700)]
osd: whitespace

15 years agoosd: improve l_osd_buf accuracy
Sage Weil [Thu, 12 Aug 2010 18:53:14 +0000 (11:53 -0700)]
osd: improve l_osd_buf accuracy

15 years agobuffer: fix/improve debug
Sage Weil [Thu, 12 Aug 2010 18:52:45 +0000 (11:52 -0700)]
buffer: fix/improve debug

15 years agomsgr: don't leak message when sending to a closed connection
Sage Weil [Thu, 12 Aug 2010 18:52:06 +0000 (11:52 -0700)]
msgr: don't leak message when sending to a closed connection

15 years agoosd: log push ops as push, not pull
Sage Weil [Thu, 12 Aug 2010 17:36:13 +0000 (10:36 -0700)]
osd: log push ops as push, not pull

15 years agologger: fix logger counter reset
Sage Weil [Thu, 12 Aug 2010 17:36:00 +0000 (10:36 -0700)]
logger: fix logger counter reset

Reset inc keys after each line; reset all keys on full reset.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoMerge branch 'testing' into unstable
Sage Weil [Wed, 11 Aug 2010 23:19:56 +0000 (16:19 -0700)]
Merge branch 'testing' into unstable

Conflicts:
configure.ac

15 years agoceph v0.21.1 v0.21.1
Sage Weil [Wed, 11 Aug 2010 21:59:19 +0000 (14:59 -0700)]
ceph v0.21.1

15 years agomon: use elector's epoch
Sage Weil [Wed, 11 Aug 2010 20:30:48 +0000 (13:30 -0700)]
mon: use elector's epoch

This fixes a race with successive elections: we may see a new election
(X+1), then get a victory (X).  The victory is ignored (rightly so).  But
then a paxos follows that which assumes X, and our check was against
mon_epoch, only updated on election victory.. and we are inconsistent and
crash.

So, just get rid of private mon_epoch and use the elector's value.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoMakefile: include logrotate.conf in tarball
Sage Weil [Wed, 11 Aug 2010 19:29:46 +0000 (12:29 -0700)]
Makefile: include logrotate.conf in tarball

15 years agodebian: fix update_pbuilder.sh
Sage Weil [Wed, 11 Aug 2010 17:46:31 +0000 (10:46 -0700)]
debian: fix update_pbuilder.sh

15 years agomon: rename mon_lease_wiggle_room -> mon_allowed_clock_drift
Greg Farnum [Wed, 11 Aug 2010 17:37:14 +0000 (10:37 -0700)]
mon: rename mon_lease_wiggle_room -> mon_allowed_clock_drift

15 years agomon: backoff clock drift warnings
Greg Farnum [Wed, 11 Aug 2010 16:49:29 +0000 (09:49 -0700)]
mon: backoff clock drift warnings

15 years agoosd: write (empty) log, bounds on remove_pg start
Sage Weil [Wed, 11 Aug 2010 17:05:18 +0000 (10:05 -0700)]
osd: write (empty) log, bounds on remove_pg start

This zeros the log, and the bounds, when we start pg removal.  Previously
we just removed the log and didn't write the (empty) bounds, breaking
cosd startup later when the old bounds are totally wrong.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agorgw: fix content length encoding
Yehuda Sadeh [Tue, 10 Aug 2010 20:37:58 +0000 (13:37 -0700)]
rgw: fix content length encoding

15 years agofilestore: flush using sync(2) hammer
Sage Weil [Sun, 8 Aug 2010 15:59:59 +0000 (08:59 -0700)]
filestore: flush using sync(2) hammer

Since we can't easily detect ext3 (let alone whether we have data=journal),
by default use sync(2) as an overly large hammer to flush all prior applied
ops to disk.  If the option is explicitly enabled, use fsync(2) on a
file to implicitly flush the journal and prior writes.  Admins should only
enable this if they have ext2 in data=journal mode.

15 years agotcmalloc: add support for tcmalloc.
Greg Farnum [Fri, 6 Aug 2010 21:47:06 +0000 (14:47 -0700)]
tcmalloc: add support for tcmalloc.

Right now it's only used on the MDS and OSD, but it can be added to mons too.