]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
16 years agomds: avoid including caps in readdir items if snaprealm differs
Sage Weil [Tue, 24 Mar 2009 22:12:50 +0000 (15:12 -0700)]
mds: avoid including caps in readdir items if snaprealm differs

Since the reply snaprealm starts at the _dir_ inode, we want to
exclude caps for any nested items if the realm differs.  Otherwise
the client is screwed...

16 years agomds: no snaprealm for stray dir is needed
Sage Weil [Tue, 24 Mar 2009 22:11:27 +0000 (15:11 -0700)]
mds: no snaprealm for stray dir is needed

16 years agoinitscript: don't fail if $btrfs_path already mounted
Sage Weil [Tue, 24 Mar 2009 21:53:52 +0000 (14:53 -0700)]
initscript: don't fail if $btrfs_path already mounted

16 years agoosd: separate CEPH_OSD_OP_* and FLAGS_* namespaces
Sage Weil [Tue, 24 Mar 2009 21:02:35 +0000 (14:02 -0700)]
osd: separate CEPH_OSD_OP_* and FLAGS_* namespaces

Ops and op flags are separate namespaces; fix the naming.

16 years agotodo
Sage Weil [Tue, 24 Mar 2009 20:48:49 +0000 (13:48 -0700)]
todo

16 years agokclient: print reassert_version in /debug/ceph/.../osdc
Sage Weil [Tue, 24 Mar 2009 20:47:56 +0000 (13:47 -0700)]
kclient: print reassert_version in /debug/ceph/.../osdc

If it's there, it means a sync write was acked but not yet
committed.

16 years agobuffer: check posix_memalign result code
Sage Weil [Tue, 24 Mar 2009 20:13:52 +0000 (13:13 -0700)]
buffer: check posix_memalign result code

16 years agokclient: clean osd read requests after receiving reply
Yehuda Sadeh [Tue, 24 Mar 2009 20:35:43 +0000 (13:35 -0700)]
kclient: clean osd read requests after receiving reply

16 years agoinitscripts: make do_cmd properly bail when command fails
Sage Weil [Tue, 24 Mar 2009 19:55:01 +0000 (12:55 -0700)]
initscripts: make do_cmd properly bail when command fails

And print what command it was that failed.

16 years agoconf: exit if -c specified and conf file not found
Yehuda Sadeh [Tue, 24 Mar 2009 19:47:11 +0000 (12:47 -0700)]
conf: exit if -c specified and conf file not found

16 years agoinitscript: fix .conf push to other nodes
Sage Weil [Tue, 24 Mar 2009 19:33:11 +0000 (12:33 -0700)]
initscript: fix .conf push to other nodes

16 years agotodo
Sage Weil [Tue, 24 Mar 2009 19:28:18 +0000 (12:28 -0700)]
todo

16 years agomds: creation, subtree map tweaks
Sage Weil [Tue, 24 Mar 2009 19:27:12 +0000 (12:27 -0700)]
mds: creation, subtree map tweaks

Don't include mydir if it doesn't exist just yet, etc.

16 years agokclient: fix default timeout values
Yehuda Sadeh [Tue, 24 Mar 2009 19:23:23 +0000 (12:23 -0700)]
kclient: fix default timeout values

16 years agokclient: add configurable caps_delay option
Yehuda Sadeh [Tue, 24 Mar 2009 19:20:35 +0000 (12:20 -0700)]
kclient: add configurable caps_delay option

16 years agokclient: less verbose
Yehuda Sadeh [Mon, 23 Mar 2009 23:43:07 +0000 (16:43 -0700)]
kclient: less verbose

16 years agomkcephfs: fix monmap/osdmap copying
Sage Weil [Tue, 24 Mar 2009 19:15:38 +0000 (12:15 -0700)]
mkcephfs: fix monmap/osdmap copying

16 years agomds: fix fs creation, replay
Sage Weil [Tue, 24 Mar 2009 18:56:59 +0000 (11:56 -0700)]
mds: fix fs creation, replay

Include mydir in subtree map, and journal it on mkfs.  Invent
root inode during replay as needed (it will get rejoined).

16 years agokclient: locally open file based on what MDS thinks we want, not what we still want
Sage Weil [Tue, 24 Mar 2009 18:18:52 +0000 (11:18 -0700)]
kclient: locally open file based on what MDS thinks we want, not what we still want

As long as we have our interest in the caps still registered with
the MDS, we can do a local open.  Checking what we currently still
want is only helpful if the same file still is open by another
process or something.  Now, we can do a local open on a close +
wait + reopen, as long as we haven't done a cap release yet.

16 years agokclient: properly maintain mds_wanted value
Sage Weil [Tue, 24 Mar 2009 18:17:16 +0000 (11:17 -0700)]
kclient: properly maintain mds_wanted value

Keep track of what wanted caps we have registered with the mds.

16 years agomds: put pending (not added) caps in reply caps
Sage Weil [Tue, 24 Mar 2009 18:14:48 +0000 (11:14 -0700)]
mds: put pending (not added) caps in reply caps

Otherwise the client thinks it had fewer caps than it has.

16 years agokclient: do not retain unEXPIREABLE caps if !wanted
Sage Weil [Tue, 24 Mar 2009 17:01:48 +0000 (10:01 -0700)]
kclient: do not retain unEXPIREABLE caps if !wanted

16 years agokclient: schedule check_caps if unwanted, unEXPIREABLE caps are issued by the mds
Sage Weil [Tue, 24 Mar 2009 17:00:53 +0000 (10:00 -0700)]
kclient: schedule check_caps if unwanted, unEXPIREABLE caps are issued by the mds

16 years agotodos
Sage Weil [Tue, 24 Mar 2009 02:57:59 +0000 (19:57 -0700)]
todos

16 years agokclient: debugfs cleanups
Sage Weil [Tue, 24 Mar 2009 02:57:51 +0000 (19:57 -0700)]
kclient: debugfs cleanups

16 years agocommon: reorder config option parsing vs defaults for daemonization
Sage Weil [Mon, 23 Mar 2009 23:49:22 +0000 (16:49 -0700)]
common: reorder config option parsing vs defaults for daemonization

16 years agomds: fix xlock authpinning
Sage Weil [Mon, 23 Mar 2009 23:04:51 +0000 (16:04 -0700)]
mds: fix xlock authpinning

Remove extra auth_pin call.. we pin when going from LOCK
to LOCK_XLOCK.

16 years agokclient: adjust makefile, patch series for sysfs->debugfs
Sage Weil [Mon, 23 Mar 2009 22:56:36 +0000 (15:56 -0700)]
kclient: adjust makefile, patch series for sysfs->debugfs

16 years agomonclient: fix error message to suggest correct arg (-c not -C)
Sage Weil [Mon, 23 Mar 2009 22:40:16 +0000 (15:40 -0700)]
monclient: fix error message to suggest correct arg (-c not -C)

16 years agomakefile: add new files
Sage Weil [Mon, 23 Mar 2009 22:39:58 +0000 (15:39 -0700)]
makefile: add new files

16 years agokclient: remove sysfs stuff
Yehuda Sadeh [Mon, 23 Mar 2009 22:49:20 +0000 (15:49 -0700)]
kclient: remove sysfs stuff

16 years agokclient: put all info stuff in debugfs
Yehuda Sadeh [Mon, 23 Mar 2009 22:43:01 +0000 (15:43 -0700)]
kclient: put all info stuff in debugfs

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

16 years agocrun: remove bashisms
Sage Weil [Mon, 23 Mar 2009 22:22:46 +0000 (15:22 -0700)]
crun: remove bashisms

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.