]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agoinitscript: make crun/valgrind init arguments override conf
Sage Weil [Mon, 23 Mar 2009 22:17:21 +0000 (15:17 -0700)]
initscript: make crun/valgrind init arguments override conf

16 years agoosd: only set mtime if non-zero
Sage Weil [Mon, 23 Mar 2009 22:14:51 +0000 (15:14 -0700)]
osd: only set mtime if non-zero

This lets you do things like lock or post-truncate without
changing the mtime.

16 years agoobjecter: provide mtime for writes
Sage Weil [Mon, 23 Mar 2009 22:13:54 +0000 (15:13 -0700)]
objecter: provide mtime for writes

16 years agokclient: set mtime on writes
Sage Weil [Mon, 23 Mar 2009 21:48:39 +0000 (14:48 -0700)]
kclient: set mtime on writes

Since we don't track per-page dirty timestamps or anything like
that, we just use the inode mtime for writeback, and the current
time for sync writes.

16 years agodebian: which gcc/g++, not fixed at 4.1
Sage Weil [Mon, 23 Mar 2009 21:41:33 +0000 (14:41 -0700)]
debian: which gcc/g++, not fixed at 4.1

16 years agoosd: set mtime based on client-provided timestamp
Sage Weil [Mon, 23 Mar 2009 21:40:35 +0000 (14:40 -0700)]
osd: set mtime based on client-provided timestamp

Ideally, this should be the time the data was dirtied (i.e. when
the write logically occured, as opposed to when it was written
back).

16 years agomds: rejoin dirfragtreelock too
Sage Weil [Mon, 23 Mar 2009 21:07:58 +0000 (14:07 -0700)]
mds: rejoin dirfragtreelock too

We need to rejoin _all_ scatterlocks.

16 years agofakefuse: fix common_init call
Sage Weil [Mon, 23 Mar 2009 20:55:29 +0000 (13:55 -0700)]
fakefuse: fix common_init call

16 years agomds: fix xlock behavior
Sage Weil [Mon, 23 Mar 2009 18:58:06 +0000 (11:58 -0700)]
mds: fix xlock behavior

We need to insert a gather from lock->xlock and xlockdone->xlock.
So, we add a PREXLOCK state, so that we go lock->prexlock->xlock.
Adjust auth_pin rules accordingly (it is unfortunately a bit wonky,
since the PREXLOCK gathered-to state is still deemed 'unstable').

16 years agomds: properly check xlocker caps
Sage Weil [Mon, 23 Mar 2009 18:43:10 +0000 (11:43 -0700)]
mds: properly check xlocker caps

16 years agomds: set xlocks done _before_ setting trace dist
Sage Weil [Mon, 23 Mar 2009 17:59:54 +0000 (10:59 -0700)]
mds: set xlocks done _before_ setting trace dist

This allows caps on xlocked data to be exposed to the client.

16 years agomds: allow caps to be selectively issued to xlockers
Sage Weil [Mon, 23 Mar 2009 17:59:30 +0000 (10:59 -0700)]
mds: allow caps to be selectively issued to xlockers

This mirrors the exposure of projected updates to the clients that
make them: we also give them an RDCACHE cap on that metadata.

16 years agokclient: ceph_open caps check cleanup
Sage Weil [Mon, 23 Mar 2009 16:35:58 +0000 (09:35 -0700)]
kclient: ceph_open caps check cleanup

Make debug output more helpful.  Clean up var names.

16 years agomds: restructure mds root directory
Sage Weil [Fri, 20 Mar 2009 23:56:35 +0000 (16:56 -0700)]
mds: restructure mds root directory

Create .ceph/mds%d/{stray/,journal}.  Restructure mds creation,
startup, and shutdown procedures to create, import (and populate),
and export the per-mds directory.

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.