]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
13 years agofilestore: audit + clean up error checks
Sage Weil [Tue, 24 Jan 2012 17:31:33 +0000 (09:31 -0800)]
filestore: audit + clean up error checks

- use temp var for errno
- in general return -errno from helpers

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoMerge commit '9dc7b9233b985bf859751fc89a5b02253e829836'
Sage Weil [Mon, 23 Jan 2012 21:50:19 +0000 (13:50 -0800)]
Merge commit '9dc7b9233b985bf859751fc89a5b02253e829836'

Reviewed-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agorgw: fix warning
Sage Weil [Mon, 23 Jan 2012 20:48:46 +0000 (12:48 -0800)]
rgw: fix warning

rgw/rgw_rest.cc:258: warning: comparison between signed and unsigned integer expressions

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoceph: bail out on first failing command
Sage Weil [Mon, 23 Jan 2012 20:43:19 +0000 (12:43 -0800)]
ceph: bail out on first failing command

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoceph: don't write output on error
Sage Weil [Mon, 23 Jan 2012 20:43:03 +0000 (12:43 -0800)]
ceph: don't write output on error

Accumulate all output, and write it at the end.  This way we can avoid
writing it if any of the commands fail.

Fixes: #1954
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: ignore MInfoRec, MNotifyRec in WaitActingChange
Sage Weil [Mon, 23 Jan 2012 18:21:04 +0000 (10:21 -0800)]
osd: ignore MInfoRec, MNotifyRec in WaitActingChange

We should ignore logs, infos, and notifies while we are waiting for the
map to change.  Peering has reached a dead-end (we need acting to change)
and we will redo our work when that happens.  That includes the replicas
resending notifies.

Fixes: #1958
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Reviewed-by: Samuel Just <samuel.just@dreamhost.com>
13 years agorgw: fix warning in 32bit arch
Yehuda Sadeh [Mon, 23 Jan 2012 17:50:56 +0000 (09:50 -0800)]
rgw: fix warning in 32bit arch

13 years agopg: unindex entries when clearing or removing from the log
Josh Durgin [Thu, 19 Jan 2012 01:34:50 +0000 (17:34 -0800)]
pg: unindex entries when clearing or removing from the log

Leaving the index around could cause use of the indexes to access
freed memory.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agoosd: do not clobber log on backfill progress update
Sage Weil [Thu, 19 Jan 2012 02:01:09 +0000 (18:01 -0800)]
osd: do not clobber log on backfill progress update

This is unnecessary and counterproductive, since the log is used to detect
dup ops.  It's an artifact of an earlier backfill iteration that didn't
preserve the log on the backfill target.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: read_user_buckets() fix redone
Yehuda Sadeh [Fri, 20 Jan 2012 20:54:14 +0000 (12:54 -0800)]
rgw: read_user_buckets() fix redone

The problem with the original fix is that it wasn't atomic. Going back
to the original inefficient (though atomic) method. We should limit
the number of buckets per user anyway, and shouldn't get into a point
where this code is actually execised.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoosd: implement --dump-journal
Sage Weil [Sun, 15 Jan 2012 05:15:02 +0000 (21:15 -0800)]
osd: implement --dump-journal

Dump the contents of the journal to stdout in text form.  Useful for
debugging.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: read large bucket directory correctly
Yehuda Sadeh [Fri, 20 Jan 2012 18:46:31 +0000 (10:46 -0800)]
rgw: read large bucket directory correctly

Issue #1955. When there wre too many buckets, we failed reading
the bucket directory.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: fix warning
Yehuda Sadeh [Thu, 19 Jan 2012 17:11:09 +0000 (09:11 -0800)]
rgw: fix warning

Signed-off-by: Yehuda Sadeh <yehuda.sadeh@dreamhost.com>
13 years agoMerge remote branch 'gh/wip-op-data-mux'
Sage Weil [Thu, 19 Jan 2012 04:41:04 +0000 (20:41 -0800)]
Merge remote branch 'gh/wip-op-data-mux'

Reviewed-by: Greg Farnum <greg.farnum@dreamhost.com>
Reviewed-by: Yehuda Sadeh <yehuda.sadeh@dreamhost.com>
13 years agoConvert mount.ceph to use KEY_SPEC_PROCESS_KEYRING
Neil Horman [Wed, 18 Jan 2012 17:00:14 +0000 (12:00 -0500)]
Convert mount.ceph to use KEY_SPEC_PROCESS_KEYRING

having mount.ceph use KEY_SPEC_USER_KEYRING to pass keys to the kernel has
several disadvantages:

1) It leaves the key setting in the uid_keyring, which is reachable from the
session keyring via a link (see keyctl list <root session keyring ref>).  This
means its accessible to other processes in the same session that don't need
access to it, even after the kernel is done with it.

2) The user keyring has some very counter-intuitive semantics as far as keyring
permissions goes.  The user keyring is access via a link from the session
keyring, which a process may not have permission to access in some situations.
For instance if mount.ceph is executed via su without having started a new
session, mount.ceph will not have access to the uid keyring unless the calling
proces (in this case su) has granted access permission.  The result is a -EPERM
error when executing mount.ceph to a cephx enabled server.  If the same command
is attempted in a new root session (e.g. su - or su -l), the mount command will
work fine

Switching the mount.ceph command to use the KEY_SPEC_PROCESS_KEYRING solves both
of these problems.  By using this keyring, accessibility is guaranteed because
its added and accessed in the same process context both in user space and the
kernel, assuring aceesability, despite the session specifics.  It also ensures
that the key will get cleaned up after the mount.ceph process exits
automatically, since there is no longer a need for it (the kernel clones the key
during the mount process and releases it on unmount).

I've tested this here on my local ceph cluster, and it works properly under both
su and su -l .

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Josh Durgin <josh.durgin@dreamhost.com>
13 years agoMerge branch 'wip-rgw-simplelog'
Yehuda Sadeh [Wed, 18 Jan 2012 19:46:24 +0000 (11:46 -0800)]
Merge branch 'wip-rgw-simplelog'

13 years agorgw: adjust high level debug level
Yehuda Sadeh [Wed, 18 Jan 2012 19:37:59 +0000 (11:37 -0800)]
rgw: adjust high level debug level

setting it to 2 instead of 1

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoMerge remote branch 'gh/wip-rgw-simplelog'
Sage Weil [Wed, 18 Jan 2012 19:25:13 +0000 (11:25 -0800)]
Merge remote branch 'gh/wip-rgw-simplelog'

* gh/wip-rgw-simplelog:
  rgw: add timestamp to high level log
  rgw: log host_bucket, http status
  rgw: simple request logging

Reviewed-by: Sage Weil <sage@newdream.net>
13 years agorgw: fix intent log processing
Yehuda Sadeh [Wed, 18 Jan 2012 07:42:08 +0000 (23:42 -0800)]
rgw: fix intent log processing

Intent log processing was completely broken. First, it wasn't
parsing the date correctly (due to failure to initalize strptime).
Second, it was trying to load the entire log to memory in one
piece (and in a racy way). This fixed bug #1948.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: initialize tm before calling strptime
Yehuda Sadeh [Wed, 18 Jan 2012 07:40:52 +0000 (23:40 -0800)]
rgw: initialize tm before calling strptime

strptime assumes tm is already initialized.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoobjecter: some helpful multiop result debug output
Sage Weil [Wed, 18 Jan 2012 05:59:32 +0000 (21:59 -0800)]
objecter: some helpful multiop result debug output

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoobjecter: make getxattrs set rval on decode error
Sage Weil [Wed, 18 Jan 2012 05:32:11 +0000 (21:32 -0800)]
objecter: make getxattrs set rval on decode error

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoobjecter: add stat ops to op vector!
Sage Weil [Wed, 18 Jan 2012 05:31:56 +0000 (21:31 -0800)]
objecter: add stat ops to op vector!

They work better that way.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoobjecter: gift reply data to outbl _after_ demuxing
Sage Weil [Wed, 18 Jan 2012 05:10:05 +0000 (21:10 -0800)]
objecter: gift reply data to outbl _after_ demuxing

Divvy up the result bl first, then gift the whole shebang to outbl.  If
we gift it first, there's nothing to demux (since we move intead of copy
the bufferlist ptrs).

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge remote branch 'gh/master' into wip-op-data-mux
Sage Weil [Wed, 18 Jan 2012 01:33:57 +0000 (17:33 -0800)]
Merge remote branch 'gh/master' into wip-op-data-mux

13 years agoosd: make in/outdata split/merge helpers static OSDOp methods
Sage Weil [Wed, 18 Jan 2012 01:33:37 +0000 (17:33 -0800)]
osd: make in/outdata split/merge helpers static OSDOp methods

Avoid defining new global functions.

Also add basic doxygen descriptions.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: log_show_next() fix reading of the next buffer
Yehuda Sadeh [Tue, 17 Jan 2012 23:10:58 +0000 (15:10 -0800)]
rgw: log_show_next() fix reading of the next buffer

Bug #1939. Failed reading large logs.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoMerge branch 'master' of ssh://github.com/NewDreamNetwork/ceph
Yehuda Sadeh [Tue, 17 Jan 2012 23:05:38 +0000 (15:05 -0800)]
Merge branch 'master' of ssh://github.com/NewDreamNetwork/ceph

13 years agoMerge remote branch 'gh/wip-backfill'
Sage Weil [Tue, 17 Jan 2012 22:23:58 +0000 (14:23 -0800)]
Merge remote branch 'gh/wip-backfill'

Reviewed-by: Samuel Just <samuel.just@dreamhost.com>
Conflicts:
src/ceph_mds.cc
src/ceph_osd.cc

13 years agofilestore: overwrite fsid during --mkfs
Sage Weil [Tue, 17 Jan 2012 19:41:15 +0000 (11:41 -0800)]
filestore: overwrite fsid during --mkfs

This mainly matters because read_fsid() now looks at the file size to
determine if it's an old- or new-style fsid, and not overwriting mean a
downgrade confuses things.  Not that anyone would do that, but...

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agorgw: reset timestamp when processing starts
Yehuda Sadeh [Tue, 17 Jan 2012 21:39:43 +0000 (13:39 -0800)]
rgw: reset timestamp when processing starts

otherwise we'd count also the time waiting for the request.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agohadoop: fix unix timestamp calculation in hadoop lib
Andrey Stepachev [Fri, 13 Jan 2012 15:12:24 +0000 (19:12 +0400)]
hadoop: fix unix timestamp calculation in hadoop lib

Hadoop always see wrong dates due of wrong timestamp calculation. Properly
convert nanoseconds to millis when adding.
Possibly fixes #1666.

Signed-off-by: Andrey Stepachev <octo@yandex-team.ru>
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agohadoop: check for valid filehandler, before using in next calls
Andrey Stepachev [Fri, 13 Jan 2012 11:58:36 +0000 (15:58 +0400)]
hadoop: check for valid filehandler, before using in next calls

In case of nonexistent file, calling Client::replication()
triggers assert.

Signed-off-by: Andrey Stepachev <octo@yandex-team.ru>
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agodoc: update control file for setting pg num on pool create
Greg Farnum [Tue, 10 Jan 2012 19:33:20 +0000 (11:33 -0800)]
doc: update control file for setting pg num on pool create

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agoTestRados: fix {min,max}_stride_size initialization
Sage Weil [Tue, 17 Jan 2012 19:43:04 +0000 (11:43 -0800)]
TestRados: fix {min,max}_stride_size initialization

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge branch 'master' of ssh://ceph.newdream.net/git/ceph
Yehuda Sadeh [Tue, 17 Jan 2012 18:54:57 +0000 (10:54 -0800)]
Merge branch 'master' of ssh://ceph.newdream.net/git/ceph

13 years agoosd: fix bind error checks
Sage Weil [Tue, 17 Jan 2012 18:51:00 +0000 (10:51 -0800)]
osd: fix bind error checks

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMakefile: fix testkeys non-tcmalloc linkage
Sage Weil [Tue, 17 Jan 2012 18:44:17 +0000 (10:44 -0800)]
Makefile: fix testkeys non-tcmalloc linkage

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agorgw: add timestamp to high level log
Yehuda Sadeh [Tue, 17 Jan 2012 17:54:31 +0000 (09:54 -0800)]
rgw: add timestamp to high level log

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: log host_bucket, http status
Yehuda Sadeh [Tue, 17 Jan 2012 01:46:49 +0000 (17:46 -0800)]
rgw: log host_bucket, http status

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: simple request logging
Yehuda Sadeh [Tue, 17 Jan 2012 01:03:19 +0000 (17:03 -0800)]
rgw: simple request logging

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agomds: abort startup if we fail to bind
Sage Weil [Mon, 16 Jan 2012 20:00:55 +0000 (12:00 -0800)]
mds: abort startup if we fail to bind

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: abort on startup if we fail to bind to a port
Sage Weil [Mon, 16 Jan 2012 19:54:26 +0000 (11:54 -0800)]
osd: abort on startup if we fail to bind to a port

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoceph: fix "run_uml.sh" script
Alex Elder [Tue, 17 Jan 2012 16:21:16 +0000 (10:21 -0600)]
ceph: fix "run_uml.sh" script

Last-minute cleverness prior to checkin broke the "run-uml.sh" script.
Rearange where a few definitions are done to make it work again.

Signed-off-by: Alex Elder <elder@dreamhost.com>
13 years agoTestRados: implement max_seconds, reimplement argument parsing
Sage Weil [Tue, 17 Jan 2012 00:54:24 +0000 (16:54 -0800)]
TestRados: implement max_seconds, reimplement argument parsing

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoRadosModel: prefix line with m_op
Sage Weil [Tue, 17 Jan 2012 00:22:44 +0000 (16:22 -0800)]
RadosModel: prefix line with m_op

So we can guage progress...

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomds: fix uninitialized value in MClientLease::h
Sage Weil [Tue, 17 Jan 2012 00:16:08 +0000 (16:16 -0800)]
mds: fix uninitialized value in MClientLease::h

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoMerge remote branch 'gh/master' into wip-op-data-mux
Sage Weil [Mon, 16 Jan 2012 22:38:37 +0000 (14:38 -0800)]
Merge remote branch 'gh/master' into wip-op-data-mux

13 years agomsgr: move operator<< for sockaddr_storage to msg_types.cc
Sage Weil [Mon, 16 Jan 2012 22:04:46 +0000 (14:04 -0800)]
msgr: move operator<< for sockaddr_storage to msg_types.cc

tcp.{cc,h} aren't built/linked cleanly.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoqa/workunits/rados/load-gen-mix.sh
Sage Weil [Mon, 16 Jan 2012 21:26:01 +0000 (13:26 -0800)]
qa/workunits/rados/load-gen-mix.sh

10k objects, not 100k!

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoqa: rados load-gen: use rbd pool
Sage Weil [Mon, 16 Jan 2012 21:25:46 +0000 (13:25 -0800)]
qa: rados load-gen: use rbd pool

No replay interval.

13 years agorados: load-gen: wake up on reply
Sage Weil [Mon, 16 Jan 2012 18:30:38 +0000 (10:30 -0800)]
rados: load-gen: wake up on reply

So we can send requests more than once per second.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agorados: fix load-gen 'max-ops'
Sage Weil [Mon, 16 Jan 2012 18:25:00 +0000 (10:25 -0800)]
rados: fix load-gen 'max-ops'

This was mixed up with min/max_op_len.  And max_ops wasn't being used
the initial object creation stage, flooding the OSDs.  Or during run().

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agolibrados: allow ObjectReadOperation::stat() to get time_t mtime
Sage Weil [Mon, 16 Jan 2012 18:19:19 +0000 (10:19 -0800)]
librados: allow ObjectReadOperation::stat() to get time_t mtime

We can't use the internal utime_t type here.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoMerge remote branch 'gh/master' into wip-op-data-mux
Sage Weil [Mon, 16 Jan 2012 18:16:23 +0000 (10:16 -0800)]
Merge remote branch 'gh/master' into wip-op-data-mux

Conflicts:
src/librados.cc
src/objclass/class_api.cc
src/rgw/rgw_rados.cc

13 years agoosd: recover_primary_got() -> recover_got()
Sage Weil [Mon, 16 Jan 2012 17:46:10 +0000 (09:46 -0800)]
osd: recover_primary_got() -> recover_got()

This is called on primary and replicas alike.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: clear missing set on replica when restarting backfill
Sage Weil [Mon, 16 Jan 2012 17:34:47 +0000 (09:34 -0800)]
osd: clear missing set on replica when restarting backfill

The primary does the same in PG::activate().

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomsgr: don't assert on socket(2) failure
Sage Weil [Mon, 16 Jan 2012 05:56:00 +0000 (21:56 -0800)]
msgr: don't assert on socket(2) failure

This can happen if we're connecting to an invalid address.  Generate an
error message instead of crashing.

See #1942
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agomsgr: uninline operator<< on sockaddr_storage
Sage Weil [Sun, 15 Jan 2012 05:16:22 +0000 (21:16 -0800)]
msgr: uninline operator<< on sockaddr_storage

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoosd: rev osd internal cluster protocol
Sage Weil [Sat, 14 Jan 2012 01:13:34 +0000 (17:13 -0800)]
osd: rev osd internal cluster protocol

Prevent backfill code from talking to pre-backfill code.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge branch 'stable'
Sage Weil [Fri, 13 Jan 2012 23:57:20 +0000 (15:57 -0800)]
Merge branch 'stable'

13 years agomds: require OSDREPLYMUX feature bit
Sage Weil [Fri, 13 Jan 2012 23:08:17 +0000 (15:08 -0800)]
mds: require OSDREPLYMUX feature bit

We use ObjectOperations now and need a new server to decompose replies
into their constituent components.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agolibrados: require OSDREPLYMUX feature
Sage Weil [Fri, 13 Jan 2012 23:07:28 +0000 (15:07 -0800)]
librados: require OSDREPLYMUX feature

We need this since we now rely on the server telling us rvals and
payload_lens for each OSDOp.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agodefine new OSDREPLYMUX feature bit
Sage Weil [Fri, 13 Jan 2012 23:07:00 +0000 (15:07 -0800)]
define new OSDREPLYMUX feature bit

This corresponds to the OSDs ability to pass payload_len hints and
return values for each OSDOp in the MSDOOpReply messages.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoobjecter: fix add_*() calls to use proper helper
Sage Weil [Fri, 13 Jan 2012 22:50:55 +0000 (14:50 -0800)]
objecter: fix add_*() calls to use proper helper

The helper resizes the other vectors; need that everywhere.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoReplicatedPG: munge truncate_seq 1/truncate_size -1 to seq 0/size 0
Samuel Just [Fri, 13 Jan 2012 19:15:42 +0000 (11:15 -0800)]
ReplicatedPG: munge truncate_seq 1/truncate_size -1 to seq 0/size 0

Truncate with seq 1 and size -1 is a noop.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Sage Weil <sage@newdream.net>
13 years agoReplicatedPG: munge truncate_seq 1/truncate_size -1 to seq 0/size 0
Samuel Just [Fri, 13 Jan 2012 19:15:42 +0000 (11:15 -0800)]
ReplicatedPG: munge truncate_seq 1/truncate_size -1 to seq 0/size 0

Truncate with seq 1 and size -1 is a noop.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Sage Weil <sage@newdream.net>
13 years agorgw: limit object PUT size
Yehuda Sadeh [Fri, 13 Jan 2012 20:19:35 +0000 (12:19 -0800)]
rgw: limit object PUT size

13 years agoobjecter: fix up stat, getxattrs handlers
Sage Weil [Fri, 13 Jan 2012 17:06:42 +0000 (09:06 -0800)]
objecter: fix up stat, getxattrs handlers

- try/catch
- stat mtime

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agov0.40 v0.40
Sage Weil [Fri, 13 Jan 2012 16:36:13 +0000 (08:36 -0800)]
v0.40

13 years agoMerge remote branch 'gh/master' into wip-backfill
Sage Weil [Fri, 13 Jan 2012 16:35:47 +0000 (08:35 -0800)]
Merge remote branch 'gh/master' into wip-backfill

13 years agolibrados: make new ObjectReadOperations arguments non-optional
Sage Weil [Fri, 13 Jan 2012 01:50:44 +0000 (17:50 -0800)]
librados: make new ObjectReadOperations arguments non-optional

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: use new librados ObjectReadOperation method arguments
Sage Weil [Fri, 13 Jan 2012 01:50:21 +0000 (17:50 -0800)]
rgw: use new librados ObjectReadOperation method arguments

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoReplicatedPG: Update stat accounting for truncate during write
Samuel Just [Fri, 13 Jan 2012 01:07:35 +0000 (17:07 -0800)]
ReplicatedPG: Update stat accounting for truncate during write

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agorgw: wrap cls_cxx_map_* with try/catch around decoding
Yehuda Sadeh [Fri, 13 Jan 2012 00:39:30 +0000 (16:39 -0800)]
rgw: wrap cls_cxx_map_* with try/catch around decoding

13 years agorgw: bucket index creation and init in a single operation
Yehuda Sadeh [Fri, 13 Jan 2012 00:22:20 +0000 (16:22 -0800)]
rgw: bucket index creation and init in a single operation

13 years agolibrados: add ObjectOperation::exec
Yehuda Sadeh [Fri, 13 Jan 2012 00:17:56 +0000 (16:17 -0800)]
librados: add ObjectOperation::exec

13 years agosecret: move null check before strlen(key_name) deref
Sage Weil [Thu, 12 Jan 2012 23:25:21 +0000 (15:25 -0800)]
secret: move null check before strlen(key_name) deref

Coverity cid: 98
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: stat op, don't compare in memory state to object
Yehuda Sadeh [Fri, 13 Jan 2012 00:10:02 +0000 (16:10 -0800)]
osd: stat op, don't compare in memory state to object

might be that object is being created by the current compound request.

13 years agolibrados: specify read return value pointers in ObjectReadOperation methods
Sage Weil [Thu, 12 Jan 2012 23:42:59 +0000 (15:42 -0800)]
librados: specify read return value pointers in ObjectReadOperation methods

This lets librados do the work of parsing the reply from compound
operations, instead of requiring callers to have knowledge of the internal
encodings.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoobjecter: specify read return values pointers in ObjectOperatio methods
Sage Weil [Thu, 12 Jan 2012 23:42:17 +0000 (15:42 -0800)]
objecter: specify read return values pointers in ObjectOperatio methods

This let's Objecter do the demuxing work for compount read operations.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoosd: put result data in OSDOp.outdata
Sage Weil [Mon, 9 Jan 2012 17:30:24 +0000 (09:30 -0800)]
osd: put result data in OSDOp.outdata

The removes an argument from do_osd_ops() and cleans up the surrounding
code a bit.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: mux/demux OSDOp::outdata in MOSDOpReply
Sage Weil [Mon, 9 Jan 2012 01:23:57 +0000 (17:23 -0800)]
osd: mux/demux OSDOp::outdata in MOSDOpReply

Bump encoding, so that we don't try to demux old encoded messages, which
will likely have OSDOp::payload_len == indata.length().

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoosd: include return code in OSDOp
Sage Weil [Thu, 12 Jan 2012 23:43:43 +0000 (15:43 -0800)]
osd: include return code in OSDOp

This will expose the per-operation return values to the caller.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoosd: fill in empty item in peer_missing for strays
Sage Weil [Thu, 12 Jan 2012 23:09:18 +0000 (15:09 -0800)]
osd: fill in empty item in peer_missing for strays

If we search_for_missing() on a host, make a corresponding entry in our
peer_missing map (if it isn't already there).  This ensure we get (empty)
entries for strays, which makes all_unfound_are_queried_or_lost() happy.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agorgw: don't crash when copying a zero sized object
Yehuda Sadeh [Thu, 12 Jan 2012 23:02:09 +0000 (15:02 -0800)]
rgw: don't crash when copying a zero sized object

13 years agoReplicatedPG: Do a write even for 0 length operation
Samuel Just [Thu, 12 Jan 2012 21:13:47 +0000 (13:13 -0800)]
ReplicatedPG: Do a write even for 0 length operation

Otherwise, a 0 length write to an offset past the end of the file will
cause the internal accounting to reflect the full size of the file, but
not the file on disk.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoReplicatedPG: fix stat accounting error in CEPH_OSD_OP_WRITEFULL
Samuel Just [Thu, 12 Jan 2012 21:12:55 +0000 (13:12 -0800)]
ReplicatedPG: fix stat accounting error in CEPH_OSD_OP_WRITEFULL

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoqa/client/gen-1774.sh
Sage Weil [Thu, 12 Jan 2012 20:59:07 +0000 (12:59 -0800)]
qa/client/gen-1774.sh

Capture Alexandre's script for reproducing #1774 here for posterity, until
we write a properly harnessed test for this.  Currently, workunits can't
mount/unmount, and we don't have a way to make ceph-fuse drop it's cache.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: fix PG::Log::copy_up_to() tail
Sage Weil [Thu, 12 Jan 2012 19:46:27 +0000 (11:46 -0800)]
osd: fix PG::Log::copy_up_to() tail

The tail needs to refer to the entry preceeding the first entry in the
log.  This updates copy_up_to() to match the basic structure of the other
copy_*() methods.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: reset last_complete on backfill restart
Sage Weil [Thu, 12 Jan 2012 19:07:02 +0000 (11:07 -0800)]
osd: reset last_complete on backfill restart

Since last_backfill is hobject_t(), we can set this equal to last_update.
This fixes a problem where last_complete preceeds the abbreviated log we
send to the replica below.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoclient: avoid taking inode ref in case of nonexistent dir
Andrey Stepachev [Thu, 12 Jan 2012 15:26:34 +0000 (19:26 +0400)]
client: avoid taking inode ref in case of nonexistent dir

Signed-off-by: Andrey Stepachev <octo@yandex-team.ru>
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge branch 'wip-makefile'
Sage Weil [Thu, 12 Jan 2012 18:35:03 +0000 (10:35 -0800)]
Merge branch 'wip-makefile'

13 years agoCOPYING: note licenses for all files, not just the default
Sage Weil [Thu, 12 Jan 2012 18:01:40 +0000 (10:01 -0800)]
COPYING: note licenses for all files, not just the default

This (mostly) copies debian/copyright for now, but there are format
restrictions for that file.  Suggestions for a cleaner way to handle this
are welcome.  In the meantime, this is better...

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agodebian/copyright: note acx_pthread.m4 license
Sage Weil [Thu, 12 Jan 2012 17:58:21 +0000 (09:58 -0800)]
debian/copyright: note acx_pthread.m4 license

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoMakefile: Add headers that were omitted in make dist and prevented tests from building
Kacper Kowalik (Xarthisius) [Sat, 7 Jan 2012 15:10:43 +0000 (16:10 +0100)]
Makefile: Add headers that were omitted in make dist and prevented tests from building

Signed-off-by: Kacper Kowalik (Xarthisius) <xarthisius@gentoo.org>
13 years agoMakefile: Handle corner case of crypto++ correctly
Kacper Kowalik (Xarthisius) [Sat, 7 Jan 2012 15:02:45 +0000 (16:02 +0100)]
Makefile: Handle corner case of crypto++ correctly

i.e. use c++ while compiling, append to CRYPTO_LIBS instead of LIBS

Signed-off-by: Kacper Kowalik (Xarthisius) <xarthisius@gentoo.org>
13 years agoMakefile: Use ACX_PTHREAD in configure.ac and resulting flags in src/Makefile.am
Kacper Kowalik (Xarthisius) [Sat, 7 Jan 2012 14:32:17 +0000 (15:32 +0100)]
Makefile: Use ACX_PTHREAD in configure.ac and resulting flags in src/Makefile.am

instead of hardcoded flags

Signed-off-by: Kacper Kowalik (Xarthisius) <xarthisius@gentoo.org>
13 years agoMakefile: Add recent acx_pthread.m4 that has a fix for nostdlib issue.
Kacper Kowalik (Xarthisius) [Sat, 7 Jan 2012 13:43:22 +0000 (14:43 +0100)]
Makefile: Add recent acx_pthread.m4 that has a fix for nostdlib issue.

See http://code.google.com/p/protobuf/issues/detail?id=188 for details

Signed-off-by: Kacper Kowalik (Xarthisius) <xarthisius@gentoo.org>
13 years agoPG: gen_prefix should grab a map reference atomically
Samuel Just [Wed, 11 Jan 2012 21:20:17 +0000 (13:20 -0800)]
PG: gen_prefix should grab a map reference atomically

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>