]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agomds: fix EMetaBlob initialization
Sage Weil [Thu, 8 Jan 2009 19:42:18 +0000 (11:42 -0800)]
mds: fix EMetaBlob initialization

Use a single constructor.

16 years agomds: only file_eval on xlock_finish if stable
Sage Weil [Thu, 8 Jan 2009 18:43:29 +0000 (10:43 -0800)]
mds: only file_eval on xlock_finish if stable

16 years agovstart: fix ip determination
Sage Weil [Wed, 7 Jan 2009 23:12:02 +0000 (15:12 -0800)]
vstart: fix ip determination

16 years agomds: don't rdlock and xlock at the same time
Sage Weil [Fri, 2 Jan 2009 22:25:00 +0000 (14:25 -0800)]
mds: don't rdlock and xlock at the same time

16 years agomds: check for xlock in simple_sync()
Sage Weil [Fri, 2 Jan 2009 22:24:51 +0000 (14:24 -0800)]
mds: check for xlock in simple_sync()

16 years agomds: fix lock print methods
Sage Weil [Fri, 2 Jan 2009 22:13:12 +0000 (14:13 -0800)]
mds: fix lock print methods

16 years agotodo
Sage Weil [Fri, 2 Jan 2009 17:26:15 +0000 (09:26 -0800)]
todo

16 years agomds: clean up lock print methods
Sage Weil [Thu, 1 Jan 2009 19:06:13 +0000 (11:06 -0800)]
mds: clean up lock print methods

16 years agoMerge branch 'unstable' into asyncmds
Sage Weil [Wed, 31 Dec 2008 19:30:08 +0000 (11:30 -0800)]
Merge branch 'unstable' into asyncmds

Conflicts:

src/mon/OSDMonitor.cc

16 years agoobjecter: fix ack vs safe behavior
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!

16 years agojournaler: add --journaler_safe hack support back
Sage Weil [Wed, 31 Dec 2008 19:21:21 +0000 (11:21 -0800)]
journaler: add --journaler_safe hack support back

16 years agoobjecter: fix ack vs safe behavior
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!

16 years agokclient: setattr on inode (not path) if holding WR cap
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.

16 years agomds: fix xattr projection
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.

16 years agokclient: update for ceph_fsid_t
Yehuda Sadeh [Wed, 31 Dec 2008 00:18:01 +0000 (16:18 -0800)]
kclient: update for ceph_fsid_t

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
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

16 years agovstart.sh: disable lockdep in default
Yehuda Sadeh [Thu, 25 Dec 2008 00:39:28 +0000 (16:39 -0800)]
vstart.sh: disable lockdep in default

16 years agomds todos
Sage Weil [Wed, 24 Dec 2008 22:40:23 +0000 (14:40 -0800)]
mds todos

16 years agomds: avoid recursion on log trim
Sage Weil [Wed, 24 Dec 2008 22:18:59 +0000 (14:18 -0800)]
mds: avoid recursion on log trim

16 years agomds: add wrlock to simplelock; wrlock authlock on chmod, chown
Sage Weil [Wed, 24 Dec 2008 22:18:45 +0000 (14:18 -0800)]
mds: add wrlock to simplelock; wrlock authlock on chmod, chown

16 years agomds: link on commit in openc; make find_snaprealm() follow projected_parent for unlin...
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().

16 years agomon: make 'osd setmap' take epoch, to avoid executing multiple times
Sage Weil [Wed, 24 Dec 2008 22:14:59 +0000 (14:14 -0800)]
mon: make 'osd setmap' take epoch, to avoid executing multiple times

16 years agoceph: increase command timeout
Sage Weil [Wed, 24 Dec 2008 20:45:07 +0000 (12:45 -0800)]
ceph: increase command timeout

16 years agomds: flush log only when we need to
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.

16 years agomds: add --mds_early_reply option
Sage Weil [Wed, 24 Dec 2008 00:36:27 +0000 (16:36 -0800)]
mds: add --mds_early_reply option

16 years agomds: only include trace in first reply
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.

16 years agomds: rewrite, clean up mds open+O_CREAT; issue dn lease to xlocker; many other server...
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

16 years agochange ceph_fsid
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.

16 years agomds: early_reply on open, mknod, symlink, mkdir when possible
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.

16 years agoos: start_sync osd operation
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.

16 years agoosd: use .version in eversion_t to determine divergence
Sage Weil [Mon, 22 Dec 2008 21:13:55 +0000 (13:13 -0800)]
osd: use .version in eversion_t to determine divergence

16 years agoosd: cleanup
Sage Weil [Mon, 22 Dec 2008 21:13:38 +0000 (13:13 -0800)]
osd: cleanup

16 years agoosd: clear entire pushing map on_change()
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.

16 years agoosd: fix read_log version attr check
Sage Weil [Mon, 22 Dec 2008 20:09:15 +0000 (12:09 -0800)]
osd: fix read_log version attr check

16 years agoosd: only request replica backlogs one at a time when searching for lost objects
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

16 years agoosd: cancel_generate_backlog on activate
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.

16 years agomon: fix mds cluster expansion
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.

16 years agomount.ceph: fix warnings, add to Makefile.am
Sage Weil [Tue, 23 Dec 2008 20:09:13 +0000 (12:09 -0800)]
mount.ceph: fix warnings, add to Makefile.am

16 years agomds: fix inotable project, sessionmap projection, ino (pre)allocation.
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.

16 years agomds: optional ino for mknod/mkdir/open requests
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.

16 years agomds: preallocate inos for each client session
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.

16 years agomds: do early replies for basic inode update operations
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.

16 years agomds: early_reply infrastructure
Sage Weil [Mon, 22 Dec 2008 21:48:40 +0000 (13:48 -0800)]
mds: early_reply infrastructure

16 years agomds: fix null_okay traverse logic
Sage Weil [Mon, 22 Dec 2008 21:43:29 +0000 (13:43 -0800)]
mds: fix null_okay traverse logic

16 years agomds: add safe flag to mds reply
Sage Weil [Mon, 22 Dec 2008 21:42:12 +0000 (13:42 -0800)]
mds: add safe flag to mds reply

16 years agomds: process caps if freezing and unstable lock
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.

16 years agomds: misc filelock fixes
Sage Weil [Fri, 19 Dec 2008 22:53:43 +0000 (14:53 -0800)]
mds: misc filelock fixes

16 years agomds: auth_pin rdlocks too
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... :/

16 years agokclient: make mdsmap_decode print nicer info
Sage Weil [Fri, 19 Dec 2008 22:27:36 +0000 (14:27 -0800)]
kclient: make mdsmap_decode print nicer info

16 years agokclient: update num_fwd in client requests
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)!

16 years agokclient: allow mds to force open a client session
Sage Weil [Fri, 19 Dec 2008 22:24:35 +0000 (14:24 -0800)]
kclient: allow mds to force open a client session

16 years agomds: don't bump to sync if dir and subtree root
Sage Weil [Fri, 19 Dec 2008 21:54:42 +0000 (13:54 -0800)]
mds: don't bump to sync if dir and subtree root

16 years agomds: fix file_wrlock_start waiting
Sage Weil [Fri, 19 Dec 2008 21:54:17 +0000 (13:54 -0800)]
mds: fix file_wrlock_start waiting

16 years agomds: filelock typo in can_rdlock
Sage Weil [Fri, 19 Dec 2008 21:01:29 +0000 (13:01 -0800)]
mds: filelock typo in can_rdlock

16 years agomds: cleanup
Sage Weil [Thu, 18 Dec 2008 20:12:37 +0000 (12:12 -0800)]
mds: cleanup

16 years agovstart: 1 mds
Sage Weil [Thu, 18 Dec 2008 20:12:33 +0000 (12:12 -0800)]
vstart: 1 mds

16 years agomds: check_inode_max_size only change filelock state if needed
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.

16 years agokclient: ICONTENT -> IFILE
Sage Weil [Thu, 18 Dec 2008 20:01:23 +0000 (12:01 -0800)]
kclient: ICONTENT -> IFILE

16 years agovstart: start 3 mdss
Sage Weil [Thu, 18 Dec 2008 19:31:43 +0000 (11:31 -0800)]
vstart: start 3 mdss

16 years agomds: basic filelock fixes
Sage Weil [Thu, 18 Dec 2008 19:31:36 +0000 (11:31 -0800)]
mds: basic filelock fixes

16 years agomon: add multiple mds's at once
Sage Weil [Thu, 18 Dec 2008 18:53:34 +0000 (10:53 -0800)]
mon: add multiple mds's at once

16 years agomds: kill the dirlock
Sage Weil [Thu, 18 Dec 2008 18:36:47 +0000 (10:36 -0800)]
mds: kill the dirlock

16 years agomds: make filelock a scatterlock child; move wrlock into simplelock
Sage Weil [Thu, 18 Dec 2008 18:12:43 +0000 (10:12 -0800)]
mds: make filelock a scatterlock child; move wrlock into simplelock

16 years agomds: fix mixed_sync state; send replica mixed state to primary as needed
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

16 years agomds: message include cleanup
Sage Weil [Thu, 18 Dec 2008 00:00:33 +0000 (16:00 -0800)]
mds: message include cleanup

16 years agomds: fix up filelock states
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.

16 years agomds: new FileLock lock->sync state
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.

16 years agomds: rename gather lock states
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"

16 years agomds: include max mds in mdsmap summary
Sage Weil [Tue, 23 Dec 2008 19:44:40 +0000 (11:44 -0800)]
mds: include max mds in mdsmap summary

16 years agomds: fix standby_replay on startup
Sage Weil [Tue, 23 Dec 2008 19:44:28 +0000 (11:44 -0800)]
mds: fix standby_replay on startup

16 years agoremove uninitialized warnings
Yehuda Sadeh [Mon, 22 Dec 2008 23:20:27 +0000 (15:20 -0800)]
remove uninitialized warnings

16 years agoosd: gracefully exit when create_object_store() returns NULL
Yehuda Sadeh [Mon, 22 Dec 2008 21:13:20 +0000 (13:13 -0800)]
osd: gracefully exit when create_object_store() returns NULL

16 years agoosd: inc_lock attr is optional
Sage Weil [Mon, 22 Dec 2008 17:01:48 +0000 (09:01 -0800)]
osd: inc_lock attr is optional

16 years agoosd: update pg degraded stats only when active
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.

16 years agoosd: initialize generate_backlog_epoch
Sage Weil [Mon, 22 Dec 2008 06:07:33 +0000 (22:07 -0800)]
osd: initialize generate_backlog_epoch

16 years agoosd: clear_prior when activating
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.

16 years agoosd: clear backlog flag when done
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.

16 years agoosd: only update degraded object stats after peering
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.

16 years agoosd: clear STATE_PEERING during replay
Sage Weil [Fri, 19 Dec 2008 00:46:07 +0000 (16:46 -0800)]
osd: clear STATE_PEERING during replay

16 years agoosd: safely encode all other attributes
Sage Weil [Fri, 19 Dec 2008 00:45:56 +0000 (16:45 -0800)]
osd: safely encode all other attributes

16 years agoosd: properly encode ondisklog attr
Sage Weil [Fri, 19 Dec 2008 00:01:41 +0000 (16:01 -0800)]
osd: properly encode ondisklog attr

Also combine into a single attr.

16 years agobuffer: optionally preallocate some append_buffer
Sage Weil [Thu, 18 Dec 2008 23:24:00 +0000 (15:24 -0800)]
buffer: optionally preallocate some append_buffer

16 years agomake time format easier to read
Sage Weil [Thu, 18 Dec 2008 19:32:08 +0000 (11:32 -0800)]
make time format easier to read

16 years agoceph: terminate dumped output
Sage Weil [Thu, 18 Dec 2008 00:48:38 +0000 (16:48 -0800)]
ceph: terminate dumped output

16 years agomon: tell stdout where the monmap came from
Sage Weil [Wed, 17 Dec 2008 19:21:59 +0000 (11:21 -0800)]
mon: tell stdout where the monmap came from

16 years agodstart: cm.txt update (for 3x)
Sage Weil [Mon, 15 Dec 2008 20:49:57 +0000 (12:49 -0800)]
dstart: cm.txt update (for 3x)

16 years agoceph: fix observe renewal; ack by paxos
Sage Weil [Wed, 17 Dec 2008 23:32:14 +0000 (15:32 -0800)]
ceph: fix observe renewal; ack by paxos

16 years agotodo
Sage Weil [Wed, 17 Dec 2008 22:06:15 +0000 (14:06 -0800)]
todo

16 years agoverify-mds-journal: periodically verify mds replay; stop if error
Sage Weil [Wed, 17 Dec 2008 21:37:34 +0000 (13:37 -0800)]
verify-mds-journal: periodically verify mds replay; stop if error

16 years agomds: only standby-replay when explicitly requested on startup.
Sage Weil [Wed, 17 Dec 2008 21:32:11 +0000 (13:32 -0800)]
mds: only standby-replay when explicitly requested on startup.

Until it does something more than just replay the log and quit.

16 years agomds: basic standby-replay hack
Sage Weil [Wed, 17 Dec 2008 21:12:27 +0000 (13:12 -0800)]
mds: basic standby-replay hack

Replay the log, and exit cleanly if everything looks ok.

16 years agomon: replace laggy standby-replay nodes too
Sage Weil [Wed, 17 Dec 2008 21:02:44 +0000 (13:02 -0800)]
mon: replace laggy standby-replay nodes too

If there is someone to take over...

16 years agomon: mark extra standby mds's as standby-replay
Sage Weil [Wed, 17 Dec 2008 20:34:28 +0000 (12:34 -0800)]
mon: mark extra standby mds's as standby-replay

Not that the mds does the right thing, yet...

16 years agoosd: enable queue_generate_backlog on pg query
Sage Weil [Wed, 17 Dec 2008 18:53:42 +0000 (10:53 -0800)]
osd: enable queue_generate_backlog on pg query

Code was disabled, oops.

16 years agomds: fix mdsmap dump
Sage Weil [Wed, 17 Dec 2008 19:20:23 +0000 (11:20 -0800)]
mds: fix mdsmap dump

Don't fall over duplicate mds (id,inc) pairs.

16 years agomsgr: stop accepter on socket error
Sage Weil [Wed, 17 Dec 2008 18:30:42 +0000 (10:30 -0800)]
msgr: stop accepter on socket error

Only if we get a few in a row.

16 years agomds: restructure mds map, clean up mdsmon
Sage Weil [Tue, 16 Dec 2008 21:06:59 +0000 (13:06 -0800)]
mds: restructure mds map, clean up mdsmon

More flexible mdsmap structure.  Cleaner interface.

16 years agomon: clean up mdsmon a bit; do takeovers from tick(), not _committed()
Sage Weil [Tue, 16 Dec 2008 19:45:57 +0000 (11:45 -0800)]
mon: clean up mdsmon a bit; do takeovers from tick(), not _committed()

This puts all the takeover logic in one place.  And avoids any
funny issues where the monitor fails before it can do a takeover.
More robust.

16 years agomon: blacklist failed mds
Sage Weil [Tue, 16 Dec 2008 18:45:10 +0000 (10:45 -0800)]
mon: blacklist failed mds

16 years agomon: expire old blacklist items (osdmap change)
Sage Weil [Tue, 16 Dec 2008 18:41:55 +0000 (10:41 -0800)]
mon: expire old blacklist items (osdmap change)