]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agomds: make scatterlock flush on mix <-> lock transitions, not just mix <-> sync
Sage Weil [Fri, 20 Mar 2009 23:54:20 +0000 (16:54 -0700)]
mds: make scatterlock flush on mix <-> lock transitions, not just mix <-> sync

Among other things, this fixes up mds (>0) shutdown.

16 years agoauth: fix uninitialized variable
Yehuda Sadeh [Fri, 20 Mar 2009 21:19:27 +0000 (14:19 -0700)]
auth: fix uninitialized variable

16 years agomds: add MClientMountAck
Sage Weil [Fri, 20 Mar 2009 21:19:12 +0000 (14:19 -0700)]
mds: add MClientMountAck

16 years agoconfig: clean up common_init a bit
Sage Weil [Fri, 20 Mar 2009 19:12:33 +0000 (12:12 -0700)]
config: clean up common_init a bit

16 years agoinitscripts: add default mount options
Yehuda Sadeh [Fri, 20 Mar 2009 21:04:09 +0000 (14:04 -0700)]
initscripts: add default mount options

16 years agoauth: advanced auth config options
Yehuda Sadeh [Fri, 20 Mar 2009 20:54:56 +0000 (13:54 -0700)]
auth: advanced auth config options

16 years agokclient: remove renew_from from lease renew message
Sage Weil [Thu, 19 Mar 2009 23:16:18 +0000 (16:16 -0700)]
kclient: remove renew_from from lease renew message

Keep it in the ceph_dentry_info instead (as is done with the cap
renewals).  Much cleaner.

16 years agoprotocol: add mount_ack to client mount protocol
Sage Weil [Thu, 19 Mar 2009 21:36:59 +0000 (14:36 -0700)]
protocol: add mount_ack to client mount protocol

16 years agocstring: don't fall over on null initialization
Sage Weil [Thu, 19 Mar 2009 21:35:46 +0000 (14:35 -0700)]
cstring: don't fall over on null initialization

(like std::string does)

16 years agodebian: description updates
Sage Weil [Thu, 19 Mar 2009 18:29:17 +0000 (11:29 -0700)]
debian: description updates

16 years agoRevert "mds: make CAP_FILE_RD expireable"
Sage Weil [Thu, 19 Mar 2009 18:17:42 +0000 (11:17 -0700)]
Revert "mds: make CAP_FILE_RD expireable"

This reverts commit 05752278d46fe5776d54d3b58f8c8a88e67a2179.

Caused dbench performance regression.. everything got all slow!

16 years agoceph: ceph_client_ticket
Sage Weil [Thu, 19 Mar 2009 00:00:03 +0000 (17:00 -0700)]
ceph: ceph_client_ticket

16 years agodebian: improve description a bit
Sage Weil [Wed, 18 Mar 2009 23:45:48 +0000 (16:45 -0700)]
debian: improve description a bit

16 years agomds: be sure to issue new caps _without revocation_ from encode_indoestat
Sage Weil [Wed, 18 Mar 2009 23:25:39 +0000 (16:25 -0700)]
mds: be sure to issue new caps _without revocation_ from encode_indoestat

Only explicit GRANT caps messages (via issue_caps) can revoke caps.
Thus, be sure to only _add_ bits to _pending.  Otherwise our
revocation logic (in issue_caps) gets confused, expecting to see
a revocation ack when a lock state changes.

16 years agomds: fix get_caps_liked()
Sage Weil [Wed, 18 Mar 2009 23:24:14 +0000 (16:24 -0700)]
mds: fix get_caps_liked()

We just want to exclude FILE_RD on directories.  ANY_RD includes
RDCACHE.. der.

16 years agomkcephfs: create osd_data if it dne
Sage Weil [Wed, 18 Mar 2009 22:12:32 +0000 (15:12 -0700)]
mkcephfs: create osd_data if it dne

16 years agotodo
Sage Weil [Wed, 18 Mar 2009 21:56:35 +0000 (14:56 -0700)]
todo

16 years agoauth: fix case when mount sections are not defined
Yehuda Sadeh [Wed, 18 Mar 2009 22:33:33 +0000 (15:33 -0700)]
auth: fix case when mount sections are not defined

16 years agoconf: remove some junk
Yehuda Sadeh [Wed, 18 Mar 2009 21:44:53 +0000 (14:44 -0700)]
conf: remove some junk

16 years agoauth: added basic client ip authorization
Yehuda Sadeh [Wed, 18 Mar 2009 21:41:46 +0000 (14:41 -0700)]
auth: added basic client ip authorization

16 years agomds: do not issue non-EXPIREABLE|wanted caps
Sage Weil [Wed, 18 Mar 2009 21:53:10 +0000 (14:53 -0700)]
mds: do not issue non-EXPIREABLE|wanted caps

The kclient doesn't currently reliably release unwanted caps, so
make sure we restrict it to EXPIREABLE rdcaps, or wanted bits.

Avoid special-casing extra caps issued to client.

16 years agokclient: always hit r_safe_callback, even if no callback
Sage Weil [Wed, 18 Mar 2009 21:47:12 +0000 (14:47 -0700)]
kclient: always hit r_safe_callback, even if no callback

ceph_osdc_sync might be waiting on the request.

16 years agodebian: fix changelog/version
Sage Weil [Wed, 18 Mar 2009 21:42:37 +0000 (14:42 -0700)]
debian: fix changelog/version

16 years agoosd: fix osdmap timestamp updates; rename
Sage Weil [Wed, 18 Mar 2009 21:20:37 +0000 (14:20 -0700)]
osd: fix osdmap timestamp updates; rename

16 years agomds: add mdsmap modified stamp
Sage Weil [Wed, 18 Mar 2009 21:22:30 +0000 (14:22 -0700)]
mds: add mdsmap modified stamp

16 years agomds: make scatter_nudge a bit more robust
Sage Weil [Wed, 18 Mar 2009 21:04:37 +0000 (14:04 -0700)]
mds: make scatter_nudge a bit more robust

We may have a dirty lock that is already LOCK.  That may not be
what we want in the first place :/, but to ensure we make progress,
we should SYNC the lock.  If it doesn't re-LOCK on it's own, the
next nudge should do it.

16 years agomds: add lookup mds op name
Sage Weil [Wed, 18 Mar 2009 21:03:26 +0000 (14:03 -0700)]
mds: add lookup mds op name

16 years agotodo
Sage Weil [Wed, 18 Mar 2009 20:46:23 +0000 (13:46 -0700)]
todo

16 years agomds: remember scatter requests
Sage Weil [Wed, 18 Mar 2009 20:46:04 +0000 (13:46 -0700)]
mds: remember scatter requests

We want to make sure a REQSCATTER is remembered the next time we
reconsider the lock state, even if it arrives when the lock is
unstable (say, during EXCL->LOCK or some other transition that
won't affect the replica state and elicit a new REQSCATTER).

16 years agomds: don't automatically bump dir locks to loner if it's a subtree root
Sage Weil [Wed, 18 Mar 2009 20:38:53 +0000 (13:38 -0700)]
mds: don't automatically bump dir locks to loner if it's a subtree root

If it's a subtree root, we don't want to automatically bump the
filelock to loner.  That way the subtree auth can modify subtree
root dir without bouncing excl caps back and forth with the client.

16 years agomds: fix ->mix lock transition
Sage Weil [Wed, 18 Mar 2009 20:36:00 +0000 (13:36 -0700)]
mds: fix ->mix lock transition

Bcast to replicas if we have nothing to gather in file_mixed().

16 years agokclient: drop unused r_expected_cap
Sage Weil [Wed, 18 Mar 2009 20:18:04 +0000 (13:18 -0700)]
kclient: drop unused r_expected_cap

We should embed the first cap in the inode.  And preallocate
more aggressively for all ops?

16 years agomds: show laggy status in map summary
Sage Weil [Wed, 18 Mar 2009 20:14:44 +0000 (13:14 -0700)]
mds: show laggy status in map summary

16 years agoinitscripts: remove bash-isms so they work with dash
Sage Weil [Wed, 18 Mar 2009 19:57:58 +0000 (12:57 -0700)]
initscripts: remove bash-isms so they work with dash

(Ubuntu uses dash for /bin/sh.)

16 years agoconfig: fix warnings
Sage Weil [Wed, 18 Mar 2009 18:02:30 +0000 (11:02 -0700)]
config: fix warnings

config.cc: In function 'int conf_read_key(const char*, const char*, opt_type_t, void*, void*)':
config.cc:893: warning: passing NULL to non-pointer argument 4 of 'int ConfFile::read(const char*, const char*, bool*, bool)'
config.cc:896: warning: passing NULL to non-pointer argument 4 of 'int ConfFile::read(const char*, const char*, int*, int)'
config.cc:899: warning: passing NULL to non-pointer argument 4 of 'int ConfFile::read(const char*, const char*, float*, float)'
config.cc:902: warning: passing NULL to non-pointer argument 4 of 'int ConfFile::read(const char*, const char*, double*, double)'

16 years agotodo
Sage Weil [Wed, 18 Mar 2009 17:57:31 +0000 (10:57 -0700)]
todo

16 years agomds: make CAP_FILE_RD expireable
Sage Weil [Wed, 18 Mar 2009 17:44:49 +0000 (10:44 -0700)]
mds: make CAP_FILE_RD expireable

16 years agokclient: handle cap renew message
Sage Weil [Wed, 18 Mar 2009 17:44:25 +0000 (10:44 -0700)]
kclient: handle cap renew message

16 years agokclient: renew old rdcaps when we use them
Sage Weil [Tue, 17 Mar 2009 23:47:40 +0000 (16:47 -0700)]
kclient: renew old rdcaps when we use them

16 years agokclient: choose cap op in check_caps, no __send_cap
Sage Weil [Tue, 17 Mar 2009 23:47:00 +0000 (16:47 -0700)]
kclient: choose cap op in check_caps, no __send_cap

16 years agoconfig: allow arithmetic in default conf values in config.cc
Sage Weil [Tue, 17 Mar 2009 23:45:49 +0000 (16:45 -0700)]
config: allow arithmetic in default conf values in config.cc

16 years agokclient: adjust rdcaps status in cap grant
Sage Weil [Wed, 18 Mar 2009 17:44:02 +0000 (10:44 -0700)]
kclient: adjust rdcaps status in cap grant

16 years agokclient: shift some work out of __send_cap back to ceph_check_caps
Sage Weil [Tue, 17 Mar 2009 23:09:32 +0000 (16:09 -0700)]
kclient: shift some work out of __send_cap back to ceph_check_caps

16 years agomds: clean up rdcap list handling a bit, show rdcap status in debug
Sage Weil [Wed, 18 Mar 2009 17:11:30 +0000 (10:11 -0700)]
mds: clean up rdcap list handling a bit, show rdcap status in debug

16 years agomds: process cap RENEW
Sage Weil [Tue, 17 Mar 2009 22:40:01 +0000 (15:40 -0700)]
mds: process cap RENEW

16 years agokclient: factor out directory content lease/cap check
Sage Weil [Tue, 17 Mar 2009 22:27:45 +0000 (15:27 -0700)]
kclient: factor out directory content lease/cap check

16 years agokclient: fix trim_session_rdcaps
Sage Weil [Wed, 18 Mar 2009 17:25:10 +0000 (10:25 -0700)]
kclient: fix trim_session_rdcaps

It wasn't breaking out of the loop.

16 years agokclient: less noisy
Sage Weil [Tue, 17 Mar 2009 22:21:22 +0000 (15:21 -0700)]
kclient: less noisy

16 years agomds: reverse rename arg order when migrating or reintegrating strays
Sage Weil [Tue, 17 Mar 2009 21:59:38 +0000 (14:59 -0700)]
mds: reverse rename arg order when migrating or reintegrating strays

Rename order was reverse back in
440a84fd876e1edfb71ee7d778248e1807f8c9c2.

16 years agokclient: use LOOKUP op for lookup
Sage Weil [Tue, 17 Mar 2009 21:48:53 +0000 (14:48 -0700)]
kclient: use LOOKUP op for lookup

16 years agomds: create explicit LOOKUP operation
Sage Weil [Tue, 17 Mar 2009 21:48:45 +0000 (14:48 -0700)]
mds: create explicit LOOKUP operation

Functionally equivalent to LSTAT.

16 years agokclient: merge and simplify ceph_lookup, ceph_do_lookup
Sage Weil [Tue, 17 Mar 2009 21:45:33 +0000 (14:45 -0700)]
kclient: merge and simplify ceph_lookup, ceph_do_lookup

Ceph_lookup was the only remaining caller.

16 years agokclient: a bit more verbose about ?time changes
Sage Weil [Tue, 17 Mar 2009 21:39:43 +0000 (14:39 -0700)]
kclient: a bit more verbose about ?time changes

16 years agokclient: fix ceph_caps_issued_mask
Sage Weil [Tue, 17 Mar 2009 21:39:14 +0000 (14:39 -0700)]
kclient: fix ceph_caps_issued_mask

It was checking for ANY caps, not ALL caps.

16 years agokclient: disentangle getattr from lookup
Sage Weil [Tue, 17 Mar 2009 21:38:50 +0000 (14:38 -0700)]
kclient: disentangle getattr from lookup

This simplifies callers (who otherwise have to juggle a dentry
splice).  And paves the way for a cleaner, more explicit
lookup-only path.

16 years agomds: return NXIO for open on special files
Sage Weil [Tue, 17 Mar 2009 20:19:14 +0000 (13:19 -0700)]
mds: return NXIO for open on special files

16 years agomds: flush mdlog for time sensitive ops
Sage Weil [Tue, 17 Mar 2009 20:04:18 +0000 (13:04 -0700)]
mds: flush mdlog for time sensitive ops

16 years agomds: flush log on talbeserver prepare, but not commit or server_update
Sage Weil [Tue, 17 Mar 2009 20:04:06 +0000 (13:04 -0700)]
mds: flush log on talbeserver prepare, but not commit or server_update

16 years agokclient: fix file refs vs special files
Sage Weil [Tue, 17 Mar 2009 19:54:03 +0000 (12:54 -0700)]
kclient: fix file refs vs special files

Special inodes get their own fops, so we don't get a ceph_release
call.  Therefore, we need to drop any fmode refs we took in
ceph_init_file for those files (that is, any file where we don't
have i_fop->release set to ceph_release).

Add some BUG_ON's to ensure as much.

16 years agokclient: fix lookup open intent
Sage Weil [Tue, 17 Mar 2009 19:18:52 +0000 (12:18 -0700)]
kclient: fix lookup open intent

Lookup is only called on a null dentry; no need to check for
special files here.

16 years agokclient: add osd sync that will flush all open osd requests
Sage Weil [Tue, 17 Mar 2009 18:30:33 +0000 (11:30 -0700)]
kclient: add osd sync that will flush all open osd requests

Important for flushing sync write uncommitted requests on syncfs
(or shutdown).

16 years agokclient: fix osd request kicking
Sage Weil [Tue, 17 Mar 2009 18:29:36 +0000 (11:29 -0700)]
kclient: fix osd request kicking

Requests weren't getting kicked if the osd was the same but the
osd addr changed (i.e. osd restart).

16 years agofilestore: allow commit interval to be adjusted at runtime
Sage Weil [Tue, 17 Mar 2009 18:04:02 +0000 (11:04 -0700)]
filestore: allow commit interval to be adjusted at runtime

16 years agoconfigure: check for histedit.h (libedit-dev)
Sage Weil [Tue, 17 Mar 2009 17:26:16 +0000 (10:26 -0700)]
configure: check for histedit.h (libedit-dev)

16 years agokclient: fix statfs sysfs entries init/cleanup
Yehuda Sadeh [Tue, 17 Mar 2009 18:09:18 +0000 (11:09 -0700)]
kclient: fix statfs sysfs entries init/cleanup

16 years agotodo: mds
Sage Weil [Tue, 17 Mar 2009 17:18:51 +0000 (10:18 -0700)]
todo: mds

16 years agomds: make mds_short_reply_trace tunable
Sage Weil [Tue, 17 Mar 2009 17:18:35 +0000 (10:18 -0700)]
mds: make mds_short_reply_trace tunable

16 years agokclient: fix out_more business
Sage Weil [Tue, 17 Mar 2009 02:51:18 +0000 (19:51 -0700)]
kclient: fix out_more business

Put it in prepare_write_message_footer() where it belongs.

16 years agokclient: remove /sysfs/fs/ceph/debug*
Yehuda Sadeh [Tue, 17 Mar 2009 00:13:03 +0000 (17:13 -0700)]
kclient: remove /sysfs/fs/ceph/debug*

16 years agokclient: add debugfs for debug control
Yehuda Sadeh [Tue, 17 Mar 2009 00:03:35 +0000 (17:03 -0700)]
kclient: add debugfs for debug control

16 years agofilestore: add missing mode arg to open()
Sage Weil [Mon, 16 Mar 2009 23:31:37 +0000 (16:31 -0700)]
filestore: add missing mode arg to open()

16 years agokclient: do not flush request stream on lease release
Sage Weil [Mon, 16 Mar 2009 22:47:42 +0000 (15:47 -0700)]
kclient: do not flush request stream on lease release

We only release leases this way when they are about to be followed
by a request.  Presumably to the same MDS..

16 years agokclient: make message stream flush optional
Sage Weil [Mon, 16 Mar 2009 22:46:40 +0000 (15:46 -0700)]
kclient: make message stream flush optional

If we know another message is following, or the current message
isn't time sensitive, then we can let Nagle's algo do it's thing.

16 years agotodo
Sage Weil [Mon, 16 Mar 2009 22:30:36 +0000 (15:30 -0700)]
todo

16 years agokclient: rename listener -> unsafe; fix fsync; simplify dir_fsync
Sage Weil [Mon, 16 Mar 2009 22:29:29 +0000 (15:29 -0700)]
kclient: rename listener -> unsafe; fix fsync; simplify dir_fsync

16 years agokclient: fix inode refcount leak
Yehuda Sadeh [Mon, 16 Mar 2009 22:47:59 +0000 (15:47 -0700)]
kclient: fix inode refcount leak

16 years agokclient: handle partial trace responses
Yehuda Sadeh [Mon, 16 Mar 2009 22:10:13 +0000 (15:10 -0700)]
kclient: handle partial trace responses

16 years agokclient: refactor osdc write; handle dual ack/commit, and fsync on sync writes
Sage Weil [Mon, 16 Mar 2009 21:56:18 +0000 (14:56 -0700)]
kclient: refactor osdc write; handle dual ack/commit, and fsync on sync writes

For sync_writes that are not O_SYNC or O_DIRECT, we get two acks
back from the OSD, one signalling serialization and one when the
write is safe on disk.  The client needs to keep the request
message around until the commit in case the OSD fails and it needs
to be replayed.  However, the calling thread should continue after
the ACK.

Refactor the osdc interface so that sync_write() can do this for
non SYNC|DIRECT writes.

16 years agokclient: do filemap_write_and_wait
Sage Weil [Mon, 16 Mar 2009 20:33:53 +0000 (13:33 -0700)]
kclient: do filemap_write_and_wait

The _range variant isn't exported.

16 years agotodo
Sage Weil [Mon, 16 Mar 2009 18:25:43 +0000 (11:25 -0700)]
todo

16 years agokclient: drop unneeded current_is_pdflush() call
Sage Weil [Mon, 16 Mar 2009 18:25:29 +0000 (11:25 -0700)]
kclient: drop unneeded current_is_pdflush() call

It's about to be killed upstream. And sync_mode tells us what we
need to know.

16 years agobump version to v0.7.2
Sage Weil [Mon, 16 Mar 2009 18:04:13 +0000 (11:04 -0700)]
bump version to v0.7.2

16 years agomds: return only a single path segment in reply trace
Sage Weil [Mon, 16 Mar 2009 17:54:10 +0000 (10:54 -0700)]
mds: return only a single path segment in reply trace

This temporarily breaks the kernel client.

16 years agoMerge commit '1e8073b75ad5172a1ef975e7c6c42406888f56ae' v0.7.1
Sage Weil [Mon, 16 Mar 2009 17:57:23 +0000 (10:57 -0700)]
Merge commit '1e8073b75ad5172a1ef975e7c6c42406888f56ae'

Conflicts:

src/init-ceph
src/mkcephfs

16 years agokclient: fix uninitialized var warnings
Sage Weil [Sun, 15 Mar 2009 22:06:09 +0000 (15:06 -0700)]
kclient: fix uninitialized var warnings

Harmless, but this shuts up the warnings.

16 years agokclient: put_page O_DIRECT pages after read or write
Sage Weil [Sun, 15 Mar 2009 21:15:30 +0000 (14:15 -0700)]
kclient: put_page O_DIRECT pages after read or write

We were leaking page refs.

16 years agovstart: only 1 mds
Sage Weil [Sun, 15 Mar 2009 21:09:31 +0000 (14:09 -0700)]
vstart: only 1 mds

16 years agokclient: make O_DIRECT io flush or truncate page cache pages
Sage Weil [Sat, 14 Mar 2009 05:35:40 +0000 (22:35 -0700)]
kclient: make O_DIRECT io flush or truncate page cache pages

This will make concurrent O_DIRECT and normal i/o slow as all hell, but it
means that normal i/o followed by O_DIRECT (or the other way around) will
behave as expected.

16 years agokclient: more cleanup
Sage Weil [Fri, 13 Mar 2009 23:54:39 +0000 (16:54 -0700)]
kclient: more cleanup

16 years agokclient: some sparse fixes
Yehuda Sadeh [Fri, 13 Mar 2009 23:54:06 +0000 (16:54 -0700)]
kclient: some sparse fixes

16 years agokclient: small cleanups
Sage Weil [Fri, 13 Mar 2009 23:50:07 +0000 (16:50 -0700)]
kclient: small cleanups

16 years agokclient: lease renewal fixes, cleanups
Sage Weil [Fri, 13 Mar 2009 23:47:30 +0000 (16:47 -0700)]
kclient: lease renewal fixes, cleanups

16 years agokclient: zero lease_renew_after ttl before requesting renewal
Yehuda Sadeh [Fri, 13 Mar 2009 23:33:02 +0000 (16:33 -0700)]
kclient: zero lease_renew_after ttl before requesting renewal

16 years agokclient: send lease renew message when passed ttl
Yehuda Sadeh [Fri, 13 Mar 2009 23:27:41 +0000 (16:27 -0700)]
kclient: send lease renew message when passed ttl

16 years agokclient: refactoring of lease msg sending, add lease half-time accounting
Yehuda Sadeh [Fri, 13 Mar 2009 23:06:19 +0000 (16:06 -0700)]
kclient: refactoring of lease msg sending, add lease half-time accounting

16 years agokclient: update lease handler to cope with a renewal
Sage Weil [Fri, 13 Mar 2009 23:23:05 +0000 (16:23 -0700)]
kclient: update lease handler to cope with a renewal

16 years agomdsmap: fix find_standby_for
Sage Weil [Fri, 13 Mar 2009 22:32:25 +0000 (15:32 -0700)]
mdsmap: fix find_standby_for

Ignore active mds' with old standby_for values.

16 years agomon: allow 'mds getmap [epoch]'
Sage Weil [Fri, 13 Mar 2009 22:24:38 +0000 (15:24 -0700)]
mon: allow 'mds getmap [epoch]'

16 years agomon: allow 'mds dump [epoch]'
Sage Weil [Fri, 13 Mar 2009 22:23:25 +0000 (15:23 -0700)]
mon: allow 'mds dump [epoch]'

So we can examine old mdsmap epochs...

16 years agokclient: clean up setattr vs caps vs i_lock
Sage Weil [Fri, 13 Mar 2009 22:07:10 +0000 (15:07 -0700)]
kclient: clean up setattr vs caps vs i_lock

We should carry i_lock over caps checks when doing setattr
updates locally.

Also, always direct setattr requests at the auth MDS.  Drop trivial
prepare_setattr helper.