]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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.

16 years agokclient: remove redundant ceph_inode_holds_caps
Sage Weil [Fri, 13 Mar 2009 21:53:38 +0000 (14:53 -0700)]
kclient: remove redundant ceph_inode_holds_caps

Same as ceph_caps_issued_mask.

16 years agokclient: fix printk format
Sage Weil [Fri, 13 Mar 2009 21:53:14 +0000 (14:53 -0700)]
kclient: fix printk format

16 years agokclient: dentry_lease_is_valid cleanup
Sage Weil [Fri, 13 Mar 2009 21:42:48 +0000 (14:42 -0700)]
kclient: dentry_lease_is_valid cleanup

Make static, move to dir.c, etc.

16 years agokclient: do revalidate RDCACHE check under protection of lock
Sage Weil [Fri, 13 Mar 2009 21:41:56 +0000 (14:41 -0700)]
kclient: do revalidate RDCACHE check under protection of lock

We need to do dentry->d_time and dirci->i_version comparison under
i_lock protection.

16 years agomds: fix lease release; add lease renew support in MDS
Sage Weil [Fri, 13 Mar 2009 21:25:21 +0000 (14:25 -0700)]
mds: fix lease release; add lease renew support in MDS

16 years agoconf: use dynamic sized strings
Yehuda Sadeh [Fri, 13 Mar 2009 21:05:14 +0000 (14:05 -0700)]
conf: use dynamic sized strings

16 years agokclient: set osd op sync flag on O_SYNC|O_DIRECT sync writes
Sage Weil [Fri, 13 Mar 2009 20:58:12 +0000 (13:58 -0700)]
kclient: set osd op sync flag on O_SYNC|O_DIRECT sync writes

Otherwise they will have a high latency from the OSD.

16 years agokclient: enable direct_IO
Sage Weil [Fri, 13 Mar 2009 17:38:32 +0000 (10:38 -0700)]
kclient: enable direct_IO

16 years agokclient: refactor read path, allow O_DIRECT
Sage Weil [Fri, 13 Mar 2009 19:38:23 +0000 (12:38 -0700)]
kclient: refactor read path, allow O_DIRECT

Clean up the read path to only use a single readpages function.
Prepare page vectors in caller.  Allow O_DIRECT reads.

16 years agokclient: refactor write path to facilitate sync or O_DIRECT writes
Sage Weil [Fri, 13 Mar 2009 17:38:20 +0000 (10:38 -0700)]
kclient: refactor write path to facilitate sync or O_DIRECT writes

Refactor osd_client writepages to always take a page vector, owned
by the caller.  Move user data copy for regular sync write into
file.c.  Alternatively, build a page vector of user pages for
O_DIRECT writes.  Fix ->writepages async callers to allocate and
free the page vector.

16 years agokclient: fix file reopen on existing caps
Sage Weil [Fri, 13 Mar 2009 20:40:13 +0000 (13:40 -0700)]
kclient: fix file reopen on existing caps

We can do a local open only if the MDS already knows we want
those caps.  It doesn't actually matter if they're currently
issued to us (there may be a concurrent something-or-other going
on, but we'll get them back eventually).

16 years agokclient: show wanted in trim_rdcaps
Sage Weil [Fri, 13 Mar 2009 20:42:30 +0000 (13:42 -0700)]
kclient: show wanted in trim_rdcaps

To aid debugging.  Also, get function call out of BUG_ON argument.

16 years agoceph: fix argument parsing to allow commands with '-' in them
Sage Weil [Fri, 13 Mar 2009 19:50:06 +0000 (12:50 -0700)]
ceph: fix argument parsing to allow commands with '-' in them

16 years agoconfig: indent warning
Sage Weil [Fri, 13 Mar 2009 19:39:03 +0000 (12:39 -0700)]
config: indent warning

16 years agokclient: don't read into pages if request is aborted
Sage Weil [Fri, 13 Mar 2009 19:35:47 +0000 (12:35 -0700)]
kclient: don't read into pages if request is aborted

Check req->r_aborted in prepare_pages.

16 years agotodo
Sage Weil [Fri, 13 Mar 2009 16:43:28 +0000 (09:43 -0700)]
todo

16 years agoman: update with latest args
Sage Weil [Thu, 12 Mar 2009 23:46:16 +0000 (16:46 -0700)]
man: update with latest args

16 years agoremove newsyn
Sage Weil [Thu, 12 Mar 2009 23:17:00 +0000 (16:17 -0700)]
remove newsyn

16 years agoceph.cc: fix arg parsing
Yehuda Sadeh [Thu, 12 Mar 2009 23:27:22 +0000 (16:27 -0700)]
ceph.cc: fix arg parsing

16 years agoconfig: fix bool argument parsing
Yehuda Sadeh [Thu, 12 Mar 2009 23:19:01 +0000 (16:19 -0700)]
config: fix bool argument parsing

16 years agokclient todos
Sage Weil [Thu, 12 Mar 2009 23:11:28 +0000 (16:11 -0700)]
kclient todos

16 years agomds: clear replica lock dirty flag when state is flushed back to primary
Sage Weil [Thu, 12 Mar 2009 21:48:42 +0000 (14:48 -0700)]
mds: clear replica lock dirty flag when state is flushed back to primary

The dirty -> flush -> clean bit is probably overkill, given the
locking rules, but it's very explicit.

16 years agoconf: redo all arg parsing for different modules
Yehuda Sadeh [Thu, 12 Mar 2009 23:08:13 +0000 (16:08 -0700)]
conf: redo all arg parsing for different modules

16 years agoconf: arguments parsing cleanup
Yehuda Sadeh [Thu, 12 Mar 2009 22:09:59 +0000 (15:09 -0700)]
conf: arguments parsing cleanup

16 years agomds: fix excl->mix transition when replicated
Sage Weil [Thu, 12 Mar 2009 21:18:39 +0000 (14:18 -0700)]
mds: fix excl->mix transition when replicated

16 years agomds: simplify lock msg handler by leveraging eval_gather
Sage Weil [Thu, 12 Mar 2009 20:49:40 +0000 (13:49 -0700)]
mds: simplify lock msg handler by leveraging eval_gather

The one exception is that we need to issue_caps when we first
receive the message in order to do the revocation; pass in a bool
to do that.

16 years agovstart: no thrashing for now
Sage Weil [Thu, 12 Mar 2009 20:35:20 +0000 (13:35 -0700)]
vstart: no thrashing for now

16 years agomds: merge scatter and file lock message handlers
Sage Weil [Thu, 12 Mar 2009 20:35:13 +0000 (13:35 -0700)]
mds: merge scatter and file lock message handlers

And fix some issues along the way.

16 years agomds: lock lock actions (no more LOCK_AC_SCATTER)
Sage Weil [Thu, 12 Mar 2009 19:22:42 +0000 (12:22 -0700)]
mds: lock lock actions (no more LOCK_AC_SCATTER)

16 years agomds: more eval_gather() caller fixes
Sage Weil [Thu, 12 Mar 2009 19:03:54 +0000 (12:03 -0700)]
mds: more eval_gather() caller fixes

16 years agomds: add SYNC_MIX2 state
Sage Weil [Thu, 12 Mar 2009 18:59:25 +0000 (11:59 -0700)]
mds: add SYNC_MIX2 state

After replica releases RDCACHE back to mds, it still needs to wait
before moving to MIX state.

16 years agomds: only adjust inode auth_pins if we have cum auth pins
Sage Weil [Thu, 12 Mar 2009 18:57:26 +0000 (11:57 -0700)]
mds: only adjust inode auth_pins if we have cum auth pins

Add some assertions to that effect.

16 years agomds: remove bad eval_gather calls
Sage Weil [Thu, 12 Mar 2009 18:37:58 +0000 (11:37 -0700)]
mds: remove bad eval_gather calls

Not needed if lock state is stable.

16 years agomds: cope with non-mdr request in path_traverse
Sage Weil [Thu, 12 Mar 2009 18:30:52 +0000 (11:30 -0700)]
mds: cope with non-mdr request in path_traverse

For example, an MDiscover.

16 years agomds: fix eval_gather on capless inode locks
Sage Weil [Thu, 12 Mar 2009 18:28:26 +0000 (11:28 -0700)]
mds: fix eval_gather on capless inode locks

There are inode locks without caps (e.g. INEST).

16 years agokclient: friendly mds state names
Sage Weil [Thu, 12 Mar 2009 18:16:18 +0000 (11:16 -0700)]
kclient: friendly mds state names

16 years agomds: MDSMap::get_state_naem -> ceph_mds_state_name
Sage Weil [Thu, 12 Mar 2009 18:14:09 +0000 (11:14 -0700)]
mds: MDSMap::get_state_naem -> ceph_mds_state_name

16 years agokclient: decode new mdsmap format
Sage Weil [Thu, 12 Mar 2009 18:07:24 +0000 (11:07 -0700)]
kclient: decode new mdsmap format

16 years agotodo
Sage Weil [Thu, 12 Mar 2009 17:57:06 +0000 (10:57 -0700)]
todo