]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 years agothread: force stacksize to be multiple of page size; clean up
Sage Weil [Fri, 2 Jul 2010 16:34:55 +0000 (09:34 -0700)]
thread: force stacksize to be multiple of page size; clean up

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agothread: allow setting stacksize when calling create & check return value of pthread_c...
Paul Chiang [Thu, 1 Jul 2010 07:55:57 +0000 (15:55 +0800)]
thread: allow setting stacksize when calling create & check return value of pthread_create

Signed-off-by: Paul Chiang <paul_chiang@tcloudcomputing.com>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoupdate authors
Sage Weil [Fri, 2 Jul 2010 16:24:46 +0000 (09:24 -0700)]
update authors

15 years agorbdtool: implement export
Yehuda Sadeh [Fri, 2 Jul 2010 16:55:52 +0000 (09:55 -0700)]
rbdtool: implement export

15 years agoshift feature supported/required specifications into Policy
Sage Weil [Fri, 2 Jul 2010 16:19:11 +0000 (09:19 -0700)]
shift feature supported/required specifications into Policy

This gets it out of the header, and also makes the previous
"my_features & their_features" logic explicit in the Policy definitions.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomsgr: add set_policy_throttler
Sage Weil [Fri, 2 Jul 2010 15:44:58 +0000 (08:44 -0700)]
msgr: add set_policy_throttler

This lets us continue to use the helpers.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoceph.spec.in: remove mkmonfs manpage
Sage Weil [Fri, 2 Jul 2010 14:55:44 +0000 (07:55 -0700)]
ceph.spec.in: remove mkmonfs manpage

15 years agoceph.spec.in: initrddir, not initddir
Sage Weil [Fri, 2 Jul 2010 14:55:34 +0000 (07:55 -0700)]
ceph.spec.in: initrddir, not initddir

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoceph.spec.in: some fixes
Thomas Mueller [Fri, 2 Jul 2010 08:13:38 +0000 (08:13 +0000)]
ceph.spec.in: some fixes

encountered following errors building an rpm package with the
ceph.spec.in:

RPM build errors:
    File not found: /var/tmp/ceph-0.21~rc-4el5.elefant-root-mockbuild/usr/
bin/mkmonfs
    File must begin with "/": %{_initddir}/ceph
    Installed (but unpackaged) file(s) found:
   /usr/bin/dumpjournal
   /usr/bin/dupstore
   /usr/bin/psim
   /usr/bin/radosacl
   /usr/bin/streamtest
   /usr/bin/test_ioctls
   /usr/bin/test_trans
   /usr/bin/testceph
   /usr/bin/testcrypto
   /usr/bin/testkeys
   /usr/bin/testmsgr
   /usr/bin/testrados
   /usr/bin/testradospp

* mkmonfs - vanished. isn't it used anymore? if so, the man/mkmonfs.8 can
also be removed
* initddir can be ignored as it is centos/rhel specific (it's called
"initrddir")
* added CXXFLAGS to make

Reported-by: Thomas Mueller <thomas@chaschperli.ch>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomkmonfs: remove all traces
Sage Weil [Fri, 2 Jul 2010 14:52:42 +0000 (07:52 -0700)]
mkmonfs: remove all traces

It's been replaced by 'cmon --mkfs'

Reported-by: Thomas Mueller <thomas@chaschperli.ch>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomount.ceph: add mount options/flags
Sage Weil [Fri, 2 Jul 2010 14:49:23 +0000 (07:49 -0700)]
mount.ceph: add mount options/flags

noatime, nodiratime, relatime.  Some cleanup.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoMakefile: add/fix ceph_ver.h dependencies
Sage Weil [Fri, 2 Jul 2010 14:33:57 +0000 (07:33 -0700)]
Makefile: add/fix ceph_ver.h dependencies

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agofilejournal: make journal alignment max of block, page sizes
Sage Weil [Thu, 1 Jul 2010 23:48:26 +0000 (16:48 -0700)]
filejournal: make journal alignment max of block, page sizes

Alignment must be a multiple of page size.  At least currently.

15 years agoceph: fix decoding of class incrementals
Sage Weil [Thu, 1 Jul 2010 22:46:03 +0000 (15:46 -0700)]
ceph: fix decoding of class incrementals

15 years agomsgr: handle ipv4 or ipv6 addresses (untested)
Sage Weil [Thu, 1 Jul 2010 22:42:01 +0000 (15:42 -0700)]
msgr: handle ipv4 or ipv6 addresses (untested)

At some point we may want to bind to both v4 and v6 addrs.  Later!

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoosd: caps configuration file uses pool names
Yehuda Sadeh [Thu, 1 Jul 2010 22:18:38 +0000 (15:18 -0700)]
osd: caps configuration file uses pool names

pool names instead of pool ids

15 years agovstart.sh: added -c to the cclass execution
Yehuda Sadeh [Thu, 1 Jul 2010 22:17:51 +0000 (15:17 -0700)]
vstart.sh: added -c to the cclass execution

15 years agoosd, class: introduce public class methods
Yehuda Sadeh [Thu, 1 Jul 2010 19:39:05 +0000 (12:39 -0700)]
osd, class: introduce public class methods

public class methods don't need exec permissions in order to execute

15 years agoosd: pgpool keeps pool name
Yehuda Sadeh [Thu, 1 Jul 2010 19:07:35 +0000 (12:07 -0700)]
osd: pgpool keeps pool name

15 years agoosd: modify caps calculation
Yehuda Sadeh [Thu, 1 Jul 2010 19:04:36 +0000 (12:04 -0700)]
osd: modify caps calculation

15 years agocfuse: log_per_instance by default
Sage Weil [Thu, 1 Jul 2010 21:27:13 +0000 (14:27 -0700)]
cfuse: log_per_instance by default

e.g., if run with --log-to-stdout=0,

lrwxrwxrwx  1 sage sage        11 Jul  1 14:22 cfuse4173 -> fatty.31362

15 years agoman: install cclass, cclsinfo man pages; include in ceph.deb
Sage Weil [Thu, 1 Jul 2010 21:21:13 +0000 (14:21 -0700)]
man: install cclass, cclsinfo man pages; include in ceph.deb

15 years agodebian: add logrotate.d/ceph
Sage Weil [Thu, 1 Jul 2010 20:59:25 +0000 (13:59 -0700)]
debian: add logrotate.d/ceph

15 years agoMakefile: link ssl to libceph
Paul Chiang [Thu, 10 Jun 2010 02:17:35 +0000 (10:17 +0800)]
Makefile: link ssl to libceph

Signed-off-by: Paul Chiang <paul_chiang@tcloudcomputing.com>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agolibceph: Add check before umount in deinitialize
Paul Chiang [Thu, 10 Jun 2010 02:18:53 +0000 (10:18 +0800)]
libceph: Add check before umount in deinitialize

Signed-off-by: Paul Chiang <paul_chiang@tcloudcomputing.com>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agohostname override option for ceph init script
CC Lien [Tue, 22 Jun 2010 09:28:32 +0000 (17:28 +0800)]
hostname override option for ceph init script

15 years agobuffer: fix logic in write_fd()
Henry C Chang [Thu, 1 Jul 2010 08:03:43 +0000 (16:03 +0800)]
buffer: fix logic in write_fd()

Reset iovec after finishing writev operation.
This bug occurs when buffer list size is larger than IOV_MAX.

15 years agomsgr: fix dispatch throttler release
Sage Weil [Thu, 1 Jul 2010 19:45:16 +0000 (12:45 -0700)]
msgr: fix dispatch throttler release

We need to release the same amount back to the throttler as we originally
reserved.  Store that amount in the Message, and catch all the error
paths.  This fixes the case where messages get fed back into dispatch
locally (i.e. not via read_message()).

15 years agocfuse: daemonize by default
Sage Weil [Thu, 1 Jul 2010 18:15:39 +0000 (11:15 -0700)]
cfuse: daemonize by default

We have to fork, then start client, to avoid killing our pthreads.  Use
a socketpair to tell the parent process about mount success/failure.

15 years agoconfig: -f just means foreground; do not change log output
Sage Weil [Thu, 1 Jul 2010 18:01:18 +0000 (11:01 -0700)]
config: -f just means foreground; do not change log output

Before it would set log_to_stdout = false, but the default might be true.

15 years agoclient: start/stop objectcacher thread in init/shutdown, not constructor
Sage Weil [Thu, 1 Jul 2010 17:57:21 +0000 (10:57 -0700)]
client: start/stop objectcacher thread in init/shutdown, not constructor

15 years agoconfig: disallow -d|--daemonize
Sage Weil [Thu, 1 Jul 2010 16:33:02 +0000 (09:33 -0700)]
config: disallow -d|--daemonize

Either we can daemonize, and do that by default, or we can't, and
shouldn't, even if you pass -d.

15 years agocommon: break init into set_defaults and init steps
Sage Weil [Thu, 1 Jul 2010 16:25:43 +0000 (09:25 -0700)]
common: break init into set_defaults and init steps

This will let us tweak the default daemon/non-daemon settings as needed,
e.g. in the case of cfuse.

15 years agodebug: fixup
Sage Weil [Thu, 1 Jul 2010 16:10:41 +0000 (09:10 -0700)]
debug: fixup

15 years agocommon: disable logger by default; make daemon settings explicit in (3) callers
Sage Weil [Thu, 1 Jul 2010 15:55:52 +0000 (08:55 -0700)]
common: disable logger by default; make daemon settings explicit in (3) callers

15 years agodebug: add max count for name symlinks
Sage Weil [Thu, 1 Jul 2010 15:35:25 +0000 (08:35 -0700)]
debug: add max count for name symlinks

15 years agovstart: normalize pid file names
Sage Weil [Thu, 1 Jul 2010 15:29:01 +0000 (08:29 -0700)]
vstart: normalize pid file names

15 years agodebug: revamp debug/logging
Sage Weil [Thu, 1 Jul 2010 15:28:24 +0000 (08:28 -0700)]
debug: revamp debug/logging

- By default, append to $type.$name.log.
- Get old $hostname.$pid + $type.$name symlink behavior only with
  g_conf.log_per_instance
- Add new g_conf.log_file option to force a particular file.

15 years agoclient: set MetaRequest::inode to the inode or directory inode whenever possible.
Greg Farnum [Wed, 30 Jun 2010 18:34:45 +0000 (11:34 -0700)]
client: set MetaRequest::inode to the inode or directory inode whenever possible.
Provides link to caps, useful when requests come back ESTALE or similar.

15 years agoclient: set inode/dentry fields where available
Greg Farnum [Wed, 30 Jun 2010 18:03:50 +0000 (11:03 -0700)]
client: set inode/dentry fields where available

15 years agoclient: remove now-unused authority and pick_replica functions
Greg Farnum [Tue, 29 Jun 2010 22:52:04 +0000 (15:52 -0700)]
client: remove now-unused authority and pick_replica functions

15 years agoclient: rewrite choose_target_mds to more closely mirror kclient logic and be correct.
Greg Farnum [Tue, 29 Jun 2010 22:51:02 +0000 (15:51 -0700)]
client: rewrite choose_target_mds to more closely mirror kclient logic and be correct.

15 years agoclient: make fragmap updates a little more space efficient.
Greg Farnum [Tue, 29 Jun 2010 22:50:13 +0000 (15:50 -0700)]
client: make fragmap updates a little more space efficient.

If the auth is the same as the parent, don't add to the map (and remove if
it's already there). Absence is interpreted the same as a value of -1.

15 years agoclient: add mds_num to MDSSession struct
Greg Farnum [Tue, 29 Jun 2010 22:48:47 +0000 (15:48 -0700)]
client: add mds_num to MDSSession struct

15 years agoclient: clean up Inode::authority
Greg Farnum [Tue, 29 Jun 2010 17:32:18 +0000 (10:32 -0700)]
client: clean up Inode::authority

15 years agoclient: move all mds selection code into choose_target_mds
Greg Farnum [Tue, 29 Jun 2010 17:29:24 +0000 (10:29 -0700)]
client: move all mds selection code into choose_target_mds

15 years agoclient: remove dead code
Greg Farnum [Tue, 29 Jun 2010 17:28:24 +0000 (10:28 -0700)]
client: remove dead code

15 years agoclient: remove Inode::dir_auth data member
Greg Farnum [Tue, 29 Jun 2010 17:27:52 +0000 (10:27 -0700)]
client: remove Inode::dir_auth data member

15 years agoclient: initialize auth_caps in Inode! Prevents bad pointer derefs.
Greg Farnum [Wed, 30 Jun 2010 20:44:27 +0000 (13:44 -0700)]
client: initialize auth_caps in Inode! Prevents bad pointer derefs.

15 years agoqa: set runoncfuse.sh to run cfuse in background and kill at end of tests.
Greg Farnum [Wed, 30 Jun 2010 20:44:06 +0000 (13:44 -0700)]
qa: set runoncfuse.sh to run cfuse in background and kill at end of tests.

This is an imperfect solution at best, since it doesn't handle errors at all,
but it'll have to do for now.

15 years agorbd: some header cleanup
Yehuda Sadeh [Wed, 30 Jun 2010 22:36:58 +0000 (15:36 -0700)]
rbd: some header cleanup

15 years agorbdtool: implement snap rollback
Yehuda Sadeh [Wed, 30 Jun 2010 22:07:25 +0000 (15:07 -0700)]
rbdtool: implement snap rollback

15 years agobuffer: handle write_fd() on empty bufferlist
Sage Weil [Wed, 30 Jun 2010 22:44:38 +0000 (15:44 -0700)]
buffer: handle write_fd() on empty bufferlist

15 years agoosd: fix, cleanup ack/disk reply logic
Sage Weil [Wed, 30 Jun 2010 21:40:20 +0000 (14:40 -0700)]
osd: fix, cleanup ack/disk reply logic

There was a bug where we would get no reply if we could send ondisk but
the client didn't want it.  This simplifies and cleans up the checks
to make more sense, removing the can_* helpers that were hiding which
checks were being done.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agobuffer: make write_fd() tolerate zero length ptrs in the bufferlist
Sage Weil [Wed, 30 Jun 2010 21:18:06 +0000 (14:18 -0700)]
buffer: make write_fd() tolerate zero length ptrs in the bufferlist

15 years agomsgr: clean up aborted message handling
Sage Weil [Wed, 30 Jun 2010 19:09:14 +0000 (12:09 -0700)]
msgr: clean up aborted message handling

No need for a dummy message.  Make the (single) caller handle returning
no message as a non-error.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomsgr: release bytes reserved from throttlers in failure paths
Sage Weil [Wed, 30 Jun 2010 19:08:18 +0000 (12:08 -0700)]
msgr: release bytes reserved from throttlers in failure paths

If we don't release those bytes, the throttler count eventually fills up
with bytes we were going to read but didn't (due to socket errors, etc)
until we can't read anything.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agouclient: rename make_path; cleanup/move make_request_from_Meta
Sage Weil [Wed, 30 Jun 2010 18:14:50 +0000 (11:14 -0700)]
uclient: rename make_path; cleanup/move make_request_from_Meta

Document, make it clear what kind of "path" it's really building.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoman: add man pages for cclass and cclsinfo
Yehuda Sadeh [Wed, 30 Jun 2010 17:32:21 +0000 (10:32 -0700)]
man: add man pages for cclass and cclsinfo

15 years agofilejournal: fix buffer realignment condition; useful debug output on error
Sage Weil [Wed, 30 Jun 2010 15:34:26 +0000 (08:34 -0700)]
filejournal: fix buffer realignment condition; useful debug output on error

We don't care about contiguous, only about page alignment.

15 years agorbdtool: fix uninitialized variable
Yehuda Sadeh [Wed, 30 Jun 2010 05:58:52 +0000 (22:58 -0700)]
rbdtool: fix uninitialized variable

15 years agorbdtool: implement rename
Yehuda Sadeh [Wed, 30 Jun 2010 00:22:39 +0000 (17:22 -0700)]
rbdtool: implement rename

15 years agoconfig: update __isarg before reading config param
Yehuda Sadeh [Tue, 29 Jun 2010 23:23:27 +0000 (16:23 -0700)]
config: update __isarg before reading config param

15 years agodebian: include cclsinfo
Sage Weil [Tue, 29 Jun 2010 23:25:27 +0000 (16:25 -0700)]
debian: include cclsinfo

15 years agoMakefile: include cclsinfo; lose the old .cc
Sage Weil [Tue, 29 Jun 2010 23:23:11 +0000 (16:23 -0700)]
Makefile: include cclsinfo; lose the old .cc

15 years agoMakefile: include cclass.in in dist
Sage Weil [Tue, 29 Jun 2010 23:08:33 +0000 (16:08 -0700)]
Makefile: include cclass.in in dist

15 years agobuffer: write_fd should skip empty buffers
Yehuda Sadeh [Tue, 29 Jun 2010 22:59:20 +0000 (15:59 -0700)]
buffer: write_fd should skip empty buffers

15 years agorbdtool: init rbd block id, later will be used for rename
Yehuda Sadeh [Tue, 29 Jun 2010 22:15:00 +0000 (15:15 -0700)]
rbdtool: init rbd block id, later will be used for rename

15 years agocclass.in: LIBDIR=.libs in certain cases
Yehuda Sadeh [Tue, 29 Jun 2010 22:13:56 +0000 (15:13 -0700)]
cclass.in: LIBDIR=.libs in certain cases

15 years agocls: cls_read, cls_cxx_read return the number of bytes read
Yehuda Sadeh [Tue, 29 Jun 2010 22:11:04 +0000 (15:11 -0700)]
cls: cls_read, cls_cxx_read return the number of bytes read

15 years agoconfig: use <<20 for MB
Sage Weil [Mon, 28 Jun 2010 22:32:04 +0000 (15:32 -0700)]
config: use <<20 for MB

15 years agoscript/plot.pl: don't pause
Sage Weil [Mon, 28 Jun 2010 21:18:31 +0000 (14:18 -0700)]
script/plot.pl: don't pause

Run like so:

 $ script/plot.pl path/to/log osd c_wrb [smooth bezier] | gnuplot -persist

15 years agomsgr: use dedicated reaper thread
Sage Weil [Mon, 28 Jun 2010 21:15:59 +0000 (14:15 -0700)]
msgr: use dedicated reaper thread

We were calling the reaper from the wait() loop.  The problem is that
the OSD has two messengers, and only the first was in wait().. the second
wait() was only called after the first terminated (i.e, when the OSD was
shutting down).

Instead, launch a separate reaper thread when we bind, and close it out
on shutdown right after the accepter.

15 years agoosd: removed unused RepGather::indata
Sage Weil [Tue, 29 Jun 2010 21:38:39 +0000 (14:38 -0700)]
osd: removed unused RepGather::indata

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoosd: change write osd logging timing
Sage Weil [Tue, 29 Jun 2010 21:38:28 +0000 (14:38 -0700)]
osd: change write osd logging timing

15 years agoosd: always use original Connection when replying
Sage Weil [Tue, 29 Jun 2010 21:32:28 +0000 (14:32 -0700)]
osd: always use original Connection when replying

...even when the op came from another OSD.  Not that that should happen
anyway, since we don't forward messages currently.  (And can't, since the
OSD doesn't initiate connections to the client!)

15 years agoosd: always include osd op result, result code in the first reply
Sage Weil [Tue, 29 Jun 2010 21:31:12 +0000 (14:31 -0700)]
osd: always include osd op result, result code in the first reply

15 years agoosd: track open repops in logger
Sage Weil [Mon, 28 Jun 2010 20:19:35 +0000 (13:19 -0700)]
osd: track open repops in logger

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoosd: add 'logger reset' command
Sage Weil [Mon, 28 Jun 2010 20:19:26 +0000 (13:19 -0700)]
osd: add 'logger reset' command

15 years agojournal: set max journal write to 10MB
Sage Weil [Mon, 28 Jun 2010 18:44:26 +0000 (11:44 -0700)]
journal: set max journal write to 10MB

If we take too big a bite of data to write in a single writev(2), we can
end up making performance worse, because everyone waits for the full write
to complete.  Bigger writes mean better throughput but higher latency.
So, balance the two by placing some upper limit.

15 years agoconf: fix parsing when there's no eol at the end of file
Yehuda Sadeh [Tue, 29 Jun 2010 16:57:01 +0000 (09:57 -0700)]
conf:  fix parsing when there's no eol at the end of file

15 years agomsg: fix entity_addr_t::parse() to return false on failure
Sage Weil [Tue, 29 Jun 2010 15:34:53 +0000 (08:34 -0700)]
msg: fix entity_addr_t::parse() to return false on failure

15 years agomkcephfs: Fix wrong maxosd when OSD ids are random ordered in ceph.conf
CC Lien [Tue, 29 Jun 2010 14:29:11 +0000 (22:29 +0800)]
mkcephfs: Fix wrong maxosd when OSD ids are random ordered in ceph.conf

Hi

I got a trouble that mkcephfs will have wrong "maxosd" when you have
ceph.conf with OSD ids in random order like:

[osd2]
...
[osd0]
...
[osd1]
...

In this case, you will got "2" for the "maxosd", instead of 3.
After adding a sort, the problem seems solved.

Cheers,
CC Lien

Signed-off-by: CC Lien <cc_lien@tcloudcomputing.com>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agofilejournal: fix journal write_pos advance
Sage Weil [Mon, 28 Jun 2010 18:34:29 +0000 (11:34 -0700)]
filejournal: fix journal write_pos advance

This was broken by bd4188a02abff9efffb87a0a2031efe51c1b4d9a.  @pos needs to
be advanced (it is pass by reference) or else we just overwrite the same
bytes at the journal start over and over again.

15 years agomount.ceph: update mount options
Sage Weil [Mon, 28 Jun 2010 16:55:12 +0000 (09:55 -0700)]
mount.ceph: update mount options

Signed-off-by: Thomas Mueller <thomas@chaschperli.ch>
Signed-off-by: Sage Weil <sage@newdream.net>
15 years agomsgr: fix throttle deadlock
Sage Weil [Sat, 26 Jun 2010 17:28:38 +0000 (10:28 -0700)]
msgr: fix throttle deadlock

Do msgr throttle after peer policy throttle.  The msgr (dispatch) throttle
is shortlived and won't deadlock (unless dispatch blocks), so it's safe to
take last.  In contrast, the policy throttle carries over the lifetime of
the message, and may block until replication completes or whatever else.

15 years agocrushwrapper: gracefully handle crush error
Sage Weil [Sat, 26 Jun 2010 04:46:23 +0000 (21:46 -0700)]
crushwrapper: gracefully handle crush error

crush_do_rule can return <0 in certain error cases (e.g., forcefed device
does not exist in crush map).  We should take that to mean an empty []
result instead of crashing.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agocrushtool: add simple test function
Sage Weil [Sat, 26 Jun 2010 02:54:18 +0000 (19:54 -0700)]
crushtool: add simple test function

15 years agocrush: fix "in" threshold to be 1.0, not 0.1
Sage Weil [Sat, 26 Jun 2010 02:20:18 +0000 (19:20 -0700)]
crush: fix "in" threshold to be 1.0, not 0.1

We were effectively counting any item with weight > .1 to be weight 1.0.

15 years agocfuse: remove some NPEs with ESTALE from MDSes.
Greg Farnum [Fri, 25 Jun 2010 23:10:35 +0000 (16:10 -0700)]
cfuse: remove some NPEs with ESTALE from MDSes.

Under certain circumstances this continues to let you get ESTALE
and not handle it, but those are still being analyzed for a fix.

15 years agomds: keep cap follows above in->first in FLUSHSNAP
Sage Weil [Thu, 24 Jun 2010 23:49:12 +0000 (16:49 -0700)]
mds: keep cap follows above in->first in FLUSHSNAP

The client has a follows of 0 initially, which is correct (it does follow
0, and there are no prior snaps).  But the inode has ->first of 2, which
is also fine.  The follows here needs to be at least higher than the
inode first, though, or the caps cloning gets off...

15 years agoqa: read recently written/deleted data back from snap
Sage Weil [Thu, 24 Jun 2010 23:48:01 +0000 (16:48 -0700)]
qa: read recently written/deleted data back from snap

15 years agomds: fix client cap condition
Sage Weil [Thu, 24 Jun 2010 22:50:47 +0000 (15:50 -0700)]
mds: fix client cap condition

In 551a12f52e36 we fixed a bug with cow_inode() where the
cap->client_follows didn't match last precisely.  Instead, we compare
to first.  But the == is too strict.. cap follows that is equal _or_older_
than the clone's first should be copied to the clone inode.

This fixes the simple test case
 $ echo asdf > bar ; mkdir .snap/bar ; rm bar ; cat .snap/bar/bar
 asdf
(Previously we would get nothing unless we waited for the cap to flush on
its own.)

15 years agoceph_fs: add CEPH_LOCK_IFLOCK so its inclusion elsewhere continues to build
Greg Farnum [Thu, 24 Jun 2010 18:51:59 +0000 (11:51 -0700)]
ceph_fs: add CEPH_LOCK_IFLOCK so its inclusion elsewhere continues to build

15 years agomds: add IFLOCK to wait bits to prevent collisions with lock branch
Greg Farnum [Thu, 24 Jun 2010 18:37:29 +0000 (11:37 -0700)]
mds: add IFLOCK to wait bits to prevent collisions with lock branch

15 years agocrush: fix recursion through intervening types
Sage Weil [Thu, 24 Jun 2010 17:42:20 +0000 (10:42 -0700)]
crush: fix recursion through intervening types

This fixes pretty core behavior when doing recursion down the tree.  I
suspect it was broken when changing the retry behavior.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agocrush: make CHOOSE_LEAF to behave when leaf type is encountered
Sage Weil [Thu, 24 Jun 2010 17:40:14 +0000 (10:40 -0700)]
crush: make CHOOSE_LEAF to behave when leaf type is encountered

We may not want to recursively call crush_choose() if we start out with a
leaf.  If that happens, we need to fill out the out2[] vector with
our result immediately.

Signed-off-by: Sage Weil <sage@newdream.net>
15 years agoclient: resync with kernel's ioctl.h
Sage Weil [Thu, 24 Jun 2010 00:02:04 +0000 (17:02 -0700)]
client: resync with kernel's ioctl.h

This got munged up by the #ifndef/#define guard cleanup.

15 years agomds: fix SimpleLock wait_shift()
Sage Weil [Thu, 24 Jun 2010 17:38:36 +0000 (10:38 -0700)]
mds: fix SimpleLock wait_shift()

DVERSION was missing, others were overlapping...

15 years agoceph_fs: add CEPH_FEATURE_FLOCK to ceph_fs so its bit doesn't get covered again
Greg Farnum [Tue, 22 Jun 2010 18:52:34 +0000 (11:52 -0700)]
ceph_fs: add CEPH_FEATURE_FLOCK to ceph_fs so its bit doesn't get covered again