]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Tue, 6 Jan 2009 22:37:20 +0000 (14:37 -0800)]
mds: don't let release race with any caps
Sage Weil [Tue, 6 Jan 2009 21:46:34 +0000 (13:46 -0800)]
mds: simplify capability issued tracking
The original was really stupid.. keeping track of every issued
value in a list and traversing it to calculate the effective
issued mask.
New version has a small, fixed array that is used only when bits
are revoked.
Sage Weil [Tue, 6 Jan 2009 21:44:44 +0000 (13:44 -0800)]
uclient: fix likes bits
Sage Weil [Tue, 6 Jan 2009 20:47:29 +0000 (12:47 -0800)]
kclient: use new caps protocol
Also,
- Stat root inode instead of opening it. We will keep the PIN cap
and be happy.
- add ceph_cap_string helper to make cap values readable
Sage Weil [Tue, 6 Jan 2009 20:46:00 +0000 (12:46 -0800)]
mds: fix stat mask
Sage Weil [Tue, 6 Jan 2009 20:45:49 +0000 (12:45 -0800)]
mds: only send clientcaps if we need to revoke, or we can issue explicitly wanted caps
Sage Weil [Tue, 6 Jan 2009 20:45:24 +0000 (12:45 -0800)]
mds: fix cap release seq check
Sage Weil [Tue, 6 Jan 2009 19:08:44 +0000 (11:08 -0800)]
uclient: set dirty bits in cap_snap
Sage Weil [Tue, 6 Jan 2009 00:30:10 +0000 (16:30 -0800)]
mds: bunch of cap protocol changes, and user client adjustments.
See capability protocol notes in mds/Capability.h
Sage Weil [Mon, 5 Jan 2009 19:20:13 +0000 (11:20 -0800)]
kclient: fix snap realm update on reply
Take snap_rwsem always, since we usually get caps. Drop trailing
snaprealm ref after trace is fully processed.
Sage Weil [Mon, 5 Jan 2009 19:06:26 +0000 (11:06 -0800)]
mds: fix set_trace_dist snaprealm problem on unlink
Set snaprealm trace based on the first inode we see.
Sage Weil [Sun, 4 Jan 2009 23:41:03 +0000 (15:41 -0800)]
kclient: ref count cap_snap to avoid unnecessarily copying into temp variables
Sage Weil [Sun, 4 Jan 2009 20:14:40 +0000 (12:14 -0800)]
kclient: take fmode ref atomically while adding cap
Sage Weil [Sun, 4 Jan 2009 19:38:31 +0000 (11:38 -0800)]
client: do not update when already holding EXCL cap
Sage Weil [Sun, 4 Jan 2009 19:17:20 +0000 (11:17 -0800)]
kclient: caps basically working
handle caps on any inode in reply. no more inode leases.
Yehuda Sadeh [Sat, 3 Jan 2009 01:04:00 +0000 (17:04 -0800)]
kclient: use ceph_caps_release instead of dropping inode lease
Yehuda Sadeh [Sun, 4 Jan 2009 18:50:56 +0000 (10:50 -0800)]
kclient: switch from inode leases to new caps
----------------------------
Sage Weil [Sun, 4 Jan 2009 18:34:47 +0000 (10:34 -0800)]
notes
Sage Weil [Sun, 4 Jan 2009 18:28:50 +0000 (10:28 -0800)]
uclient: adjust cap release logic...
Sage Weil [Sun, 4 Jan 2009 17:38:46 +0000 (09:38 -0800)]
mds: only _do_cap_update if client held ANY_WR caps
Sage Weil [Sat, 3 Jan 2009 19:33:35 +0000 (11:33 -0800)]
mds: issue RDCACHE caps to client when possible. add cap to do so if inode auth.
Sage Weil [Sat, 3 Jan 2009 01:03:47 +0000 (17:03 -0800)]
uclient: sorta working
Sage Weil [Sat, 3 Jan 2009 01:00:08 +0000 (17:00 -0800)]
mds: fix scatterlock print
Sage Weil [Fri, 2 Jan 2009 23:29:29 +0000 (15:29 -0800)]
mds: put a cap in each inode stat in trace; simplify snaprealm trace encoding
Sage Weil [Fri, 2 Jan 2009 22:46:07 +0000 (14:46 -0800)]
mds: cap comments
Sage Weil [Fri, 2 Jan 2009 22:42:58 +0000 (14:42 -0800)]
mds: rewrite CEPH_STAT_MASK_* as CEPH_STAT_CAP_* (cap masks)
Sage Weil [Fri, 2 Jan 2009 22:26:08 +0000 (14:26 -0800)]
mds: cap writeback authlock fields as well as filelock fields
No xattrs yet.
Sage Weil [Fri, 2 Jan 2009 20:05:09 +0000 (12:05 -0800)]
mds: share caps across multiple lock types.
Very rough initial first pass.
Sage Weil [Fri, 2 Jan 2009 17:26:15 +0000 (09:26 -0800)]
todo
Sage Weil [Thu, 1 Jan 2009 19:06:13 +0000 (11:06 -0800)]
mds: clean up lock print methods
Sage Weil [Wed, 31 Dec 2008 19:30:08 +0000 (11:30 -0800)]
Merge branch 'unstable' into asyncmds
Conflicts:
src/mon/OSDMonitor.cc
Sage Weil [Wed, 31 Dec 2008 19:20:29 +0000 (11:20 -0800)]
objecter: fix ack vs safe behavior
This was totally broken (ack was taken as a safe). Doh!
Sage Weil [Wed, 31 Dec 2008 19:21:21 +0000 (11:21 -0800)]
journaler: add --journaler_safe hack support back
Sage Weil [Wed, 31 Dec 2008 19:20:29 +0000 (11:20 -0800)]
objecter: fix ack vs safe behavior
This was totally broken (ack was taken as a safe). Doh!
Sage Weil [Wed, 31 Dec 2008 19:19:38 +0000 (11:19 -0800)]
kclient: setattr on inode (not path) if holding WR cap
For newly created files, this avoids contention in the MDS over the dentry
xlock (e.g., for an untar).
It is slightly risky, because we could race with a caps release and MDS
cache trim. Pretty unlikely, however, because cap release would also
involve MDS journaling.
Sage Weil [Wed, 31 Dec 2008 17:15:34 +0000 (09:15 -0800)]
mds: fix xattr projection
We do not want the new xattr to appear in the inode until the journal
entry commits.
Yehuda Sadeh [Wed, 31 Dec 2008 00:18:01 +0000 (16:18 -0800)]
kclient: update for ceph_fsid_t
Yehuda Sadeh [Thu, 25 Dec 2008 00:39:59 +0000 (16:39 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Thu, 25 Dec 2008 00:39:28 +0000 (16:39 -0800)]
vstart.sh: disable lockdep in default
Sage Weil [Wed, 24 Dec 2008 22:40:23 +0000 (14:40 -0800)]
mds todos
Sage Weil [Wed, 24 Dec 2008 22:18:59 +0000 (14:18 -0800)]
mds: avoid recursion on log trim
Sage Weil [Wed, 24 Dec 2008 22:18:45 +0000 (14:18 -0800)]
mds: add wrlock to simplelock; wrlock authlock on chmod, chown
Sage Weil [Wed, 24 Dec 2008 22:18:06 +0000 (14:18 -0800)]
mds: link on commit in openc; make find_snaprealm() follow projected_parent for unlinked inode
Linking inode in early confuses CDir::_committed().
Sage Weil [Wed, 24 Dec 2008 22:14:59 +0000 (14:14 -0800)]
mon: make 'osd setmap' take epoch, to avoid executing multiple times
Sage Weil [Wed, 24 Dec 2008 20:45:07 +0000 (12:45 -0800)]
ceph: increase command timeout
Sage Weil [Wed, 24 Dec 2008 20:11:50 +0000 (12:11 -0800)]
mds: flush log only when we need to
In particular, don't flush immediately on cap flush unless the lock is
unstable. If we later wait on the lock state, make sure the log flushes.
Sage Weil [Wed, 24 Dec 2008 00:36:27 +0000 (16:36 -0800)]
mds: add --mds_early_reply option
Sage Weil [Wed, 24 Dec 2008 00:36:12 +0000 (16:36 -0800)]
mds: only include trace in first reply
No need to do it twice.
Sage Weil [Tue, 23 Dec 2008 23:43:10 +0000 (15:43 -0800)]
mds: rewrite, clean up mds open+O_CREAT; issue dn lease to xlocker; many other server cleanups
Sage Weil [Tue, 23 Dec 2008 21:39:25 +0000 (13:39 -0800)]
change ceph_fsid
Make it look more like uuid_t. Rename type, comparator.
Sage Weil [Tue, 23 Dec 2008 21:36:46 +0000 (13:36 -0800)]
mds: early_reply on open, mknod, symlink, mkdir when possible
Use client-provided ino, if defined.
Sage Weil [Tue, 23 Dec 2008 20:29:04 +0000 (12:29 -0800)]
os: start_sync osd operation
If a client has a time sensitive operation, it can include a start_sync
in the op vector to start an immediate commit to disk. It should then
get the ONDISK ack sooner.
Sage Weil [Mon, 22 Dec 2008 21:13:55 +0000 (13:13 -0800)]
osd: use .version in eversion_t to determine divergence
Sage Weil [Mon, 22 Dec 2008 21:13:38 +0000 (13:13 -0800)]
osd: cleanup
Sage Weil [Mon, 22 Dec 2008 20:09:57 +0000 (12:09 -0800)]
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.
Sage Weil [Mon, 22 Dec 2008 20:09:15 +0000 (12:09 -0800)]
osd: fix read_log version attr check
Sage Weil [Mon, 22 Dec 2008 19:39:36 +0000 (11:39 -0800)]
osd: only request replica backlogs one at a time when searching for lost objects
Sage Weil [Mon, 22 Dec 2008 19:39:18 +0000 (11:39 -0800)]
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.
Sage Weil [Tue, 23 Dec 2008 20:14:21 +0000 (12:14 -0800)]
mon: fix mds cluster expansion
If we can't find a suitable standby, stop looping.
Sage Weil [Tue, 23 Dec 2008 20:09:13 +0000 (12:09 -0800)]
mount.ceph: fix warnings, add to Makefile.am
Sage Weil [Tue, 23 Dec 2008 03:09:39 +0000 (19:09 -0800)]
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.
Sage Weil [Tue, 23 Dec 2008 00:12:26 +0000 (16:12 -0800)]
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.
Sage Weil [Tue, 23 Dec 2008 00:11:39 +0000 (16:11 -0800)]
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.
Sage Weil [Mon, 22 Dec 2008 22:03:43 +0000 (14:03 -0800)]
mds: do early replies for basic inode update operations
chmod, chown, etc. Not for mknod/mkdir, which allocate inos.
Sage Weil [Mon, 22 Dec 2008 21:48:40 +0000 (13:48 -0800)]
mds: early_reply infrastructure
Sage Weil [Mon, 22 Dec 2008 21:43:29 +0000 (13:43 -0800)]
mds: fix null_okay traverse logic
Sage Weil [Mon, 22 Dec 2008 21:42:12 +0000 (13:42 -0800)]
mds: add safe flag to mds reply
Sage Weil [Fri, 19 Dec 2008 23:46:06 +0000 (15:46 -0800)]
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.
Sage Weil [Fri, 19 Dec 2008 22:53:43 +0000 (14:53 -0800)]
mds: misc filelock fixes
Sage Weil [Fri, 19 Dec 2008 22:53:30 +0000 (14:53 -0800)]
mds: auth_pin rdlocks too
Not sure why we didn't before... :/
Sage Weil [Fri, 19 Dec 2008 22:27:36 +0000 (14:27 -0800)]
kclient: make mdsmap_decode print nicer info
Sage Weil [Fri, 19 Dec 2008 22:27:00 +0000 (14:27 -0800)]
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)!
Sage Weil [Fri, 19 Dec 2008 22:24:35 +0000 (14:24 -0800)]
kclient: allow mds to force open a client session
Sage Weil [Fri, 19 Dec 2008 21:54:42 +0000 (13:54 -0800)]
mds: don't bump to sync if dir and subtree root
Sage Weil [Fri, 19 Dec 2008 21:54:17 +0000 (13:54 -0800)]
mds: fix file_wrlock_start waiting
Sage Weil [Fri, 19 Dec 2008 21:01:29 +0000 (13:01 -0800)]
mds: filelock typo in can_rdlock
Sage Weil [Thu, 18 Dec 2008 20:12:37 +0000 (12:12 -0800)]
mds: cleanup
Sage Weil [Thu, 18 Dec 2008 20:12:33 +0000 (12:12 -0800)]
vstart: 1 mds
Sage Weil [Thu, 18 Dec 2008 20:12:23 +0000 (12:12 -0800)]
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.
Sage Weil [Thu, 18 Dec 2008 20:01:23 +0000 (12:01 -0800)]
kclient: ICONTENT -> IFILE
Sage Weil [Thu, 18 Dec 2008 19:31:43 +0000 (11:31 -0800)]
vstart: start 3 mdss
Sage Weil [Thu, 18 Dec 2008 19:31:36 +0000 (11:31 -0800)]
mds: basic filelock fixes
Sage Weil [Thu, 18 Dec 2008 18:53:34 +0000 (10:53 -0800)]
mon: add multiple mds's at once
Sage Weil [Thu, 18 Dec 2008 18:36:47 +0000 (10:36 -0800)]
mds: kill the dirlock
Sage Weil [Thu, 18 Dec 2008 18:12:43 +0000 (10:12 -0800)]
mds: make filelock a scatterlock child; move wrlock into simplelock
Sage Weil [Thu, 18 Dec 2008 00:51:11 +0000 (16:51 -0800)]
mds: fix mixed_sync state; send replica mixed state to primary as needed
Sage Weil [Thu, 18 Dec 2008 00:00:33 +0000 (16:00 -0800)]
mds: message include cleanup
Sage Weil [Wed, 17 Dec 2008 23:06:02 +0000 (15:06 -0800)]
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.
Sage Weil [Wed, 17 Dec 2008 22:47:55 +0000 (14:47 -0800)]
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.
Sage Weil [Wed, 17 Dec 2008 22:39:35 +0000 (14:39 -0800)]
mds: rename gather lock states
Easier to read: LOCK_oldstate_newstate, "oldstate->newstate"
Sage Weil [Tue, 23 Dec 2008 19:44:40 +0000 (11:44 -0800)]
mds: include max mds in mdsmap summary
Sage Weil [Tue, 23 Dec 2008 19:44:28 +0000 (11:44 -0800)]
mds: fix standby_replay on startup
Yehuda Sadeh [Mon, 22 Dec 2008 23:20:27 +0000 (15:20 -0800)]
remove uninitialized warnings
Yehuda Sadeh [Mon, 22 Dec 2008 21:13:20 +0000 (13:13 -0800)]
osd: gracefully exit when create_object_store() returns NULL
Sage Weil [Mon, 22 Dec 2008 17:01:48 +0000 (09:01 -0800)]
osd: inc_lock attr is optional
Sage Weil [Mon, 22 Dec 2008 06:40:46 +0000 (22:40 -0800)]
osd: update pg degraded stats only when active
peer_missing needs to be defined.
Sage Weil [Mon, 22 Dec 2008 06:07:33 +0000 (22:07 -0800)]
osd: initialize generate_backlog_epoch
Sage Weil [Thu, 18 Dec 2008 19:49:42 +0000 (11:49 -0800)]
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.
Sage Weil [Thu, 18 Dec 2008 19:48:32 +0000 (11:48 -0800)]
osd: clear backlog flag when done
Otherwise we won't requeue again later.
Sage Weil [Fri, 19 Dec 2008 20:17:45 +0000 (12:17 -0800)]
osd: only update degraded object stats after peering
This avoids incorrectly populating peer_missing[acting[i]], which
in turn screws up peering and recovery.