Commit Graph

11999 Commits

Author SHA1 Message Date
Colin Patrick McCabe
d1f15daf58 CrushWrapper:get_bucket: ret ENOENT for no bucket
All the callers of CrushWrapper::get_bucket() check for error codes, but
not for NULL returns. So if there is no bucket (i.e., a NULL pointer) at
crush->bucket[i], just return the error code ENOENT. This is consistent
with how we handle other out-of-bounds requests.

Also, don't allow the caller to get us to try to access negative indices
in crush->bucket.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 23:58:13 -08:00
Sage Weil
11cfcfe875 Merge branch 'sched_scrub' into unstable
Conflicts:
	src/osd/PG.cc
	src/osd/PG.h
2010-11-09 15:56:20 -08:00
Sage Weil
e8ad6d26dc osd: small cleanup
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 15:50:48 -08:00
Sage Weil
28b44293e3 osd: scrub: list objects without lock held
We'll go back to get anything we missed later.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 15:46:58 -08:00
Sage Weil
c2d6d05fa4 Merge branch 'scrub_no_lock' into unstable 2010-11-09 15:46:54 -08:00
Colin Patrick McCabe
966369aad0 ps-ceph.pl: don't show self
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 15:34:52 -08:00
Sage Weil
6bc31511c2 gui: add missing #include
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 15:04:10 -08:00
Sage Weil
58394828a0 Merge branch 'rbd-fiemap' into unstable 2010-11-09 14:50:24 -08:00
Sage Weil
e991702e79 objecter: set READ flag on new objecter mapext/read_sparse ops
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 14:49:47 -08:00
Sage Weil
adac5163c2 objecter: fix balancer for ops with length < 0
Notably, mapext.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 14:48:52 -08:00
Sage Weil
20060548b9 filestore: autodetect presense of FIEMAP ioctl
If it's not there, assume the whole object is allocated.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 14:36:02 -08:00
Sage Weil
e548871868 fiemap: include linux fiemap.h header; unconditionally compile helper
If the system doesn't have the header, use our copy.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 14:35:33 -08:00
Colin Patrick McCabe
9f14dd259c ps-ceph.pl: display Ceph tests
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 14:33:43 -08:00
Sage Weil
53b076d5fb Merge remote branch 'origin/rbd-fiemap' into unstable 2010-11-09 14:23:12 -08:00
Colin Patrick McCabe
2325a1a27b Fix example config file
We need to specify a journal size for the file-based journal we set up
in the example config file.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 14:06:42 -08:00
Colin Patrick McCabe
2947d19d5a TimerThread:don't call pop_front before iter deref
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 13:59:46 -08:00
Kacper Kowalik
1c7d8f1ac2 Makefile: use openssl module check
This allows ceph to build with --as-needed.

Signed-off-by: Kacper Kowalik <xarthisius@gentoo.org>
2010-11-09 13:30:15 -08:00
Sage Weil
954ad98230 osd: shut down if we do not exist
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 13:17:25 -08:00
Sage Weil
ea56dfdc66 osd: handle osds that no longer exist in prior_set_affected
Consider no-longer-existent OSDs lost.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 13:08:56 -08:00
Colin Patrick McCabe
29428b9bef Objecter: initialize timer in Objecter::init
Just in case future users of Objecter want to create one before calling
Messenger::start as a daemon.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 12:05:38 -08:00
Colin Patrick McCabe
ec4200b094 Add test_crushtool.sh
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 10:15:06 -08:00
Sage Weil
019bb70e12 mds: turn on mds_bal_frag (dir fragmentation) by default
Let the fun begin!

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 10:06:10 -08:00
Sage Weil
e15c9569ba mds: fix inode freeze auth pin allowance
When we're renaming across nodes, we need to freeze the inode.  This
requires that we allow for the auth_pins that _we_ hold, which include
one because of the linklock xlock, and one by the MDRequest.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 10:04:02 -08:00
Sage Weil
ae13fc865b osd: handle osds that no longer exist in build_prior
Fix build_prior to handle OSDs that no longer exist in the current map.
Consider them lost.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 10:04:02 -08:00
Colin Patrick McCabe
f28b99b350 CrushWrapper::get_bucket_item: bounds check
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 09:59:09 -08:00
Colin Patrick McCabe
9b48725614 crushtool: don't create a dump we can't recompile
In crushtool, dump buckets in tree order. Buckets which reference other
buckets must be dumped after their depedencies, or else re-compilation
will fail.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-09 09:59:06 -08:00
Sage Weil
3107944e5c osdmap: cleanup: add parens
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 10:03:21 -08:00
Sage Weil
e1588dc40b mds: wipe out client sessions on startup
For disaster recovery and such.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 09:55:43 -08:00
Sage Weil
05a473877b mon: implement 'mds newfs <metapool> <datapool>' command
Create a new fs (by creating a new MDSMap) using the given pools.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 09:55:39 -08:00
Sage Weil
d80948adcc mds: use mdsmap data pool for root inode default layout
The MDSMap may specify any random pool as the data pool; use that.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 09:55:36 -08:00
Sage Weil
8a21c6f625 mds: add mds_skip_ino and mds_wipe_ino_prealloc options
These are last-ditch recovery tools.  Not particularly effective ones,
though.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-09 09:55:32 -08:00
Christian Brunner
aad3f7f275 ceph.spec.in: don't strip rados classes
Signed-off-by: Christian Brunner <christian@brunner-muc.de>
2010-11-08 22:03:15 -08:00
Sage Weil
64f95ad95c mds: add missing Dumper.[h,cc] 2010-11-08 13:22:08 -08:00
Sage Weil
be9328ac7d mds: tolerate/fix negative dir size counts
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-08 13:18:31 -08:00
Sage Weil
d5515a8f61 mds: add missing Dumper.[h,cc] 2010-11-08 12:44:48 -08:00
Andrew Farmer
1ab7c7ff40 Replace ps-ceph.sh shell script with perl script
A much faster version of ps-ceph.sh.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
2010-11-08 09:45:41 -08:00
Sage Weil
0feec2f4f3 Merge remote branch 'origin/object_locator' into unstable
Conflicts:
	src/osd/OSD.cc
	src/osd/ReplicatedPG.cc
	src/osd/ReplicatedPG.h
	src/osd/osd_types.h
2010-11-07 09:56:42 -08:00
Sage Weil
b7f578cf76 Merge remote branch 'origin/timer-fixes' into unstable 2010-11-07 09:45:09 -08:00
Sage Weil
deb9ef760e v0.24~rc 2010-11-07 09:44:04 -08:00
Sage Weil
0b19092098 Merge remote branch 'origin/testing' into unstable 2010-11-07 09:42:51 -08:00
Sage Weil
a4674af5db mds: eval: put scatter in MIX if replicated, otherwise LOCK
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-07 07:49:59 -08:00
Sage Weil
33c6e230a2 mds: do not scatter_writebehind in MIX state
Replicas might come in while we're flushing and get a MIX state with
the old state.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-07 07:45:52 -08:00
Sage Weil
1bf8e73299 Merge branch 'unstable' into mix_stale 2010-11-06 21:05:11 -07:00
Sage Weil
bdc2fa5b34 mds: remove MIX_STALE
Yay, we don't need it!

If we can't update the frag on scatter, fine.  The staleness of the frag
is implicit in the frag's scatter stat version not matching the inode's.
If/when we do want to update it, the frag will clearly be writable, and
we can bring it back in sync then.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-06 21:01:20 -07:00
Sage Weil
c1ee560e42 mds: don't fuss with versions when taking frag/rstat from frag; it's never stale here
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-06 21:01:20 -07:00
Sage Weil
1eb94da2f6 mds: introduce/use helpers to resync stale fragstat/rstat; update version
Simplifies code.

Also, update the version when we resync!

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-06 21:01:20 -07:00
Sage Weil
c203482954 mds: ignore done_locking on slave requests' acquire_locks()
Slave requests ask for each xlock one at a time.  Don't bail out based on
the done_locking flag.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-06 21:00:55 -07:00
Sage Weil
51b6a863a8 mds: don't use helper for rename srcdn
The rdlock_path_xlock_dentry helper works for _auth_ dentries that we
create locally in an auth dirfrag.  For the srcdn, we need to discover an
_existing_ dentry that is not necessarily auth.

Call path_traverse ourselves, but be careful to take the appropriate locks
on the resulting dn, dir, and ancestors.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-06 21:00:51 -07:00
Sage Weil
eb0a60d024 mds: never complete a gather on a flushing lock
The scatter_writebehind() takes a wrlock, but that may still allow the lock
to complete a gather to LOCK and even move to say MIX before the data is
committed.  Bad news!

Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-06 21:00:46 -07:00
Sage Weil
bdf3bc5ef2 mds: update version when bring stale rstat back up to date
Signed-off-by: Sage Weil <sage@newdream.net>
2010-11-06 09:38:15 -07:00