]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 years agoRevert "osd: replace the ALLOW_MESSAGES_FROM macro with use of OSDCaps functions"
Greg Farnum [Tue, 13 Apr 2010 18:03:07 +0000 (11:03 -0700)]
Revert "osd: replace the ALLOW_MESSAGES_FROM macro with use of OSDCaps functions"

This reverts commit 9ceb3be9a62f7b777b23a4d65b1cc302ec834e6b.
This will be coming back in another form shortly, but apparently we have
more connections without sessions on the OSD.

15 years agomds: only recover files from stale clients when auth
Sage Weil [Tue, 13 Apr 2010 17:38:48 +0000 (10:38 -0700)]
mds: only recover files from stale clients when auth

Replicas have client_ranges defined too, but only the auth MDS should do
the file size/mtime recovery.

Also rename clear_client_caps_after_export() for clarity, and assert inode
is_auth throughout file recover code.

15 years agoosd: add some put()s of Session * that weren't being used properly.
Greg Farnum [Mon, 12 Apr 2010 22:31:06 +0000 (15:31 -0700)]
osd: add some put()s of Session * that weren't being used properly.

This fixes a memory leak that could have caused problems in the future.

15 years agoosd: replace the ALLOW_MESSAGES_FROM macro with use of OSDCaps functions
Greg Farnum [Mon, 12 Apr 2010 22:16:52 +0000 (15:16 -0700)]
osd: replace the ALLOW_MESSAGES_FROM macro with use of OSDCaps functions

15 years agoosd: Add is_X functions to OSDCaps (where X is mon, osd, mds).
Greg Farnum [Mon, 12 Apr 2010 21:37:47 +0000 (14:37 -0700)]
osd: Add is_X functions to OSDCaps (where X is mon, osd, mds).

15 years agorados: check that given pool name actually exists when deleting
Greg Farnum [Mon, 12 Apr 2010 18:13:46 +0000 (11:13 -0700)]
rados: check that given pool name actually exists when deleting

15 years agomon: OSDMonitor makes sure pool ID is good, preventing crashiness
Greg Farnum [Mon, 12 Apr 2010 18:09:51 +0000 (11:09 -0700)]
mon: OSDMonitor makes sure pool ID is good, preventing crashiness

15 years agoosdmap: move pool names into first part of encoding; add version to second part
Sage Weil [Fri, 9 Apr 2010 22:44:50 +0000 (15:44 -0700)]
osdmap: move pool names into first part of encoding; add version to second part

This gives the kclient access to pool names while still ignoring the
osd_info_t crap.  And also will make adding more stuff to the second half
later possible without breaking the kclient.

15 years agolibrados: add lookup_pool()
Sage Weil [Fri, 9 Apr 2010 22:13:37 +0000 (15:13 -0700)]
librados: add lookup_pool()

15 years agolibrados: no need to include linux/types.h
Sage Weil [Fri, 9 Apr 2010 19:40:51 +0000 (12:40 -0700)]
librados: no need to include linux/types.h

15 years agodebian: more librados1-dev deps
Sage Weil [Fri, 9 Apr 2010 19:00:53 +0000 (12:00 -0700)]
debian: more librados1-dev deps

15 years agospinlock: clean up #include deps
Sage Weil [Fri, 9 Apr 2010 18:59:26 +0000 (11:59 -0700)]
spinlock: clean up #include deps

15 years agomonclient: seed RNG so we pick a random monitor
Sage Weil [Fri, 9 Apr 2010 21:50:12 +0000 (14:50 -0700)]
monclient: seed RNG so we pick a random monitor

15 years agotodo: move bugs to tracker
Sage Weil [Fri, 9 Apr 2010 21:03:47 +0000 (14:03 -0700)]
todo: move bugs to tracker

15 years agoauth: cauthtool now identifies itself properly to common_init
Greg Farnum [Tue, 6 Apr 2010 18:08:45 +0000 (11:08 -0700)]
auth: cauthtool now identifies itself properly to common_init

15 years agomon: add 'get' command to AuthMon, letting you retrive one entity's keyring data
Greg Farnum [Tue, 6 Apr 2010 17:44:06 +0000 (10:44 -0700)]
mon: add 'get' command to AuthMon, letting you retrive one entity's keyring data

15 years agofilestore: fix weird references for clone/clone_range
Sage Weil [Fri, 9 Apr 2010 18:13:03 +0000 (11:13 -0700)]
filestore: fix weird references for clone/clone_range

Not sure why that was legal to begin with?

15 years agoobjectstore: fix clone_range() transaction encoding
Sage Weil [Fri, 9 Apr 2010 18:29:09 +0000 (11:29 -0700)]
objectstore: fix clone_range() transaction encoding

15 years agolibrados: clean up object listing api
Sage Weil [Fri, 9 Apr 2010 04:49:17 +0000 (21:49 -0700)]
librados: clean up object listing api

15 years agoosd: clear initial interval_set in build_removed_snaps
Sage Weil [Fri, 9 Apr 2010 04:21:36 +0000 (21:21 -0700)]
osd: clear initial interval_set in build_removed_snaps

Caller may pass a non-empty set, in which case we crashed or returned a bad
result.

15 years agotestrados: create/use own pool
Sage Weil [Fri, 9 Apr 2010 03:55:36 +0000 (20:55 -0700)]
testrados: create/use own pool

15 years agocrc32c: ifdef out dead code to shut up warning
Sage Weil [Thu, 8 Apr 2010 23:42:59 +0000 (16:42 -0700)]
crc32c: ifdef out dead code to shut up warning

15 years agoMerge branch 'ns' into unstable
Sage Weil [Thu, 8 Apr 2010 23:42:15 +0000 (16:42 -0700)]
Merge branch 'ns' into unstable

15 years agofilestore: more informative error on current/ rename failure
Sage Weil [Thu, 8 Apr 2010 16:35:43 +0000 (09:35 -0700)]
filestore: more informative error on current/ rename failure

15 years agoinit-ceph: include 'noatime' btrfs mount option by default
Sage Weil [Thu, 8 Apr 2010 16:26:54 +0000 (09:26 -0700)]
init-ceph: include 'noatime' btrfs mount option by default

15 years agotestrados: test more stuff
Sage Weil [Thu, 8 Apr 2010 22:52:40 +0000 (15:52 -0700)]
testrados: test more stuff

15 years agoobjecter: cleanup
Sage Weil [Thu, 8 Apr 2010 22:52:34 +0000 (15:52 -0700)]
objecter: cleanup

15 years agolibrados: clean up c header
Sage Weil [Thu, 8 Apr 2010 22:52:28 +0000 (15:52 -0700)]
librados: clean up c header

15 years agodebian: fix up librados1-dev with all necessary headers
Sage Weil [Thu, 8 Apr 2010 22:23:03 +0000 (15:23 -0700)]
debian: fix up librados1-dev with all necessary headers

15 years agolibrados: move c++ api into librados.hpp; more type cleanup
Sage Weil [Thu, 8 Apr 2010 22:22:50 +0000 (15:22 -0700)]
librados: move c++ api into librados.hpp; more type cleanup

15 years agolibrados: use std::string, not nstring, in c++ api
Sage Weil [Thu, 8 Apr 2010 21:19:01 +0000 (14:19 -0700)]
librados: use std::string, not nstring, in c++ api

15 years agolibrados: avoid snapid_t type, types.h
Sage Weil [Thu, 8 Apr 2010 20:00:29 +0000 (13:00 -0700)]
librados: avoid snapid_t type, types.h

15 years agorbdtool: fix man warnings
Sage Weil [Thu, 8 Apr 2010 19:57:46 +0000 (12:57 -0700)]
rbdtool: fix man warnings

15 years agofilestore: check for SNAP_DESTROY ioctl, and file if not present
Sage Weil [Thu, 8 Apr 2010 17:36:03 +0000 (10:36 -0700)]
filestore: check for SNAP_DESTROY ioctl, and file if not present

15 years agolibrados: move librados.h to include/
Sage Weil [Thu, 8 Apr 2010 16:54:18 +0000 (09:54 -0700)]
librados: move librados.h to include/

15 years agospinlock: move to include/
Sage Weil [Thu, 8 Apr 2010 16:51:14 +0000 (09:51 -0700)]
spinlock: move to include/

15 years agospinlock: move to ceph namespace
Sage Weil [Thu, 8 Apr 2010 16:49:50 +0000 (09:49 -0700)]
spinlock: move to ceph namespace

15 years agoatomic: move to ceph namespace
Sage Weil [Thu, 8 Apr 2010 16:48:08 +0000 (09:48 -0700)]
atomic: move to ceph namespace

15 years agoatomic: rename test() -> read()
Sage Weil [Thu, 8 Apr 2010 16:40:10 +0000 (09:40 -0700)]
atomic: rename test() -> read()

Make the interface slightly less weird.

15 years agobuffer: avoid including ceph assert directly
Sage Weil [Thu, 8 Apr 2010 16:16:11 +0000 (09:16 -0700)]
buffer: avoid including ceph assert directly

If assert isn't defined, include the standard C one.  Internal ceph bits
should include assert.h before buffer.h if they want the ceph one.

15 years agoassert: use ceph namespace
Sage Weil [Thu, 8 Apr 2010 16:09:43 +0000 (09:09 -0700)]
assert: use ceph namespace

15 years agocrc32c: prefix with ceph_
Sage Weil [Thu, 8 Apr 2010 16:04:44 +0000 (09:04 -0700)]
crc32c: prefix with ceph_

15 years agopage: move to ceph namespace, defs to common/page.cc
Sage Weil [Thu, 8 Apr 2010 15:53:03 +0000 (08:53 -0700)]
page: move to ceph namespace, defs to common/page.cc

15 years agobuffer: move to ceph namespace
Sage Weil [Thu, 8 Apr 2010 15:49:27 +0000 (08:49 -0700)]
buffer: move to ceph namespace

15 years agoosd: fix transposed clone_range args
Sage Weil [Thu, 8 Apr 2010 15:08:17 +0000 (08:08 -0700)]
osd: fix transposed clone_range args

We're cloning ranges _into_ soid (and in fact just deleted any old soid
that may have been lingering).

15 years agospinlock: avoid lockdep include unless lockdep is on
Sage Weil [Thu, 8 Apr 2010 14:43:23 +0000 (07:43 -0700)]
spinlock: avoid lockdep include unless lockdep is on

15 years agobuffer: avoid spinlock include unless debugging is on
Sage Weil [Thu, 8 Apr 2010 14:43:12 +0000 (07:43 -0700)]
buffer: avoid spinlock include unless debugging is on

15 years agolibrados: reduce #includes
Sage Weil [Thu, 8 Apr 2010 14:42:54 +0000 (07:42 -0700)]
librados: reduce #includes

15 years agolibrados: c binding for rados_tmap_update()
Sage Weil [Wed, 7 Apr 2010 23:43:22 +0000 (16:43 -0700)]
librados: c binding for rados_tmap_update()

15 years agorbdtool: maintain an rbd_directory object; add --list
Sage Weil [Wed, 7 Apr 2010 23:37:21 +0000 (16:37 -0700)]
rbdtool: maintain an rbd_directory object; add --list

15 years agoauth: shut up about loading the key file
Sage Weil [Wed, 7 Apr 2010 23:35:39 +0000 (16:35 -0700)]
auth: shut up about loading the key file

15 years agolibrados: add tmap_update to c++ interface
Sage Weil [Wed, 7 Apr 2010 23:35:28 +0000 (16:35 -0700)]
librados: add tmap_update to c++ interface

15 years agoosd: fix tmap when header update not specified, or initial object dne
Sage Weil [Wed, 7 Apr 2010 23:35:06 +0000 (16:35 -0700)]
osd: fix tmap when header update not specified, or initial object dne

15 years agoMerge branch 'rbd' into unstable
Sage Weil [Wed, 7 Apr 2010 22:29:38 +0000 (15:29 -0700)]
Merge branch 'rbd' into unstable

15 years agodebian: include rbdtool
Sage Weil [Wed, 7 Apr 2010 22:29:23 +0000 (15:29 -0700)]
debian: include rbdtool

15 years agorbdtool: add man page
Sage Weil [Wed, 7 Apr 2010 22:29:18 +0000 (15:29 -0700)]
rbdtool: add man page

15 years agorbdtool: delete rbd images too
Sage Weil [Wed, 7 Apr 2010 22:29:08 +0000 (15:29 -0700)]
rbdtool: delete rbd images too

15 years agorbdtool: use shared rbd_types.h
Sage Weil [Wed, 7 Apr 2010 21:47:04 +0000 (14:47 -0700)]
rbdtool: use shared rbd_types.h

15 years agomsgr: drop useless was_session_reset() call on lossy channel close
Sage Weil [Wed, 7 Apr 2010 21:22:25 +0000 (14:22 -0700)]
msgr: drop useless was_session_reset() call on lossy channel close

The fail closes out the pipe, no need to do a 'reset'.

15 years agoceph: print output to stdout, not dout
Sage Weil [Wed, 7 Apr 2010 21:16:21 +0000 (14:16 -0700)]
ceph: print output to stdout, not dout

Using cout instead of dout(0) avoids the thread id in the prefix.

15 years agomsgr: fail on sd < 0
Sage Weil [Wed, 7 Apr 2010 21:12:43 +0000 (14:12 -0700)]
msgr: fail on sd < 0

I saw a case where poll(2) was blocking despite being passed an fd of -1.
Since that's clearly invalid, we can fail tcp_{read,write} before that
point.

Weird.

15 years agoosd: flush store ops after map update
Sage Weil [Wed, 7 Apr 2010 19:33:15 +0000 (12:33 -0700)]
osd: flush store ops after map update

Otherwise we can race:

 - queue delete+rewrite of pg log
 - unblock op queue
 - queue append to log
...
 - apply append
 - apply delete+rewrite

15 years agomds: set laggy in tick() if its been a while
Sage Weil [Tue, 6 Apr 2010 20:24:58 +0000 (13:24 -0700)]
mds: set laggy in tick() if its been a while

15 years agodebian: drop empty dir from radosgw
Sage Weil [Tue, 6 Apr 2010 23:18:10 +0000 (16:18 -0700)]
debian: drop empty dir from radosgw

15 years agotodo: mds
Sage Weil [Tue, 6 Apr 2010 21:54:22 +0000 (14:54 -0700)]
todo: mds

15 years agomon: set osd up_thru when adjusting pg_temp
Sage Weil [Tue, 6 Apr 2010 20:25:32 +0000 (13:25 -0700)]
mon: set osd up_thru when adjusting pg_temp

This just avoids making the OSD ask again for up_thru.  Fewer osdmap
updates!

15 years agoosd: distinguish between per-pool snap pools and user-managed snap pools
Sage Weil [Mon, 15 Mar 2010 17:52:50 +0000 (10:52 -0700)]
osd: distinguish between per-pool snap pools and user-managed snap pools

If removed_snaps is non-empty, then snaps are managed by the
user: snap context is specified for all writes (e.g., MDS or
librados user using the snap context api).

We can enforce this by adding an (unused) snapid (1) to the
removed_snaps the first time a non-pool snap snapid is allocated.

15 years agomds: remove null clean stray dentries after dir commit
Sage Weil [Tue, 6 Apr 2010 19:29:10 +0000 (12:29 -0700)]
mds: remove null clean stray dentries after dir commit

15 years agomds: fix purge_stray to be smart about NEW dentries
Sage Weil [Tue, 6 Apr 2010 19:28:43 +0000 (12:28 -0700)]
mds: fix purge_stray to be smart about NEW dentries

Mark new stray dentries NEW.

After purge, remove new dentries immediately; leave others as NULL and
dirty so they get removed from the ondisk stray dir properly.

15 years agomds: fix ref count check in eval_stray, purge_stray_purged
Sage Weil [Tue, 6 Apr 2010 18:22:29 +0000 (11:22 -0700)]
mds: fix ref count check in eval_stray, purge_stray_purged

Dentry gets pin for any inode pins, and on purge has PIN_PURGING.

15 years agoosd: return more useful errno (ENOENT) on missing base
Sage Weil [Tue, 6 Apr 2010 18:13:00 +0000 (11:13 -0700)]
osd: return more useful errno (ENOENT) on missing base

15 years agomds: move new stray dentries to end of lru
Sage Weil [Tue, 6 Apr 2010 17:47:02 +0000 (10:47 -0700)]
mds: move new stray dentries to end of lru

15 years agomds: use send_dentry_unlink helper for remote unlink
Sage Weil [Tue, 6 Apr 2010 17:46:07 +0000 (10:46 -0700)]
mds: use send_dentry_unlink helper for remote unlink

15 years agomds: journal oldest client tid
Sage Weil [Mon, 5 Apr 2010 22:38:45 +0000 (15:38 -0700)]
mds: journal oldest client tid

Journal the client's safe tid with new requests.  This keeps the client
completed_requests list trimmed, so that we don't build up a ginormous
list of all requests over the entire journal.

Forward rolling mds format change.

15 years agotodo: updates
Sage Weil [Fri, 2 Apr 2010 23:41:56 +0000 (16:41 -0700)]
todo: updates

15 years agorgw: rgw_admin checks that it hasn't regenerated user ids
Greg Farnum [Mon, 5 Apr 2010 20:59:52 +0000 (13:59 -0700)]
rgw: rgw_admin checks that it hasn't regenerated user ids

15 years agomon: add new command 'lspools [uid]' to OSDMonitor
Greg Farnum [Mon, 5 Apr 2010 20:41:37 +0000 (13:41 -0700)]
mon: add new command 'lspools [uid]' to OSDMonitor

15 years agoosd: pg_pool_t prints out its owner
Greg Farnum [Mon, 5 Apr 2010 19:50:41 +0000 (12:50 -0700)]
osd: pg_pool_t prints out its owner

15 years agomds: fix snap purging during commit
Sage Weil [Mon, 5 Apr 2010 17:53:17 +0000 (10:53 -0700)]
mds: fix snap purging during commit

Use the helper!

The commit_partial is still incomplete.. we need to purge the
dentry after the commit completes?

15 years agomds: streamline stray checks with helper
Sage Weil [Mon, 5 Apr 2010 17:26:42 +0000 (10:26 -0700)]
mds: streamline stray checks with helper

15 years agomds: make beacon output more informative
Sage Weil [Fri, 2 Apr 2010 22:47:45 +0000 (15:47 -0700)]
mds: make beacon output more informative

15 years agoqa: run tests in random order
Sage Weil [Fri, 2 Apr 2010 22:47:25 +0000 (15:47 -0700)]
qa: run tests in random order

15 years agomds: allow reconnect as long as we are in reconnect state
Sage Weil [Fri, 2 Apr 2010 20:34:11 +0000 (13:34 -0700)]
mds: allow reconnect as long as we are in reconnect state

This used to work.. I think this is fallout from the mds session state
simplification (CLOSED was != NEW before).

15 years agoAdd missing Makefile dependency for debug.cc
Anton Blanchard [Sat, 3 Apr 2010 01:51:06 +0000 (12:51 +1100)]
Add missing Makefile dependency for debug.cc

We were missing a Makefile dependency for debug.cc, without it make -j fails
because ceph_ver.h hasn't been created.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agorgw: radosgw_admin can delete users from the system
Greg Farnum [Fri, 2 Apr 2010 23:25:00 +0000 (16:25 -0700)]
rgw: radosgw_admin can delete users from the system

15 years agorgw: call url_decode in more appropriate places
Greg Farnum [Fri, 2 Apr 2010 21:21:16 +0000 (14:21 -0700)]
rgw: call url_decode in more appropriate places

15 years agorgw: convert + to space in url_decode
Greg Farnum [Fri, 2 Apr 2010 20:14:12 +0000 (13:14 -0700)]
rgw: convert + to space in url_decode

15 years agorgw: send an error response if reading an ACL off disk fails
Greg Farnum [Wed, 31 Mar 2010 23:06:45 +0000 (16:06 -0700)]
rgw: send an error response if reading an ACL off disk fails

15 years agorgw: remove bad local variable shadowing class member variable
Greg Farnum [Wed, 31 Mar 2010 18:32:40 +0000 (11:32 -0700)]
rgw: remove bad local variable shadowing class member variable

15 years agorgw: remove some invalid FIXMEs
Greg Farnum [Wed, 31 Mar 2010 18:32:08 +0000 (11:32 -0700)]
rgw: remove some invalid FIXMEs

15 years agorbdtool: don't create empty object data
Yehuda Sadeh [Fri, 2 Apr 2010 21:19:44 +0000 (14:19 -0700)]
rbdtool: don't create empty object data

15 years agorbd: created a userspace tool for creating rbd objects
Yehuda Sadeh [Thu, 1 Apr 2010 00:24:49 +0000 (17:24 -0700)]
rbd: created a userspace tool for creating rbd objects

15 years agomds: set laggy flag if dispatch takes too long
Sage Weil [Thu, 1 Apr 2010 23:13:41 +0000 (16:13 -0700)]
mds: set laggy flag if dispatch takes too long

This prevents, e.g., tick() from coming in immediately after and
closing out client sessions after we chew through something particularly
slow.

15 years agomsgr: set OPEN state after accepting connection
Sage Weil [Thu, 1 Apr 2010 20:46:26 +0000 (13:46 -0700)]
msgr: set OPEN state after accepting connection

Not doing so can eventually lead to

msg/SimpleMessenger.cc: In function 'int SimpleMessenger::Pipe::accept()':
msg/SimpleMessenger.cc:765: FAILED assert(existing->state == STATE_CONNECTING)

15 years agomds: fix file recovery
Sage Weil [Thu, 1 Apr 2010 20:06:51 +0000 (13:06 -0700)]
mds: fix file recovery

This was broken by commit d5574993f.

15 years agomds: remove dir from 'new' list on any commit, not just on clean
Sage Weil [Thu, 1 Apr 2010 20:03:04 +0000 (13:03 -0700)]
mds: remove dir from 'new' list on any commit, not just on clean

A dir may be redirtied after the commit, such that it never becomes clean.
It only needs to stay on the 'new' list until it's been written to disk
at least once, though.

15 years agofilejournal: fix journal full handling
Sage Weil [Thu, 1 Apr 2010 18:39:16 +0000 (11:39 -0700)]
filejournal: fix journal full handling

We would block on journal full, but then try to continue where we left off,
which broke thoroughly.  Add return codes, and wait at the proper times:

 - if journal if full on first event, wait. otherwise, write what we have
   so far.
 - wait in write_thread_entry(), not check_for_full().

Also fix up 'room' calculation.

15 years agoqa: make snaptest trigger capsnap dirty(caps)==0 bug
Sage Weil [Thu, 1 Apr 2010 16:44:04 +0000 (09:44 -0700)]
qa: make snaptest trigger capsnap dirty(caps)==0 bug

Prior to ceph-client.git commit 819ccbfa448, this will cause a

VFS: Busy inodes after unmount of ceph. Self-destruct in 5 seconds.  Have a nice day...

on umount.

15 years agomds: remove dentry AND inode when dropping snap metadata; add helper
Sage Weil [Thu, 1 Apr 2010 14:34:24 +0000 (07:34 -0700)]
mds: remove dentry AND inode when dropping snap metadata; add helper

We should only drop obsolete snapped metadata when it is unreferenced, and
at that point we need to drop the dentry AND inode, not just the dentry.
This delays things until caps are released, among other things.

15 years agoosd: improve print of snapc in MOSDOp
Sage Weil [Thu, 1 Apr 2010 14:28:41 +0000 (07:28 -0700)]
osd: improve print of snapc in MOSDOp