]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agokclient: simplify osd timeouts
Sage Weil [Mon, 9 Mar 2009 18:34:34 +0000 (11:34 -0700)]
kclient: simplify osd timeouts

Call handle_timeout N seconds after oldest request.  In
handle_timeout, reschedule N seconds in future.  Reschedule
with new oldest request when oldest requests completes.

Maintain a r_timeout_stamp value for each request.

16 years agocosd: fewer osds, with big btrfs devices
Sage Weil [Mon, 9 Mar 2009 20:57:22 +0000 (13:57 -0700)]
cosd: fewer osds, with big btrfs devices

16 years agoinitscripts: allow vars with spaces
Sage Weil [Mon, 9 Mar 2009 20:18:56 +0000 (13:18 -0700)]
initscripts: allow vars with spaces

16 years agoosdmap: build default crush maps out of mostly straw buckets
Sage Weil [Mon, 9 Mar 2009 20:18:05 +0000 (13:18 -0700)]
osdmap: build default crush maps out of mostly straw buckets

16 years agoconfutils: make max line very large
Sage Weil [Mon, 9 Mar 2009 19:51:04 +0000 (12:51 -0700)]
confutils: make max line very large

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Mon, 9 Mar 2009 17:08:51 +0000 (10:08 -0700)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

16 years agokclient: add sysfs directory per mds request
Yehuda Sadeh [Mon, 9 Mar 2009 17:08:29 +0000 (10:08 -0700)]
kclient: add sysfs directory per mds request

16 years agofilepath: always prepend ino if it's nonzero
Sage Weil [Sat, 7 Mar 2009 00:45:55 +0000 (16:45 -0800)]
filepath: always prepend ino if it's nonzero

That means the only time we don't have an ino perfix is for fully
relative paths.

16 years agoclient: fix request paths
Sage Weil [Sat, 7 Mar 2009 00:44:37 +0000 (16:44 -0800)]
client: fix request paths

Use filepath, not bare string, whenever we can.

16 years agokclient: fix up replay after mds recovery
Sage Weil [Sat, 7 Mar 2009 00:26:05 +0000 (16:26 -0800)]
kclient: fix up replay after mds recovery

Do not kick unsafe requests in kick_requests (and in particular, do not
drop the session refs).

Set retry_attempt to MDS_REQUEST_REPLAY to indicate which requests are
replays.

16 years agomds: incorporate reconnect cap info after requests replay if ino originally missing
Sage Weil [Sat, 7 Mar 2009 00:25:04 +0000 (16:25 -0800)]
mds: incorporate reconnect cap info after requests replay if ino originally missing

If the client reasserts caps from replayed requests, the inodes don't yet
exists during the reconnect (or even rejoin) stage.  So, if we don't find
the inode, keep the reconnect info around.  When processing a replayed
request in CInode::encode_inodestat, set wanted/issued appropriately.

This is incomplete.  We really need something to ensure we deal with
replayed requests before new requests are handled.. and on a cluster-wide
basis, since requests may involve slave requests to other mds's.

We also should clean up reconnects unclaimed after all replays are
complete.  And somehow inform the client when the cap is officially
nonexistent and EBADF.

16 years agomds: include path base ino in client reconnect paths
Sage Weil [Fri, 6 Mar 2009 22:06:19 +0000 (14:06 -0800)]
mds: include path base ino in client reconnect paths

16 years agofilepath: no more leading / weirdness
Sage Weil [Fri, 6 Mar 2009 22:04:19 +0000 (14:04 -0800)]
filepath: no more leading / weirdness

Get rid of weird leading '/' iff ino==1 semantic.  Clean up interface a bit.

16 years agokclient: drop unused redirty code from set_page_dirty
Sage Weil [Fri, 6 Mar 2009 19:51:39 +0000 (11:51 -0800)]
kclient: drop unused redirty code from set_page_dirty

16 years agofilestore: lower min_sync_interval
Sage Weil [Fri, 6 Mar 2009 19:31:12 +0000 (11:31 -0800)]
filestore: lower min_sync_interval

We mainly need something non-zero here to ensure we batch some
requests up when we get a stream of requests with 'startsync'.

16 years agokclient: some bookkeeper fixes
Yehuda Sadeh [Fri, 6 Mar 2009 18:29:21 +0000 (10:29 -0800)]
kclient: some bookkeeper fixes

16 years agokclient: fix bookkeeper ifdef
Sage Weil [Fri, 6 Mar 2009 18:16:12 +0000 (10:16 -0800)]
kclient: fix bookkeeper ifdef

16 years agokclient: patch series descriptions, updates
Sage Weil [Fri, 6 Mar 2009 05:13:22 +0000 (21:13 -0800)]
kclient: patch series descriptions, updates

16 years agokclient: docs
Sage Weil [Fri, 6 Mar 2009 04:58:01 +0000 (20:58 -0800)]
kclient: docs

16 years agokclient: rename ceph_tools -> bookkeeper
Sage Weil [Fri, 6 Mar 2009 04:57:53 +0000 (20:57 -0800)]
kclient: rename ceph_tools -> bookkeeper

16 years agokclient: some caps.c cleanup
Sage Weil [Fri, 6 Mar 2009 02:01:15 +0000 (18:01 -0800)]
kclient: some caps.c cleanup

16 years agomon: tolerate stray victory message (restart the election)
Sage Weil [Thu, 5 Mar 2009 19:27:41 +0000 (11:27 -0800)]
mon: tolerate stray victory message (restart the election)

No need to core dump.

16 years agokclient: BUG instead of WARN on wanted item on rdcaps list
Sage Weil [Fri, 6 Mar 2009 00:28:09 +0000 (16:28 -0800)]
kclient: BUG instead of WARN on wanted item on rdcaps list

16 years agokclient: cosmetic
Sage Weil [Fri, 6 Mar 2009 00:27:47 +0000 (16:27 -0800)]
kclient: cosmetic

16 years agokclient: wait for requests to be safe before tearing down dcache
Sage Weil [Fri, 6 Mar 2009 00:25:27 +0000 (16:25 -0800)]
kclient: wait for requests to be safe before tearing down dcache

We need to drop dentry refs in kill_sb _before_ kill_anon_super
tears down the dcache.  Wait for safe replies for a while, then
drop what's left on the floor.

16 years agokclient: don't fall over on !dirty page in invalidatepage
Sage Weil [Thu, 5 Mar 2009 23:35:39 +0000 (15:35 -0800)]
kclient: don't fall over on !dirty page in invalidatepage

Spit out a warning, in case we end up with writeback accounting
errors.  I _think_ it's ok, though.

16 years agokclient: some documentation
Yehuda Sadeh [Fri, 6 Mar 2009 00:18:21 +0000 (16:18 -0800)]
kclient: some documentation

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Fri, 6 Mar 2009 00:14:32 +0000 (16:14 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

16 years agokclient: fix osd timeout handling
Yehuda Sadeh [Fri, 6 Mar 2009 00:14:12 +0000 (16:14 -0800)]
kclient: fix osd timeout handling

16 years agokclient: more sanity checks in set_page_dirty
Sage Weil [Thu, 5 Mar 2009 23:02:06 +0000 (15:02 -0800)]
kclient: more sanity checks in set_page_dirty

These don't fix anything, just make things break sooner...

16 years agokclient: only remember leases on regular dentries
Sage Weil [Thu, 5 Mar 2009 22:26:54 +0000 (14:26 -0800)]
kclient: only remember leases on regular dentries

...not for snapdir or snap dentries, which don't have matching
d_release methods.

16 years agokclient: fix snap creation/deletion, memory leak
Sage Weil [Thu, 5 Mar 2009 22:15:55 +0000 (14:15 -0800)]
kclient: fix snap creation/deletion, memory leak

This broke with the new mds request dentry pointers.

Also, clean up kmalloced snap.

16 years agokclient: fix snap_realm leak
Sage Weil [Thu, 5 Mar 2009 22:03:31 +0000 (14:03 -0800)]
kclient: fix snap_realm leak

Separate lookup/create from get (this is safe because we always
hold span_rwsem during these operations).

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Thu, 5 Mar 2009 21:29:58 +0000 (13:29 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

16 years agokclient: revise osd client timeout mechanism
Yehuda Sadeh [Thu, 5 Mar 2009 21:28:32 +0000 (13:28 -0800)]
kclient: revise osd client timeout mechanism

16 years agokclient: simplify invalidatepage; strengthen assertions
Sage Weil [Thu, 5 Mar 2009 21:18:45 +0000 (13:18 -0800)]
kclient: simplify invalidatepage; strengthen assertions

16 years agokclient: writepages cleanup
Sage Weil [Thu, 5 Mar 2009 19:01:39 +0000 (11:01 -0800)]
kclient: writepages cleanup

16 years agosynclient: optionally do a sync on object writes; wait for sync, not ack
Sage Weil [Thu, 5 Mar 2009 18:40:20 +0000 (10:40 -0800)]
synclient: optionally do a sync on object writes; wait for sync, not ack

16 years agofilestore: enforce min and max sync interval
Sage Weil [Thu, 5 Mar 2009 18:22:03 +0000 (10:22 -0800)]
filestore: enforce min and max sync interval

Ideally the min sync interval should be self-tuning (ala ext3, xfs),
but that can come later.

16 years agokclient: dosync in writepages if sync_mode is WB_SYNC_ALL
Sage Weil [Thu, 5 Mar 2009 18:08:31 +0000 (10:08 -0800)]
kclient: dosync in writepages if sync_mode is WB_SYNC_ALL

If we dosync if !pdflush, then we end up doing syncs from
balance_dirty_pages, wreaking havoc on the OSDs.

It's possible the current_is_pdflush() check isn't needed at all..

16 years agokclient: fix readpages zeroing bug
Sage Weil [Thu, 5 Mar 2009 03:54:37 +0000 (19:54 -0800)]
kclient: fix readpages zeroing bug

Move to the next page after zeroing the first partial page.

16 years agokclient: return 0 from readpage on success
Sage Weil [Thu, 5 Mar 2009 00:55:02 +0000 (16:55 -0800)]
kclient: return 0 from readpage on success

16 years agokclient: addr debug, cleanup
Sage Weil [Thu, 5 Mar 2009 00:54:50 +0000 (16:54 -0800)]
kclient: addr debug, cleanup

16 years agokclient: fix readpages zeroing
Sage Weil [Thu, 5 Mar 2009 00:36:26 +0000 (16:36 -0800)]
kclient: fix readpages zeroing

16 years agokclient: reschedule timeout for timeout length if remaining is zero
Yehuda Sadeh [Thu, 5 Mar 2009 00:39:18 +0000 (16:39 -0800)]
kclient: reschedule timeout for timeout length if remaining is zero

16 years agokclient: merge conflict
Yehuda Sadeh [Thu, 5 Mar 2009 00:32:23 +0000 (16:32 -0800)]
kclient: merge conflict

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Thu, 5 Mar 2009 00:31:27 +0000 (16:31 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

Conflicts:

src/kernel/caps.c
src/kernel/super.h

16 years agokclient: sparse cleanup
Yehuda Sadeh [Thu, 5 Mar 2009 00:30:23 +0000 (16:30 -0800)]
kclient: sparse cleanup

16 years agokclient: small cleanup
Yehuda Sadeh [Thu, 5 Mar 2009 00:09:15 +0000 (16:09 -0800)]
kclient: small cleanup

16 years agokclient: fix readpages
Sage Weil [Wed, 4 Mar 2009 23:55:32 +0000 (15:55 -0800)]
kclient: fix readpages

do_sync_request returns an error code or bytes read; no need to do
the 0 -> bytes conversion in the caller.

16 years agokclient: use helper to clearly define which caps belond on rdcaps
Sage Weil [Wed, 4 Mar 2009 23:43:32 +0000 (15:43 -0800)]
kclient: use helper to clearly define which caps belond on rdcaps

Adjust list membership in ceph_add_cap, release, flush_ack, and
ceph_put_fmode paths.  Use a spinlock to protect list adjustments
because ceph_put_fmode does not have the session mutex.

Make __cap_is_valid() to check if we are on the rdcaps list or not.

Remove unneeded extra checks in rdcaps trimmer; replace with a
WARN.

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Wed, 4 Mar 2009 22:54:05 +0000 (14:54 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

16 years agokclient: adjust debug output
Sage Weil [Wed, 4 Mar 2009 22:35:59 +0000 (14:35 -0800)]
kclient: adjust debug output

16 years agokclient: be more careful about putting cap on rdcaps in ceph_add_cap()
Sage Weil [Wed, 4 Mar 2009 22:14:22 +0000 (14:14 -0800)]
kclient: be more careful about putting cap on rdcaps in ceph_add_cap()

Namely, remove it if it doesn't belong there anymore.  This needs
to happen when we release caps, too...

16 years agokclient: some cleanup
Yehuda Sadeh [Wed, 4 Mar 2009 22:13:12 +0000 (14:13 -0800)]
kclient: some cleanup

16 years agokclient: do not drop rdcaps that are dirty or flushing
Sage Weil [Wed, 4 Mar 2009 22:13:04 +0000 (14:13 -0800)]
kclient: do not drop rdcaps that are dirty or flushing

This screws up cap writeback.

16 years agokclient: remove unused code
Yehuda Sadeh [Wed, 4 Mar 2009 22:12:57 +0000 (14:12 -0800)]
kclient: remove unused code

16 years agokclient: user zero_user_segment helper
Sage Weil [Wed, 4 Mar 2009 20:08:21 +0000 (12:08 -0800)]
kclient: user zero_user_segment helper

16 years agokclient: avoid zero_user_segment on old kernels
Sage Weil [Wed, 4 Mar 2009 19:59:44 +0000 (11:59 -0800)]
kclient: avoid zero_user_segment on old kernels

zero_user_segment appeared in 2.6.25.

16 years agokclient: fix __read_mostly attributes
Sage Weil [Wed, 4 Mar 2009 19:51:07 +0000 (11:51 -0800)]
kclient: fix __read_mostly attributes

16 years agokclient: zero trailing pages in readpage(s) on short read or ENOENT
Sage Weil [Wed, 4 Mar 2009 19:01:46 +0000 (11:01 -0800)]
kclient: zero trailing pages in readpage(s) on short read or ENOENT

Return number of bytes read + zeroed.

Tighten up assertions a bit.

16 years agokclient: mark debug vars __read_mostly
Sage Weil [Wed, 4 Mar 2009 18:57:58 +0000 (10:57 -0800)]
kclient: mark debug vars __read_mostly

16 years agoinitscript: --btrfs flag
Sage Weil [Wed, 4 Mar 2009 18:57:15 +0000 (10:57 -0800)]
initscript: --btrfs flag

Optionally mount btrfs

16 years agomds: flush journal on truncate if readers/writers are waiting
Sage Weil [Wed, 4 Mar 2009 17:11:32 +0000 (09:11 -0800)]
mds: flush journal on truncate if readers/writers are waiting

16 years agokclient: include ceph_ver.h in kernel patch series, package
Sage Weil [Wed, 4 Mar 2009 16:51:14 +0000 (08:51 -0800)]
kclient: include ceph_ver.h in kernel patch series, package

16 years agokclient: remove /sys/fs/ceph when doing cleanup
Yehuda Sadeh [Wed, 4 Mar 2009 18:34:27 +0000 (10:34 -0800)]
kclient: remove /sys/fs/ceph when doing cleanup

16 years agomds: logger typo
Sage Weil [Wed, 4 Mar 2009 00:59:11 +0000 (16:59 -0800)]
mds: logger typo

16 years agocosd: fixes
Sage Weil [Wed, 4 Mar 2009 00:40:38 +0000 (16:40 -0800)]
cosd: fixes

16 years agomkcephfs: bit more verbose
Sage Weil [Tue, 3 Mar 2009 19:01:24 +0000 (11:01 -0800)]
mkcephfs: bit more verbose

16 years agoconfigure: remove some silly checks
Sage Weil [Wed, 4 Mar 2009 00:45:58 +0000 (16:45 -0800)]
configure: remove some silly checks

16 years agomakefile: include make_version in dist tarball
Sage Weil [Wed, 4 Mar 2009 00:45:20 +0000 (16:45 -0800)]
makefile: include make_version in dist tarball

16 years agotodo
Sage Weil [Wed, 4 Mar 2009 00:35:49 +0000 (16:35 -0800)]
todo

16 years agomds: fix logger key id; call validate() for all logtypes
Sage Weil [Wed, 4 Mar 2009 00:35:16 +0000 (16:35 -0800)]
mds: fix logger key id; call validate() for all logtypes

16 years agoconfig: no more .ceph_monmap; parse cluster.conf for mon addrs
Sage Weil [Wed, 4 Mar 2009 00:02:10 +0000 (16:02 -0800)]
config: no more .ceph_monmap; parse cluster.conf for mon addrs

Look for cluster.conf in /etc/ceph/cluster.conf, then
./cluster.conf.  Make vstart.sh generate a cluster.conf.

No more .ceph_monmap default.. only look for monmap file is
specified on command line.

16 years agotodo: cas notes
Sage Weil [Tue, 3 Mar 2009 23:21:34 +0000 (15:21 -0800)]
todo: cas notes

16 years agomds: small cleanups
Sage Weil [Tue, 3 Mar 2009 23:21:19 +0000 (15:21 -0800)]
mds: small cleanups

16 years agomds: fix file_eval
Sage Weil [Tue, 3 Mar 2009 23:20:27 +0000 (15:20 -0800)]
mds: fix file_eval

Be more aggressive about shifting filelock state to something more
useful.  Mainly, do NOT stop everything if there are wrlocks!  This
causes all kinds of annoying stalls waiting for the log to flush.

16 years agoceph_ver: write log message whenever a new log is opened
Yehuda Sadeh [Wed, 4 Mar 2009 00:07:10 +0000 (16:07 -0800)]
ceph_ver: write log message whenever a new log is opened

16 years agoceph_ver: add ceph_ver.h to list of .h files
Yehuda Sadeh [Wed, 4 Mar 2009 00:03:57 +0000 (16:03 -0800)]
ceph_ver: add ceph_ver.h to list of .h files

16 years agokclient: write ceph git version when module loads
Yehuda Sadeh [Wed, 4 Mar 2009 00:01:48 +0000 (16:01 -0800)]
kclient: write ceph git version when module loads

16 years agoceph_ver: add unconditional rule
Yehuda Sadeh [Tue, 3 Mar 2009 23:46:06 +0000 (15:46 -0800)]
ceph_ver: add unconditional rule

16 years agoceph_ver: uncomment important line
Yehuda Sadeh [Tue, 3 Mar 2009 23:37:02 +0000 (15:37 -0800)]
ceph_ver: uncomment important line

16 years agoceph_ver: show the git sha1 version in the logs
Yehuda Sadeh [Tue, 3 Mar 2009 23:32:20 +0000 (15:32 -0800)]
ceph_ver: show the git sha1 version in the logs

16 years agoMerge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable
Yehuda Sadeh [Tue, 3 Mar 2009 23:23:12 +0000 (15:23 -0800)]
Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable

16 years agokclient: wakeup wq waiting on caps on write
Yehuda Sadeh [Tue, 3 Mar 2009 22:35:56 +0000 (14:35 -0800)]
kclient: wakeup wq waiting on caps on write

16 years agokclient: some fmode cleanup
Sage Weil [Tue, 3 Mar 2009 22:27:15 +0000 (14:27 -0800)]
kclient: some fmode cleanup

BUG instead of WARN.  Rename field.

16 years agokclient: fix fmode ref count buf
Sage Weil [Tue, 3 Mar 2009 22:26:28 +0000 (14:26 -0800)]
kclient: fix fmode ref count buf

We weren't taking an fmode reference on the root dir.  This would
cause a WARN if our root caps were allowed to expire and we had
to ropen them.  Duplicated wonky r_fmode conditional from later
fill_inode() call in fill_trace().

16 years agokclient: wake up i_cap_wq in ceph_add_cap
Sage Weil [Tue, 3 Mar 2009 20:28:11 +0000 (12:28 -0800)]
kclient: wake up i_cap_wq in ceph_add_cap

We could a thread blocked on caps when we are issued a new cap in
another thread.  They need to be woken up.

16 years agokclient: check d_inode before clearing its COMPLETE flag.
Sage Weil [Tue, 3 Mar 2009 20:27:31 +0000 (12:27 -0800)]
kclient: check d_inode before clearing its COMPLETE flag.

16 years agomds: fix try_remove_unlinked_dn
Sage Weil [Tue, 3 Mar 2009 20:25:58 +0000 (12:25 -0800)]
mds: fix try_remove_unlinked_dn

Just because a dir is_complete() doesn't mean that we can safely
do away with a null dentry.  What matters is if the dentry existed
before the last commit.. and having everything in our cache isn't
relevant at all there.  If we are complete, a fetch() would be a
no-op, but since we can clear complete at any time, that's not
helpful.

16 years agokclient: do not return new null dentry from lookup
Sage Weil [Tue, 3 Mar 2009 19:43:47 +0000 (11:43 -0800)]
kclient: do not return new null dentry from lookup

The VFS doesn't appear to like it when lookup returns a replacement
dentry that is null... it BUGs on unmount with a ref count that is
still 1.

So, if we get ENOENT and no trace, return ERR_PTR(-ENOENT) instead.

16 years agocfuse: fix startup
Sage Weil [Tue, 3 Mar 2009 19:33:42 +0000 (11:33 -0800)]
cfuse: fix startup

16 years agoconf: some cleanup
Yehuda Sadeh [Tue, 3 Mar 2009 18:43:35 +0000 (10:43 -0800)]
conf: some cleanup

16 years agoconf: some more fixes (again)
Yehuda Sadeh [Tue, 3 Mar 2009 18:41:21 +0000 (10:41 -0800)]
conf: some more fixes (again)

16 years agoconf: fix typo
Yehuda Sadeh [Tue, 3 Mar 2009 18:40:15 +0000 (10:40 -0800)]
conf: fix typo

16 years agomds: clean up auth_pin nesting code a bit
Sage Weil [Tue, 3 Mar 2009 18:42:10 +0000 (10:42 -0800)]
mds: clean up auth_pin nesting code a bit

16 years agomkcephfs: take optional crush map on command line
Sage Weil [Tue, 3 Mar 2009 18:32:50 +0000 (10:32 -0800)]
mkcephfs: take optional crush map on command line

16 years agoconf: lockdep again
Yehuda Sadeh [Tue, 3 Mar 2009 18:37:29 +0000 (10:37 -0800)]
conf: lockdep again

16 years agoconf: fix some other errors
Yehuda Sadeh [Tue, 3 Mar 2009 18:17:13 +0000 (10:17 -0800)]
conf: fix some other errors

16 years agoconf: the return of --lockdep, other fixes
Yehuda Sadeh [Tue, 3 Mar 2009 18:14:17 +0000 (10:14 -0800)]
conf: the return of --lockdep, other fixes