Commit Graph

5319 Commits

Author SHA1 Message Date
Sage Weil
85327b74bb osd: clear entire pushing map on_change()
Primary state is reset; clear pushing map entirely.  We wouldn't know how
to handle the push acks properly anyway.
2008-12-23 12:19:09 -08:00
Sage Weil
960ab7009c osd: fix read_log version attr check 2008-12-23 12:19:08 -08:00
Sage Weil
a6022bece4 osd: only request replica backlogs one at a time when searching for lost objects 2008-12-23 12:19:07 -08:00
Sage Weil
6d41141b1c osd: cancel_generate_backlog on activate
This fixes issue where primary requests backlog, finds its missing objects,
activates (by sending a backlog), and replica generates backlog only to
find that it already has it.
2008-12-23 12:19:06 -08:00
Sage Weil
1144b55a6a mon: fix mds cluster expansion
If we can't find a suitable standby, stop looping.
2008-12-23 12:14:21 -08:00
Sage Weil
ff2ac52582 mount.ceph: fix warnings, add to Makefile.am 2008-12-23 12:09:13 -08:00
Sage Weil
701ae00462 mds: fix inotable project, sessionmap projection, ino (pre)allocation.
Table changes must be projected so that the saved table is never
newer than the end of the journal.
2008-12-23 11:45:22 -08:00
Sage Weil
c59650c595 mds: optional ino for mknod/mkdir/open requests
Will be needed for replaying those requests if we get an early
reply, to ensure that the same ino is used.
2008-12-23 11:45:22 -08:00
Sage Weil
0d685653ed mds: preallocate inos for each client session
Do not use preallocated inos until we have journaled the
preallocation.  If we use a newly allocated ino, do not do an
early_reply.

When the session closes, release the inos.
2008-12-23 11:45:22 -08:00
Sage Weil
5b19c4ad40 mds: do early replies for basic inode update operations
chmod, chown, etc.  Not for mknod/mkdir, which allocate inos.
2008-12-23 11:45:22 -08:00
Sage Weil
d11f5f1c59 mds: early_reply infrastructure 2008-12-23 11:45:22 -08:00
Sage Weil
e5ba5ed3ce mds: fix null_okay traverse logic 2008-12-23 11:45:22 -08:00
Sage Weil
968cfc8f1b mds: add safe flag to mds reply 2008-12-23 11:45:22 -08:00
Sage Weil
bbe70a18af mds: process caps if freezing and unstable lock
The caps message may be a revocation ack that is needed to complete
the freeze.  In general, though, we back off even if freezing,
since we want to avoid starving the freeze as much as possible.
2008-12-23 11:45:22 -08:00
Sage Weil
bed844f15e mds: misc filelock fixes 2008-12-23 11:45:22 -08:00
Sage Weil
16ed267aa0 mds: auth_pin rdlocks too
Not sure why we didn't before... :/
2008-12-23 11:45:22 -08:00
Sage Weil
04cf78c7e5 kclient: make mdsmap_decode print nicer info 2008-12-23 11:45:22 -08:00
Sage Weil
1f06b73260 kclient: update num_fwd in client requests
We were keeping our local copy, but not updating the message sent.

Also fix buggy maybe_dup behavior (dup, then set rhead pointer)!
2008-12-23 11:45:22 -08:00
Sage Weil
ac9d80b785 kclient: allow mds to force open a client session 2008-12-23 11:45:22 -08:00
Sage Weil
55e6b073f8 mds: don't bump to sync if dir and subtree root 2008-12-23 11:45:22 -08:00
Sage Weil
0332cd0bc5 mds: fix file_wrlock_start waiting 2008-12-23 11:45:22 -08:00
Sage Weil
a902349e5c mds: filelock typo in can_rdlock 2008-12-23 11:45:22 -08:00
Sage Weil
402c18634c mds: cleanup 2008-12-23 11:45:22 -08:00
Sage Weil
edab8a7cdd vstart: 1 mds 2008-12-23 11:45:22 -08:00
Sage Weil
fd2b7c7165 mds: check_inode_max_size only change filelock state if needed
Don't try to change lock state unless we actually have something
to update.
2008-12-23 11:45:22 -08:00
Sage Weil
557e7d9d75 kclient: ICONTENT -> IFILE 2008-12-23 11:45:21 -08:00
Sage Weil
339380945f vstart: start 3 mdss 2008-12-23 11:45:21 -08:00
Sage Weil
89b8283f73 mds: basic filelock fixes 2008-12-23 11:45:21 -08:00
Sage Weil
624ed85a6f mon: add multiple mds's at once 2008-12-23 11:45:21 -08:00
Sage Weil
fca6c27cbc mds: kill the dirlock 2008-12-23 11:45:21 -08:00
Sage Weil
09c0288c5e mds: make filelock a scatterlock child; move wrlock into simplelock 2008-12-23 11:45:21 -08:00
Sage Weil
fe744dcdcd mds: fix mixed_sync state; send replica mixed state to primary as needed 2008-12-23 11:45:21 -08:00
Sage Weil
b9ce3dae02 mds: message include cleanup 2008-12-23 11:45:21 -08:00
Sage Weil
247e6d955e mds: fix up filelock states
Allow wrlocks in LOCK_MIXED (which will serve the same function as
LOCK_SCATTER).

Clean up can_wrlock()/can_rdlock().. there were lots of states in
there that shouldn't have been.
2008-12-23 11:45:21 -08:00
Sage Weil
397938f45d mds: new FileLock lock->sync state
Previously this was avoided, more or less by accident.  ScatterLock
has it, so we'll presumably need it in FileLock to fold them
together.
2008-12-23 11:45:21 -08:00
Sage Weil
1df9248df6 mds: rename gather lock states
Easier to read: LOCK_oldstate_newstate, "oldstate->newstate"
2008-12-23 11:45:21 -08:00
Sage Weil
2050e49010 mds: include max mds in mdsmap summary 2008-12-23 11:45:06 -08:00
Sage Weil
1163bcd618 mds: fix standby_replay on startup 2008-12-23 11:45:03 -08:00
Yehuda Sadeh
c8f31fb2fa remove uninitialized warnings 2008-12-22 15:20:27 -08:00
Yehuda Sadeh
f21f172595 osd: gracefully exit when create_object_store() returns NULL 2008-12-22 13:13:20 -08:00
Sage Weil
58522622eb osd: inc_lock attr is optional 2008-12-22 10:10:50 -08:00
Sage Weil
63f63bb2a7 osd: update pg degraded stats only when active
peer_missing needs to be defined.
2008-12-22 10:10:49 -08:00
Sage Weil
b873c1702d osd: initialize generate_backlog_epoch 2008-12-22 10:10:49 -08:00
Sage Weil
35d5c74df3 osd: clear_prior when activating
This just ensures that, once active, an osd state change affecting our
prior_set won't make us repeer.  E.g., a prior going down.
2008-12-22 10:10:48 -08:00
Sage Weil
21bf68c212 osd: clear backlog flag when done
Otherwise we won't requeue again later.
2008-12-22 10:10:47 -08:00
Sage Weil
199d03243f osd: only update degraded object stats after peering
This avoids incorrectly populating peer_missing[acting[i]], which
in turn screws up peering and recovery.
2008-12-19 12:27:46 -08:00
Sage Weil
af9559e784 osd: clear STATE_PEERING during replay 2008-12-18 16:46:07 -08:00
Sage Weil
e194bc95cf osd: safely encode all other attributes 2008-12-18 16:45:56 -08:00
Sage Weil
0db8c4c773 osd: properly encode ondisklog attr
Also combine into a single attr.
2008-12-18 16:01:41 -08:00
Sage Weil
ee4b96187b buffer: optionally preallocate some append_buffer 2008-12-18 15:24:00 -08:00