| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
also, time is converted to utc.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
|
|
|
|
|
|
|
| |
expire sets in how many seconds (in the future) object may be expired. Unexpire
removes the expiration that was set on the object.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
|
|
|
|
|
|
| |
added new set_expiration call
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
|
|
|
|
|
|
| |
part of the new object expiration operation.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
|
|
|
|
|
|
| |
A new osd op to set expiration time on an object
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
|
|
|
|
|
|
| |
that was really useless, and also bucket cleanup was broken anyway.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
|
|
|
|
|
|
| |
watch notification message was missing a ->put()
Signed-off-by: Yehuda Sadeh <yehuda.sadeh@dreamhost.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a bug in the push/pull code. Disable the recovery smarts by
default until we fix #2002.
There is currently a race (in the callers) where:
- an adjacent clone is missing
- we (calculate some clone overlap? and) start pulling
- we get adjacent clone
- we get push, calc a different overlap, and then get confused.
Signed-off-by: Sage Weil <sage@newdream.net>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is cheating, but we always use this class with int types, so it makes
this go away:
warning: test/encoding.cc:79:20: ‘*((void*)(& tu)+4).ConstructorCounter::data’ may be used uninitialized in this function [-Wuninitialized]
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| | |
warning: test/gather.cc:29:222: passing NULL to non-pointer argument 3 of ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, T2*) [with T1 = long int, T2 = C_Gather]’ [-Wconversion-null]
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| | |
warning: test/rados-api/list.cc:43:156: converting ‘false’ to pointer type for argument 1 of ‘char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)’ [-Wconversion-null]
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make these warnings go away:
warning: test/test_ipaddr.cc:217:156: converting ‘false’ to pointer type for argument 1 of ‘char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)’ [-Wconversion-null]
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| | |
warning: osd/PG.cc:1331:20: variable 'plu' set but not used [-Wunused-but-set-variable]
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| | |
warning: common/admin_socket_client.cc:166:19: 'socket_fd' may be used uninitialized in this function [-Wuninitialized]
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|/
|
|
|
|
|
| |
If we want something out and it is already out, succeed. This makes the
client command succeed if there is a transient error and it gets resent.
Signed-off-by: Sage Weil <sage@newdream.net>
|
|
|
|
|
|
|
|
|
| |
These aren't exposed outside the monitor, so we really only keep them
around to assist in mon recovery. Give ourselves a healthy margin over
the max join drift for that.
Fixes: #2000
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This can happen when we are starting, rolling back, remove current/, and
then fail before we snapshot a snap_ into place.
Most of the logic was already in place for this; we tried to fix it in
cd2dedd7d190a43a6be50a7f18849fe0123c72bc but missed this piece.
Fixes: #1999
Signed-off-by: Sage Weil <sage@newdream.net>
|
|
|
|
|
|
|
| |
Otherwise we'll reopen every second from here on out, without giving the
new session a chance to start up and do it's thing.
Signed-off-by: Sage Weil <sage@newdream.net>
|
|
|
|
|
|
| |
This is helpful e.g. from assert.
Signed-off-by: Sage Weil <sage@newdream.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can have a session with state where the mds is not up; don't blindly
send a message or we can get
./mds/MDSMap.h: In function 'const entity_inst_t MDSMap::get_inst(int)', in thread '0x7f092aad1910'
./mds/MDSMap.h: 465: FAILED assert(up.count(m))
ceph version 0.35-6-g6eb8862 (commit:6eb8862e91d142451e256aaa02b34c81a4f21dea)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x70) [0x71f11a]
2: (MDSMap::get_inst(int)+0x4b) [0x6dc191]
3: (Client::flush_cap_releases()+0x94) [0x677e60]
4: (Client::tick()+0x1f0) [0x690adc]
5: (C_C_Tick::finish(int)+0x1c) [0x6f3fbe]
6: (SafeTimer::timer_thread()+0x2c5) [0x6fbfe5]
7: (SafeTimerThread::entry()+0x19) [0x6fe399]
8: (Thread::_entry_func(void*)+0x20) [0x72e944]
9: /lib/libpthread.so.0 [0x7f092dea573a]
10: (clone()+0x6d) [0x7f092cba169d]
with a map like
$ ./ceph mds dump 85
2012-01-28 09:37:19.251946 mon <- [mds,dump,85]
2012-01-28 09:37:19.252618 mon.1 -> 'dumped mdsmap epoch 85' (0)
epoch 85
flags 0
created 2012-01-28 09:24:42.411202
modified 2012-01-28 09:28:45.093301
tableserver 0
root 0
session_timeout 60
session_autoclose 300
last_failure 0
last_failure_osd_epoch 18
compat compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object}
max_mds 1
in 0
up {}
failed 0
stopped
data_pools [0]
metadata_pool 1
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
No need to call onexit handlers, static dtors, whatever.
This may help with #1996 and #1549.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| |
| | |
Just a couple internal consistency checks for now. More specific ones
would depend on workload.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
|
| |
| |
| |
| |
| | |
Fixes: #1881
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
|
| |
| |
| |
| | |
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
|
| |
| |
| |
| | |
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
|
| |
| |
| |
| |
| |
| |
| | |
This is needed to allow higher layers in the stack to add admin socket
commands.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
|
|\ \
| |/
|/| |
|
| |
| |
| |
| | |
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This alerts the administrator when all OSDs for a PG have failed and the
monitor doesn't receive any further updates. Otherwise we may continue
to think a pg is active+clean when it is in fact offline.
Fixes: #1993
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|/
|
|
| |
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
|
|
|
| |
This looks more like the real cause for #1986. Op ctor gets a vector of
ops but out_* aren't initialized to match.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
|
|
|
|
|
| |
Clean this code up to explicitly whitelist what is ok so that the flow is
less annoying to follow/maintain, and so that we dump the transaction
contents on whitelisted errors.
Signed-off-by: Sage Weil <sage@newdream.net>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
|
|
|
|
|
|
|
| |
The osd shouldn't do this (even though we should tolerate it).
Signed-off-by: Sage Weil <sage@newdream.net>
Reviewed-by: Greg Farnum <gregory.farnum@dreamhost.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can't assume that the size of out_ops (from the reply) matches the
op->out_* vectors from our request state. In particular, the out_ops might
be shorter than what we sent the OSD if the OSD was sloppy. Check them.
We can assume that op->ops and op->out_* all match; assert as much in
op_submit().
Fixes: #1986
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Reviewed-by: Greg Farnum <gregory.farnum@dreamhost.com>
|
|
|
|
|
|
| |
Grr!
Signed-off-by: Sage Weil <sage@newdream.net>
|
|
|
|
|
|
| |
Also drop quotes around thread id.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
|
|
| |
Grr
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|\
| |
| |
| | |
Reviewed-by: Samuel Just <samuel.just@dreamhost.com>
|
| |
| |
| |
| | |
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is redundant--we can just use num_bytes. If we're worried about the
per-object overhead or rounding, we can factor in some overhead based on
num_objects.
And, the kb accounting has a bug (#1988).
Avoid changing the encoding at all for now. Next time the encoding changes
we'll drop the old field.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Just to be paranoid. Nothing we haven't set *should* affect the ABI,
but...
Always do this immediately after declaration so that we catch everything.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to keep an in-memory obc to track the state of the in-flight io
to disk. This is analogous to when an object is pushed + written, and we
can share the same completion function.
Signed-off-by: Sage Weil <sage@newdream.net>
|
|/
|
|
|
|
| |
Include pointer. This may help with #1979.
Signed-off-by: Sage Weil <sage@newdream.net>
|
|
|
|
|
|
|
| |
I saw a case (#1973) where the clone had the oid set to the head. That is
clearly wrong. Not sure what damage this caused.
Signed-off-by: Sage Weil <sage@newdream.net>
|
|\ |
|