Commit Graph

18030 Commits

Author SHA1 Message Date
Gary Lowell
d78ba6af94 Merge branch 'next' 2012-10-16 23:27:21 +00:00
Yehuda Sadeh
d2afddd457 rgw: multiple coverity fixes
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-16 14:13:38 -07:00
Sage Weil
db976663a5 mds: explicitly queue messages for unconnected clients
Previously, the messenger would queue messages for a destination that
didn't exist when you were a server; that changed a while back with the
wip-msgr merge (circa v0.52).  The result is that when we force open
client sessions and queue messages, they are dropped on the floor and the
client--when it does connect--gets confusing stuff from the MDS.

Instead, explicitly queue and send these messages.  Also, *always* send
via the Connection* instead of the inst.

Fixes: #2681
Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-16 13:04:43 -07:00
Sage Weil
318bd19275 Merge remote-tracking branch 'gh/wip-fedora18' into next 2012-10-16 09:05:55 -07:00
Sage Weil
412efc1681 admin_socket: fix '0' protocol version
Broken by 895e24d198.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 16:37:24 -07:00
Sage Weil
18a3cee29e client: avoid possible null deref
CID 716910 (#1 of 1): Explicit null dereferenced (FORWARD_NULL)
At (6): Dereferencing null pointer "mds_session".

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 14:22:31 -07:00
Sage Weil
0095a13824 client: fix shadowing in inode ctor
CID 728080 (#1 of 1): Incorrect sizeof expression (BAD_SIZEOF)
Taking the size of pointer parameter "layout" is suspicious.

At (2): Non-static class member field "layout.fl_stripe_unit" is not initialized in this constructor nor in any functions that it calls.
At (4): Non-static class member field "layout.fl_stripe_count" is not initialized in this constructor nor in any functions that it calls.
At (6): Non-static class member field "layout.fl_object_size" is not initialized in this constructor nor in any functions that it calls.
At (8): Non-static class member field "layout.fl_cas_hash" is not initialized in this constructor nor in any functions that it calls.
At (10): Non-static class member field "layout.fl_object_stripe_unit" is not initialized in this constructor nor in any functions that it calls.
At (12): Non-static class member field "layout.fl_unused" is not initialized in this constructor nor in any functions that it calls.
CID 717206 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
At (14): Non-static class member field "layout.fl_pg_pool" is not initialized in this constructor nor in any functions that it calls.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 14:20:51 -07:00
Sage Weil
d8bb685d84 client: init readdir fields
At (2): Non-static class member "readdir_offset" is not initialized in this constructor nor in any functions that it calls.
At (4): Non-static class member "readdir_end" is not initialized in this constructor nor in any functions that it calls.
At (6): Non-static class member "readdir_num" is not initialized in this constructor nor in any functions that it calls.
CID 717207 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
At (8): Non-static class member "tid" is not initialized in this constructor nor in any functions that it calls.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 14:19:10 -07:00
Gary Lowell
55115642f1 Makefile: Add CRYPTO_C(XX)FLAGS to librdb 2012-10-15 14:14:35 -07:00
Gary Lowell
0cc828ba22 Makefiles: Update submodule reference to latestes for leveldb. 2012-10-15 14:14:35 -07:00
Gary Lowell
3ecd289139 Makefile: update submodule reference for leveldb. 2012-10-15 14:14:35 -07:00
Gary Lowell
0219b66e04 leveldb: fix-up submodule entry. 2012-10-15 14:14:35 -07:00
Gary Lowell
071fdc217a Makefile: Improve test for boost system library. 2012-10-15 14:14:35 -07:00
Gary Lowell
3658157b60 Makefile: Updates to eliminates warnings, add test for boost system lib. 2012-10-15 14:14:34 -07:00
Sage Weil
a1d8267c57 cls_rgw: init var in ctor
CID 727992 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
At (2): Non-static class member "tag_timeout" is not initialized in this constructor nor in any functions that it calls.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-15 14:14:28 -07:00
Yehuda Sadeh
8d7c8e3b86 rgw: don't add port to url if already has one
Fixes: #3296
Specifically, is host name string already has ':', then
don't try to append theport (swift auth).

backport: argonaut
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-15 09:59:14 -07:00
Tommi Virtanen
662c69e525 ceph-disk-prepare, debian/control: Support external journals.
Previously, ceph-disk-* would only let you use a journal that was a
file inside the OSD data directory. With this, you can do:

  ceph-disk-prepare /dev/sdb /dev/sdb

to put the journal as a second partition on the same disk as the OSD
data (might save some file system overhead), or, more interestingly:

  ceph-disk-prepare /dev/sdb /dev/sdc

which makes it create a new partition on /dev/sdc to use as the
journal. Size of the partition is decided by $osd_journal_size.
/dev/sdc must be a GPT-format disk. Multiple OSDs may share the same
journal disk (using separate partitions); this way, a single fast SSD
can serve as journal for multiple spinning disks.

The second use case currently requires parted, so a Recommends: for
parted has been added to Debian packaging.

Closes: #3078
Closes: #3079
Signed-off-by: Tommi Virtanen <tv@inktank.com>
2012-10-15 09:34:36 -07:00
Chris Dunlop
4db12511f7 logrotate: fix bash syntax
Introduced by 32a6394be0.

Signed-off-by: Chris Dunlop <chris@onthe.net.au>
2012-10-13 22:34:29 -07:00
Yehuda Sadeh
389fac7a82 rgw: replace bucket creation with explicit pool creation
Following a recent cleanup, usage should create a pool and
not a bucket.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-12 14:03:02 -07:00
Sam Lang
5c5feaec64 Merge branch 'wip-fix-getdents' 2012-10-11 14:19:04 -05:00
Dan Mick
0ec45201f5 rbd: don't issue usage on errors
Change bare calls to usage() to an informative targeted error message
Remove all calls to usage() except when requested with -h/--help
Regularize all errors to start with rbd:
Remove a few commented cerrs, wrap cerr calls at 80 cols

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2012-10-10 17:41:27 -07:00
Noah Watkins
fc34f16af5 rgw: fix compilation
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2012-10-10 15:00:03 -07:00
Sage Weil
15775f89c5 mon: drop command replies on paxos reset
If paxos resets, do not send the reply for the commit we were waiting for;
let the command be reprocessed and re-proposed.

Among other things, this could lead to nondeterministic results for
'ceph osd create <uuid>'.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-10 14:19:58 -07:00
Sam Lang
410ebacb83 test: Allow randomized tests to be repeatable
Outputs the random number used for the Dir_ls
test and allows setting the value through an
environment variable.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-10-09 21:11:19 -05:00
Sam Lang
baf54b2e1e client: Reset cache_name pos on dirp
Reset the at_cache_name field on the directory
stream pointer for rewinddir.
This fixes a bug where getdents after readdir at
the end of the stream would return invalid
results after rewinddir had been called.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-10-09 20:35:40 -05:00
Yehuda Sadeh
11c51dc0d5 radosgw-admin: don't try to parse date if wasn't specified
This fixes a regression following the merge of wip-admin-rest.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-09 14:57:11 -07:00
Sage Weil
f268d4ef60 ceph-debugpack: updates
- avoid copying data around; tar things directly into the tgz
- 'ceph report' instead of all the little bits
- unrotated logs only
- ensure target doesn't already exist

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-09 14:13:57 -07:00
Tommi Virtanen
8fab972905 gitignore: Update to match packaging changes and additions, rest-bench addition.
Signed-off-by: Tommi Virtanen <tv@inktank.com>
2012-10-09 13:38:45 -07:00
Joao Eduardo Luis
7ef0df25e0 mon: Monitor: resolve keyring option to a file before loading keyring
Otherwise our keyring default location, or any other similarly formatted
location, will be taken as the actual location for the keyring and fail.

Reported-by: tziOm (at) #ceph
Fixes: 3276
Backport: argonaut

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2012-10-09 13:36:28 -07:00
Sam Lang
b83d38a16b doc: Add doxygen style documentation for libcephfs
As well as doxygen doc, we document a few parts of
the interface that are otherwise undocumented and
don't match the standard calls.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-10-09 10:33:23 -05:00
Sam Lang
9da5b537f2 test: Refactored testceph.cc into gtest framework
Moved all the functionality tests for the libcephfs
API into the gtest framework.  Also adds tests for
directories to improve test coverage of the libcephfs
interfaces.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-10-09 10:33:11 -05:00
Sam Lang
a00a2406fc test: Allow readdir test to be repeated
Use test dir/files that include the pid to avoid
hitting errors when running the same test twice.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-10-09 09:17:09 -05:00
Sam Lang
3b5b9ef9be libcephfs: Check that buffer is non-null
Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-10-09 09:17:08 -05:00
Sage Weil
e5de8810e9 Merge remote-tracking branch 'gh/wip-client-stale'
Reviewed-by: Sage Weil <sage@inktank.com>
2012-10-08 20:56:05 -07:00
Sam Lang
323a52ee90 mds: Fix removexattr ENODATA error
If a client sets an xattr and then attempts to remove in a short
time window, the xattr may not have been committed to the journal
and will only be set on the projected xattrs of the inode.  This
results in a removexattr returning ENODATA at present.  The fix
here checks the xattr name in the projected xattrs, and only
returns ENODATA in the case where the name doesn't exist in that
map either.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2012-10-08 20:55:03 -07:00
Sage Weil
629cad59e4 osdmap: fix null deref in dump
CID 731938 (#1 of 1): Dereference after null check (FORWARD_NULL)
At (15): Passing null pointer "f" to function "ceph::Formatter::dump_int(char const *, int64_t)", which dereferences it. (The dereference happens because this is a virtual function call.)

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-08 20:50:12 -07:00
Sage Weil
0406d0c53a osdmap: fix osdmap dump null check
CID 731939 (#1 of 1): Dereference after null check (FORWARD_NULL)
At (5): Passing null pointer "out" to function "std::operator << <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> > &, char const *)", which dereferences it.

Broken by 13b841c746.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-08 20:49:41 -07:00
Sage Weil
5129620ab6 mds: note fall-thru to please coverity
CID 731940 (#1 of 1): Missing break in switch (MISSING_BREAK)
This case (value 23) is not terminated by a 'break' statement.
1719    case CEPH_MSG_CLIENT_RECONNECT:
1720      ALLOW_MESSAGES_FROM(CEPH_ENTITY_TYPE_CLIENT);
The above case falls through to this one.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-08 20:48:30 -07:00
Sage Weil
d68985fddc test_cfuse_cache_invalidate: check for errors
CID 731941 (#1 of 2): Argument cannot be negative (NEGATIVE_RETURNS)
At (6): "fd" is passed to a parameter that cannot be negative.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-08 20:47:16 -07:00
Sage Weil
75bed10850 mon/Elector: fix leak on monmap from peer
CID 731942 (#1 of 1): Resource leak (RESOURCE_LEAK)
At (12): Variable "peermap" going out of scope leaks the storage it points to.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-08 20:44:54 -07:00
Sage Weil
1a28cceb23 test_cfuse_cache_invalidate: zero buffer
CID 731943 (#1 of 1): Uninitialized scalar variable (UNINIT)
At (5): Using uninitialized element of array "buf" when calling "pwrite(int, void const *, size_t, __off64_t)".

Signed-off-by: Sage Weil <sage@inktank.com>
2012-10-08 20:44:10 -07:00
Josh Durgin
97c2f196a3 FileJournal: ignore osd journal size for block devices
Using part of a block device doesn't make much sense. This makes the
common case, where you partition a disk to act as several journals,
easier to configure.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2012-10-08 20:33:43 -07:00
Yehuda Sadeh
df1d17fc4b rgw: switch perm to uint32_t
Should fix a warning.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-08 16:34:12 -07:00
Yehuda Sadeh
f4a0b2d926 rgw: flexible attr fields
Fixes: #3114
Instead of having a few hard coded attrs that are
special cased, make it more generic. This allows supporting
more header fields, such as cache-control, expires, etc.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-08 16:14:17 -07:00
Yehuda Sadeh
d4725c06ab rgw: get bucket logging stub
Trivial implementation that just returns that
bucket logging is not enabled.

Fixes: #3225

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-08 15:44:04 -07:00
Yehuda Sadeh
c0b537063d rgw: check_disk_state also updates other object metadata
When we do a check_disk_state() on an object that is not complete,
we need to also update etag, content_type, owner, and display_name.
Otherwise, we'd end up missing that from the bucket index. In
practice this only affects swift, as only there we're actually
looking at that info (when listing a container).

Fixes: #3234
Backport: argonaut
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-08 15:42:20 -07:00
Yehuda Sadeh
acb3053904 rgw: set null termination explicitly
Make sure that string is null terminated.
Fixes coverity issue.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-08 15:15:08 -07:00
Yehuda Sadeh
8731d0d155 cls_rgw: return returned ret code
Wasn't setting the ret code. A coverity issue.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-08 15:15:04 -07:00
Yehuda Sadeh
58ad3bf3be rgw: add missing parantheses
.. around logic operations at process_intent_log().
Another coverity fix.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-08 15:14:57 -07:00
Yehuda Sadeh
b13a36c0d4 rgw: check NULL before dereference
Another coverity fix.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-10-08 15:12:52 -07:00