Commit Graph

7116 Commits

Author SHA1 Message Date
Sage Weil
2abc25aec8 kclient: fix pps calculation to factor in pg pool
This was missed the first time around.
2009-06-17 12:53:50 -07:00
Sage Weil
9d6538ceb2 osd: fix pps calculation from pgid.ps() and pgid.pool()
The final placement seed needs to factor in pool, but that can't be
fed into stable_mod or you get weird results (for example, 1.ff and
1.adff won't necessary map to the same thing because of the
stable_mod).  Add pool to the stable_mod result, instead.  The seed
itself doesn't need to be bounded; it's just an input for CRUSH.
Just so long as there are a limited number of such inputs for a given
pool.
2009-06-17 12:51:08 -07:00
Greg Farnum
1f086d9b63 rados: Now properly writes 0-byte files on a get.
There are more debug statements in librados and Objercter too.
2009-06-17 11:23:14 -07:00
Sage Weil
b59e70a6b1 mon: implement 'mds setmap <epoch>' to (re)set mdsmap 2009-06-17 10:34:23 -07:00
Sage Weil
dc9042c8fd mon: clean up some mdsmon stuff
last_beacon should include pending_inc mds's, no more, no
less.

Make the osdmon bcast send to non-in mds's too.
2009-06-17 10:34:23 -07:00
Greg Farnum
52a9ea6320 librados: added a write-full method.
Switched ./rados to use it for put.
2009-06-16 16:56:47 -07:00
Sage Weil
119c339b83 rados: clean up output a bit 2009-06-16 16:48:18 -07:00
Sage Weil
e83ad7c41d librados: clean up librados debug output a bit 2009-06-16 16:48:10 -07:00
Sage Weil
e725f38ae2 config: no -p shorthand for --pid-file
It's not used by anything anyway.
2009-06-16 16:39:58 -07:00
Sage Weil
d01b24973d Merge commit '114ad5177f281b96ba6bbebe9ed85e2a4aec783f' into rados
Conflicts:

	src/include/ceph_fs.h
2009-06-16 16:34:03 -07:00
Sage Weil
114ad5177f kclient: fix skipped entires in dcache_readdir
I'm not sure why the old code incremented f_pos and looked at the
prev entry, but it was wrong.
2009-06-16 16:31:38 -07:00
Sage Weil
3efb869af1 kclient: fix non-dcache readdir offset calculation
Needs to factor in frag_is_leftmost to account for . and .., just
like the fi->offset calculation in readdir_prepopulate.  Fixes the
problem where an ls on a large dir returns duplicate entries.
2009-06-16 16:31:38 -07:00
Sage Weil
92c48b0374 kclient: specify smallish blksize for directories
This is mainly just because /bin/ls will use the size, or blocks,
or blksize to decide how big of a buffer to allocate for getdents,
and the default of 4MB is unreasonably big.  64k seems like an
okay number, I guess.
2009-06-16 16:31:38 -07:00
Sage Weil
a07894d17e osd: fix cloned object context
Screws up subsequent reads on cloned objects.  And the bad ref
counting was leaking memory.
2009-06-16 16:00:31 -07:00
Greg Farnum
e3105a06df Objecter: fixed a bug in snaps.
Worked around a situtation where you could delete a callback before it was followed.
2009-06-16 15:49:34 -07:00
Greg Farnum
3e6819052a mon/Objecter: Snapshot creation/removal now waits for proper epoch to return. 2009-06-16 15:22:16 -07:00
Sage Weil
9b621fe1da rev osd disk format, protocol due to crush, osdmap mapping changes 2009-06-16 15:17:41 -07:00
Sage Weil
d9cf568454 osdmaptool: crush regression test 2009-06-16 15:07:54 -07:00
Sage Weil
bc7d48fff5 osd: include pg pool in pg to placement seed mapping
This prevents different pools from overlaying on top of each other.
2009-06-16 15:07:26 -07:00
Sage Weil
cb719ac3eb crush: fix perm_choose bug
We would get incorrect results if we calculated the same mapping
twice in a row in certain cases.  Der.  Also, the permutation
calculation was basically just wrong.
2009-06-16 15:03:50 -07:00
Greg Farnum
ac64f0578a rados: submit snap creation and removal to the system. 2009-06-16 15:00:24 -07:00
Greg Farnum
dd7c2f2cc0 mon: Now handles snapshot removals too. 2009-06-16 14:25:02 -07:00
Greg Farnum
9ce5802a5e mon:Added server-side handling of MPoolSnap.
Currently assumes it's a snap-create message.
2009-06-16 14:22:32 -07:00
Sage Weil
52bee4b5a2 osd: bail out of backlog generation early if osd is stopping
Currently killing the osd can take a very long time if the backlog
is being built.  Fix that.
2009-06-16 11:50:45 -07:00
Greg Farnum
ed34a0c7dc Client-side support for creating/removing pool snapshots. 2009-06-15 16:25:42 -07:00
Sage Weil
0a7e55946a kclient: fix di->off calculation
The dentry dir offset calculation wasn't taking into account the
possibility of multiple readdi requests, which in turn meant bad results
for readdir-from-dcache.

Since doing this on the client side was a mess, the MDS includes a dentry
offset for each readdir dentry within the dirfrag.  This value is stored
in di->offset (with adjustment in leftmost frag for . and ..), and that's
the value that's passed back via filldir.
2009-06-15 16:19:49 -07:00
Sage Weil
60ec1cbe0e kclient: fix I_COMPLETE
The previous use of I_READDIR vs I_COMPLETE was flawed, mainly because
the state was maintained on a per-inode basis, but readdir proceeds on a
per-file basis.

Instead of flags, maintain a counter in the inode that is incremented each
time a dentry is released.  When readdir starts, note the counter, and if
it is the same when readdir completes, AND we did not do any forward
seeks on the file handle, AND prepopulate succeeded on each hunk, then we
can set I_COMPLETE.
2009-06-15 16:19:45 -07:00
Sage Weil
fd7c1f3f99 mds: mark CDir objects with parent ino, dname 2009-06-15 16:19:45 -07:00
Sage Weil
ca1f545bac mkcephfs: fix btrfs mount option 2009-06-15 12:16:34 -07:00
Sage Weil
82b24779da mds: lower default cache size (now ~3.5GB on x86_64) 2009-06-15 12:16:34 -07:00
Sage Weil
8c6410f1a9 osd: cleanup log trim check 2009-06-15 12:16:34 -07:00
Sage Weil
1614f2246f todo 2009-06-14 20:29:23 -07:00
Sage Weil
d8b9c00ef6 debug: fix log reopen
No need to delete, nothing is on the heap.
2009-06-14 16:11:31 -07:00
Sage Weil
85aca870d7 osd: fix PGOP check 2009-06-12 17:30:54 -07:00
Yehuda Sadeh
4320680bfc s3: return objects mtime 2009-06-12 16:50:59 -07:00
Yehuda Sadeh
ed22e0669a s3: partial implementation of get bucket 2009-06-12 15:44:07 -07:00
Yehuda Sadeh
2f2cb8935b s3: handle 'get bucket' opereation 2009-06-12 15:44:07 -07:00
Greg Farnum
a80a0caaee rados:Added basic df functionality to rados and fixed librados.cc to handle statfs_reply messages 2009-06-12 13:29:47 -07:00
Sage Weil
7605982081 objecter: add hook to get notification on new osdmap 2009-06-12 12:58:24 -07:00
Sage Weil
26ff61309d debian: add build depends libssl-dev, libfcgi-dev 2009-06-12 12:52:33 -07:00
Sage Weil
c645d26cf6 osd: autodetect PGOP flag if there are PG ops
Avoids requiring the client to specify.
2009-06-12 12:51:11 -07:00
Sage Weil
b4eaf55cd7 rados: rename radostool -> rados 2009-06-12 12:51:11 -07:00
Yehuda Sadeh
98a81758ac rados: external acls [beginning of] implementation 2009-06-12 12:50:32 -07:00
Yehuda Sadeh
e5e1264708 s3: fastcgi s3 gateway 2009-06-12 12:50:32 -07:00
Sage Weil
6ddb9e5d85 objecter: unify read and write paths
No longer any reason to segregate read and write paths.
2009-06-12 11:17:19 -07:00
Sage Weil
bb9a10910a osd: you may, but need not, specify READ|WRITE flag in MOSDOp.
The OSD will implicitly set the bits based on your OSDOps or class method
calls.  The client may still find it useful to specify these expicitly
for it's own informational purposes.

Make sure the MOSDOpReply has bits set based on the _actual_ op performed.

Note that as things stand, this will confuse the Objecter, who relies on
these bits to choose read or modify reply paths and doesn't know a priori
what mode a method is.
2009-06-11 22:55:07 -07:00
Greg Farnum
8b6fa65262 uClient: Fixed a copying error and a double lock. 2009-06-11 16:23:26 -07:00
Greg Farnum
db9a78553d Switched Client to use objecter's statfs methods. 2009-06-11 15:50:34 -07:00
Greg Farnum
9f88b5bf5e Rebase and better naming. 2009-06-11 15:50:34 -07:00
Greg Farnum
c4b42a8623 Added support for MStatfs to librados and Objecter. 2009-06-11 15:50:34 -07:00