Commit Graph

8504 Commits

Author SHA1 Message Date
Sage Weil
f50a0517b3 msgr: get rid of harmless valgrind error
==7781== Source and destination overlap in memcpy(0x5B97EA8, 0x5B97EA8, 136)
2009-11-16 11:46:03 -08:00
Sage Weil
40edb9e253 mon: fail on write error
Don't rename badly written file.  Also assert success, for now.
2009-11-16 11:45:25 -08:00
Sage Weil
63f75e5608 mds: journal open_files based on is_any_caps_wanted(), not is_any_caps()
Actually we're a bit conservative in a few places since the wanted check
is a bit more expensive.  We always do a full check in try_to_expire, so
much of the time we can do the quick check only.
2009-11-13 15:21:32 -08:00
Sage Weil
07369305f8 mds: don't rejournal files with caps that are unwanted
If they're unwanted, it's no biggie to fail to reconnect the cap.  And
Locker::adjust_cap_wanted() already adjusts the open_file logseg lists in
this way, so let's just totally consistent.
2009-11-13 15:21:32 -08:00
Sage Weil
7e7a79e57b mds: don't croak on open_files without caps
We can get a capless inode here if we replay an open file, the client
fails to reconnect it, but does REPLAY an open request (that adds it
to the logseg).  AFAICS it's ok for the client to replay an open on a
file it doesn't have in it's cache anymore.
2009-11-13 15:21:32 -08:00
Greg Farnum
f3e746d5e6 rados: status printouts are now threaded 2009-11-13 11:56:42 -08:00
Sage Weil
9880cad39c mds: don't try to send mdsmap to clients that need to reconnect
It won't work, clients must connect to us.

Also stop sending the map on recovery finish; they'll also (currently, at
least) get that from the monitor.
2009-11-13 10:09:31 -08:00
Sage Weil
2fb6f73618 mds: ignore/warn on late client reconnect attempts
In the future maybe we can do better (i.e. best effort attempt to reconnect
after the normal interval has passed)
2009-11-13 10:09:12 -08:00
Greg Farnum
2303a33e77 Merge branch 'unstable' of ceph.newdream.net:/git/ceph into unstable 2009-11-12 16:45:05 -08:00
Greg Farnum
565448b5bd qa: prepare for a hierarchical test script system 2009-11-12 16:44:35 -08:00
Sage Weil
35e68924d1 todo 2009-11-12 15:12:18 -08:00
Sage Weil
e496deabf5 Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-11-12 14:55:26 -08:00
Sage Weil
35c3586bf4 put testing ceph.conf's in git 2009-11-12 14:57:11 -08:00
Sage Weil
9284e90aee osd: print useful mode wait message 2009-11-12 14:57:11 -08:00
Sage Weil
c514691b27 filestore: skip sync_file_range if the full commit has started
Presumably btrfs commit_transaction is more effective than our per-file
flushing.  And we don't want to fight each other.
2009-11-12 14:57:11 -08:00
Sage Weil
ad41e448b9 mds: recommit after commit if waiting for newer version
If there are waiters for a later version of the dir to hit
disk, then we need to recommit as soon as the prior commit
completes.  We auth_pin on adding the first waiter, and do
not unpin until removing the last waiter, so this doesn't
break auth_pin rules.

Previously we could stall because we didn't finish the
waiter (on the later version) but also never started the
commit.  Sometimes we would get lucky and someone else would
ask for a commit, but sometimes not.  We would then see old
LogSegments that would never get fully expired.
2009-11-12 14:54:22 -08:00
Greg Farnum
05fceac381 rados: fix usage() and -p option checking 2009-11-12 14:03:37 -08:00
Sage Weil
1a4557e858 mds: warn, don't crash, on rfiles/rsubdirs underflow
This doesn't fix the bug, but lets the mds at least start up.
2009-11-12 10:45:54 -08:00
Sage Weil
0bd9fdacc9 uclient: increase cache size 2009-11-11 16:10:14 -08:00
Sage Weil
fff600cf73 filestore: flusher thread; commit snaps (disabled) 2009-11-11 16:09:52 -08:00
Sage Weil
28f2765ca9 osd: avoid truncate, remove ops we know will fail
Now that we check return codes, these cause problems.
2009-11-11 16:09:36 -08:00
Sage Weil
c267d25ab8 osd: don't requeue pg removal if already removing 2009-11-11 16:09:36 -08:00
Sage Weil
6b6b7e1a90 todo 2009-11-11 15:52:10 -08:00
Sage Weil
a600b2e892 mds: force rdlock on any snapped inodes
When the client has an excl lock on an inode, and it's
stating a snapped version of it, we can't expect it to
put 2 and 2 together and look at it's head metadata.  If
the cap does not follow the snapid we're trying to stat, do
the full rdlock to force the snapped values back to the
mds so we can do the cow.

If there is nothing cow, the cap will get reissued with an
accurate follows value, and we won't have to do this again.
2009-11-11 15:47:28 -08:00
Greg Farnum
91d10bb9a9 sessionmap is an object, not a pointer 2009-11-10 16:44:07 -08:00
Sage Weil
dc2d15aaf5 mds: fix typo; also only suicide if we have clients
If we are the last MDS and have no clients we should be
able to stop cleanly....
2009-11-10 16:32:01 -08:00
Sage Weil
55a29c5224 mds: underwater is function of _loaded_ version, not in core version
We may load a dir version off disk that is older than the
in-core version (because we got newer data from the
journal, say).  When marking underwater items clean, do
so based on the _loaded_ version, not out in-core version.
2009-11-10 16:27:40 -08:00
Sage Weil
a86e5409d7 todo 2009-11-10 16:27:39 -08:00
Greg Farnum
76635a4745 mds: If last MDS, suicide on stop rather than entering infinite requeue loop 2009-11-10 16:02:26 -08:00
Sage Weil
18480059dc osd: do not apply_transaction in finish_recovery
finish_recovery needs to set up a callback for when the current set of
changes commit to disk (to kickstart cleanup of strya replicas etc).  We
can't call apply_transaction this deep inside the call chain without
causing problems.  So, pass a list of completion contexts all the way down
so that we can set up the completion callback.
2009-11-10 15:01:22 -08:00
Sage Weil
41c176b15d filestore: don't croak on 0 op usertrans error 2009-11-10 15:01:22 -08:00
Sage Weil
6e77d52c7a filestore: check return values 2009-11-10 13:12:33 -08:00
Sage Weil
9c46520d8a test_trans 2009-11-10 08:23:38 -08:00
Sage Weil
a1fb28e936 filestore: fix usertrans setxattr, print it out nicely 2009-11-10 08:09:18 -08:00
Sage Weil
7349d66891 filestore: clean up btrfs ioctls; use actual btrfs ioctl.h 2009-11-10 07:51:44 -08:00
Sage Weil
48d99572ac sample.ceph.conf: include usertrans flag 2009-11-10 07:37:56 -08:00
Sage Weil
82df8b5d63 filestore: make FileStore btrfs ioctl tests more readable 2009-11-10 07:37:45 -08:00
Sage Weil
b051a2fd4a osd: log misdirected ops; reply with -ENXIO
This is more helpful than assert(0).  It's still bad (it means the client
and osd calculated different pg mappings) though, but this makes it easier
to identify and fix.
2009-11-09 13:17:29 -08:00
Sage Weil
255e3281a3 sample.ceph.conf: fix btrfs mountoptions 2009-11-09 13:01:08 -08:00
Sage Weil
e931ba06c4 osdmap: clear out old hash distribution code
This screws up linkage because not everything that #Includes osdmap.h
links crush.
2009-11-08 09:21:16 -08:00
Sage Weil
5301d0808a osd: make pgids sort on (pool, preferred, ps)
This makes pg dump output easier to read, mainly.
2009-11-07 21:06:27 -08:00
Sage Weil
d9f94b55f9 crushtool: small fix 2009-11-07 21:05:32 -08:00
Sage Weil
407e93423a Revert "crush: use spirit classic headers"
This reverts commit 28ac4441b8.
2009-11-07 20:49:37 -08:00
Sage Weil
a1340e6813 hash: small cleanup 2009-11-07 20:49:31 -08:00
Sage Weil
63d2008c47 crush: hrm fix up builder too
fix
2009-11-07 20:39:31 -08:00
Sage Weil
28ac4441b8 crush: use spirit classic headers
This makes the 'deprecated' warnings go away.
2009-11-07 19:59:42 -08:00
Sage Weil
89d46be436 crush: make hash function selectable 2009-11-07 19:59:05 -08:00
Sage Weil
5779a1333a osd: make object hash a pg_pool parameter 2009-11-06 21:36:43 -08:00
Sage Weil
2a7e2f2ebd osdmaptool: test-map-object 2009-11-06 16:48:49 -08:00
Sage Weil
1ffdf516da osd: use stronger hash function for mapping objects -> pgs
The old hash (from linux dcache) was very weak, such that
least sig bits may not change and you could get lots of
consecutive objects on the same osds (because lsbits of the
pg weren't changing).

This is Robert Jenkin's hash and is quite strong.  Public
domain.

Rev osd disk format, protocol, since we're totally changing
object placement here.
2009-11-06 16:48:49 -08:00