]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agotools/MDSUtility: fix crash on bad config
John Spray [Tue, 20 May 2014 10:00:52 +0000 (11:00 +0100)]
tools/MDSUtility: fix crash on bad config

Was calling messenger destructor before
calling shutdown in case where config
was bad, e.g. in vstart without "-c" flag.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agotools/JournalTool: update usage()
John Spray [Mon, 19 May 2014 23:12:07 +0000 (00:12 +0100)]
tools/JournalTool: update usage()

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoqa: Add smoke test for cephfs-journal-tool
John Spray [Mon, 19 May 2014 20:22:56 +0000 (21:22 +0100)]
qa: Add smoke test for cephfs-journal-tool

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agotools/JournalTool: Fix 'header set' corner case
John Spray [Mon, 19 May 2014 16:22:31 +0000 (17:22 +0100)]
tools/JournalTool: Fix 'header set' corner case

If the write_pos was behind the other pointers, we
would flag the header as invalid.  However, that
would prevent doing a "header set" to correct it.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Create JournalPointer in MDLog::create
John Spray [Mon, 19 May 2014 15:42:53 +0000 (16:42 +0100)]
mds: Create JournalPointer in MDLog::create

Otherwise it is created at next startup when
we see that it is missing: this is cleaner.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Make EMetaBlob::dirlump::_decode_bits const
John Spray [Mon, 19 May 2014 14:08:33 +0000 (15:08 +0100)]
mds: Make EMetaBlob::dirlump::_decode_bits const

This requires making the late-decoded attributes mutable.
The motivation is to allow get_paths and all the code downstream
of that to be const too.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc: new style encoding for Journal::Header
John Spray [Mon, 19 May 2014 13:23:40 +0000 (14:23 +0100)]
osdc: new style encoding for Journal::Header

Switch to the ENCODE_START, DECODE_START macros
for Journal::Header.  As well as being nice generally,
this has the important side effect of making
journal headers written since JOURNAL_FORMAT_RESILIENT
unreadable to older MDSs, as they will fail their check
on Header.magic.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc: Simplify JournalStream::read
John Spray [Mon, 19 May 2014 12:37:23 +0000 (13:37 +0100)]
osdc: Simplify JournalStream::read

It was doing an unnecessary series of splices() after
reading header, replace with a single pass through
the data and one splice at the end.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc: make JournalStream::readable const
John Spray [Mon, 19 May 2014 12:09:52 +0000 (13:09 +0100)]
osdc: make JournalStream::readable const

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc/JournalStream: DRY envelope size calc
John Spray [Mon, 19 May 2014 10:31:24 +0000 (11:31 +0100)]
osdc/JournalStream: DRY envelope size calc

Replace repetitive sizeof() calculation for the
envelope overhead per log event with #defines.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agodoc: Update ceph-mds manpage
John Spray [Mon, 19 May 2014 10:12:14 +0000 (11:12 +0100)]
doc: Update ceph-mds manpage

Add missing --hot-standby and --journal-check
arguments.

Fixes: #8258
11 years agoosdc/Journaler: use pointers for out params
John Spray [Mon, 19 May 2014 10:11:07 +0000 (11:11 +0100)]
osdc/Journaler: use pointers for out params

Fixes a style violation in the new JournalStream class.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agotools/cephfs: Update for JournalPointer
John Spray [Mon, 12 May 2014 17:39:33 +0000 (18:39 +0100)]
tools/cephfs: Update for JournalPointer

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoFix JournalStream::read length assertion
John Spray [Mon, 12 May 2014 13:16:54 +0000 (14:16 +0100)]
Fix JournalStream::read length assertion

This was checking for new-format length even
when reading from an old-format journal.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc/Journaler: include stream_format in dump()
John Spray [Mon, 12 May 2014 10:56:44 +0000 (11:56 +0100)]
osdc/Journaler: include stream_format in dump()

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Introduce mds_journal_format config setting
John Spray [Fri, 9 May 2014 14:37:41 +0000 (15:37 +0100)]
mds: Introduce mds_journal_format config setting

This is useful for testing, so that we can create an
old-style journal and then test the version migration
by changing the config setting.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agotools: update Dumper to use JournalPointer
John Spray [Thu, 8 May 2014 12:21:43 +0000 (13:21 +0100)]
tools: update Dumper to use JournalPointer

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Generalize JournalPointer functionality
John Spray [Wed, 7 May 2014 12:50:35 +0000 (13:50 +0100)]
mds: Generalize JournalPointer functionality

...so that we can use it places like Resetter too.  And use it
there.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agodencoder: add JournalPointer to types.h
John Spray [Wed, 7 May 2014 11:17:09 +0000 (12:17 +0100)]
dencoder: add JournalPointer to types.h

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: add atomic log rewrite on format change
John Spray [Tue, 6 May 2014 12:18:03 +0000 (13:18 +0100)]
mds: add atomic log rewrite on format change

Two main pieces to this:
 * A new JournalPointer object that stores two journal
   inodes so that we can do a double-buffered update,
   followed by an atomic swap.
 * An extended recovery process in MDLog that dereferences
   the JournalPointer and conditionally rewrites the
   journal to accomodate format updates.

The JournalPointer indirection should also be useful for
making cephfs-journal-tool do updates more safely.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc: Add Journaler.erase
John Spray [Tue, 6 May 2014 12:12:36 +0000 (13:12 +0100)]
osdc: Add Journaler.erase

This is used in subsequent commits to delete journals
that are no longer needed, such as after rewriting
a journal in a different format.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc/Journaler: privatize members
John Spray [Fri, 2 May 2014 09:37:26 +0000 (10:37 +0100)]
osdc/Journaler: privatize members

Many members were unnecessarily public.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc: fix redundant branch
John Spray [Thu, 1 May 2014 11:58:48 +0000 (12:58 +0100)]
osdc: fix redundant branch

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc: Clean up journalstream readable check
John Spray [Thu, 1 May 2014 11:54:14 +0000 (12:54 +0100)]
osdc: Clean up journalstream readable check

Fix redundant (and subtly incorrect) calculation of
the number of bytes needed.  It worked because waiting
for a few more bytes before reading the entry size
of an old-format entry was harmless.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds/CDir: remove redundant inode enc/dec
John Spray [Fri, 2 May 2014 15:10:33 +0000 (16:10 +0100)]
mds/CDir: remove redundant inode enc/dec

Use the new CInode::encode_bare/decode_bare fns
in CDir, so that we only have one implementation
of the inode encode/decode code.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agodocs: Add cephfs-journal-tool
John Spray [Tue, 29 Apr 2014 08:57:24 +0000 (09:57 +0100)]
docs: Add cephfs-journal-tool

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agogitignore: Add cephfs-journal-tool
John Spray [Wed, 23 Apr 2014 16:23:58 +0000 (17:23 +0100)]
gitignore: Add cephfs-journal-tool

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agodebian: add cephfs-journal-tool to ceph-mds
John Spray [Wed, 23 Apr 2014 15:44:54 +0000 (16:44 +0100)]
debian: add cephfs-journal-tool to ceph-mds

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agorpm: add cephfs-journal-tool to RPM build
John Spray [Wed, 23 Apr 2014 15:27:36 +0000 (16:27 +0100)]
rpm: add cephfs-journal-tool to RPM build

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agotools: Create cephfs-journal-tool
John Spray [Tue, 25 Mar 2014 13:30:57 +0000 (13:30 +0000)]
tools: Create cephfs-journal-tool

This is for debugging/repairing CephFS journals.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: add getter for ESession.client_inst
John Spray [Fri, 11 Apr 2014 13:38:28 +0000 (14:38 +0100)]
mds: add getter for ESession.client_inst

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Add getter for EMetablob.client_name
John Spray [Fri, 11 Apr 2014 12:56:26 +0000 (13:56 +0100)]
mds: Add getter for EMetablob.client_name

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Add EMetaBlob::get_dentries
John Spray [Wed, 9 Apr 2014 10:17:30 +0000 (11:17 +0100)]
mds: Add EMetaBlob::get_dentries

For tools that would like to know which dentries are
touched by a metablob, without understanding its
internal format.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: switch __u32 with LogEvent::EventType typedef
John Spray [Tue, 8 Apr 2014 13:15:43 +0000 (14:15 +0100)]
mds: switch __u32 with LogEvent::EventType typedef

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Add LogEvent::str_to_type
John Spray [Mon, 21 Apr 2014 12:26:32 +0000 (13:26 +0100)]
mds: Add LogEvent::str_to_type

For cephfs-journal-tool to resolve user input to a EVENT_* constant

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Fix Dumper::undump (missing lock)
John Spray [Tue, 25 Mar 2014 13:31:24 +0000 (13:31 +0000)]
mds: Fix Dumper::undump (missing lock)

Two problems were causing undump to fail:
* Objecter lock was not being taken around call to
  .write() and .write_full() calls, causing assertion.
* Once that is fixed, it is necessary to use a separate,
  local lock to protect the completion condition for
  write operations

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Add EMetaBlob::get_inodes
John Spray [Tue, 8 Apr 2014 10:17:54 +0000 (11:17 +0100)]
mds: Add EMetaBlob::get_inodes

Used for filtering in journal tool

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Publicize some EMetaBlob members
John Spray [Tue, 25 Mar 2014 13:31:17 +0000 (13:31 +0000)]
mds: Publicize some EMetaBlob members

This makes them accessible for JournalTool.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Refactor CINode encoding into CInodeStore
John Spray [Fri, 2 May 2014 15:09:29 +0000 (16:09 +0100)]
mds: Refactor CINode encoding into CInodeStore

CInode itself combined the on-disk format and
encode/decode logic with lots of other complex
behaviours.  This separates the simple parts
out so that they can be used by other tools that
are interested in looking at inodes outside of
a running MDS.

There is a small overhead because CInodeStore
can't decode a SnapRealm inline, so it keeps
a temporary copy of the encoded bufferlist.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Add get_metablob to LogEvent
John Spray [Tue, 25 Mar 2014 13:31:03 +0000 (13:31 +0000)]
mds: Add get_metablob to LogEvent

Previously the only way to get at the payload
of things like EUpdate and EOpen was to replay() them
(required a full running MDS) or to use downcasting
(yuck).

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Add ENoOp for padding journals
John Spray [Tue, 25 Mar 2014 13:30:59 +0000 (13:30 +0000)]
mds: Add ENoOp for padding journals

This allows us to implement journal splicing
without moving blocks around, and without modifying
the outer journal syntax.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Add get_paths method to EMetaBlob
John Spray [Tue, 25 Mar 2014 13:30:53 +0000 (13:30 +0000)]
mds: Add get_paths method to EMetaBlob

Used by cephfs-journal-tool to filter events
by path fragment.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoosdc: Revise Journaler format
John Spray [Tue, 25 Mar 2014 13:30:50 +0000 (13:30 +0000)]
osdc: Revise Journaler format

* Separate journal encoding/envelope format
  code (JournalStream) from I/O code (Journaler)
* Add new sentinel and start_ptr fields to
  prefix and suffix of log events.
* Add journal encoding version to journal header

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Fix typo 'Sesion'
John Spray [Tue, 25 Mar 2014 13:30:47 +0000 (13:30 +0000)]
mds: Fix typo 'Sesion'

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoobjecter: Don't warn on multiple admin sockets
John Spray [Tue, 29 Apr 2014 11:18:09 +0000 (12:18 +0100)]
objecter: Don't warn on multiple admin sockets

Suppress messages about failure to register admin sockets
if they are EEXIST, because this is a case that can occur
naturally if multiple objecter/librados clients are instantiated
within the same process.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agocommon: Add write_stream(ostream) to bufferlist
John Spray [Tue, 25 Mar 2014 13:30:31 +0000 (13:30 +0000)]
common: Add write_stream(ostream) to bufferlist

Enable C++ style file I/O when writing binary output
from bufferlists.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agomds: Add LogEvent::get_type_str()
John Spray [Tue, 25 Mar 2014 13:29:11 +0000 (13:29 +0000)]
mds: Add LogEvent::get_type_str()

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoMerge pull request #1821 from ceph/mds-optracker-fixes
Yan, Zheng [Sun, 18 May 2014 05:42:51 +0000 (13:42 +0800)]
Merge pull request #1821 from ceph/mds-optracker-fixes

mds: fix Server::submit_mdlog_entry()

11 years agomds: fix Server::submit_mdlog_entry() 1821/head
Yan, Zheng [Sun, 18 May 2014 05:38:19 +0000 (13:38 +0800)]
mds: fix Server::submit_mdlog_entry()

mdr can be NULL when rolling back slave update

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoMerge pull request #1809 from ceph/wip-4354-mds-optracker
Gregory Farnum [Fri, 16 May 2014 22:17:00 +0000 (15:17 -0700)]
Merge pull request #1809 from ceph/wip-4354-mds-optracker

MDS OpTracker

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMDS: add admin socket cleanup on shutdown 1809/head
Greg Farnum [Fri, 16 May 2014 22:15:55 +0000 (15:15 -0700)]
MDS: add admin socket cleanup on shutdown

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1817 from ceph/wip-osdmon-pa-wait
Ilya Dryomov [Fri, 16 May 2014 16:37:05 +0000 (20:37 +0400)]
Merge pull request #1817 from ceph/wip-osdmon-pa-wait

OSDMonitor: set next commit in mon primary-affinity reply

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoOSDMonitor: set next commit in mon primary-affinity reply 1817/head
Ilya Dryomov [Fri, 16 May 2014 15:03:13 +0000 (19:03 +0400)]
OSDMonitor: set next commit in mon primary-affinity reply

Commit 8c5c55c8b47e ("mon: set next commit in mon command replies")
fixed MMonCommand replies to include the right version, but the
primary-affinity handler was authored before that.  Fix it.

Backport: firefly
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoMerge pull request #1816 from onlyjob/docs
Gregory Farnum [Fri, 16 May 2014 14:08:53 +0000 (07:08 -0700)]
Merge pull request #1816 from onlyjob/docs

sample.ceph.conf: minor update

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agosample.ceph.conf: minor update 1816/head
Dmitry Smirnov [Fri, 16 May 2014 10:26:38 +0000 (20:26 +1000)]
sample.ceph.conf: minor update

 * Moved filestore settings above [osd.*] declarations otherwise
   (if uncommented) those settings might be applied only to last
   OSD which is not very obvious.
 * Few options added.

11 years agoworkunits: provide some output in the dirfrag.sh test
Greg Farnum [Wed, 14 May 2014 21:20:19 +0000 (14:20 -0700)]
workunits: provide some output in the dirfrag.sh test

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1803 from onlyjob/java-gcj
Gregory Farnum [Wed, 14 May 2014 20:24:20 +0000 (13:24 -0700)]
Merge pull request #1803 from onlyjob/java-gcj

Java GCJ fixes

Reviewed-by: Greg Farnum <greg@inktank.com>
Acked-by: Noah Watkins <noahwatkins@gmail.com>
11 years agoMerge pull request #1806 from ceph/wip-8011
Samuel Just [Wed, 14 May 2014 19:12:44 +0000 (12:12 -0700)]
Merge pull request #1806 from ceph/wip-8011

ReplicatedPG: block scrub on blocked object contexts

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agodoc: Clarified Debian uses sysvinit.
John Wilkins [Wed, 14 May 2014 07:23:22 +0000 (00:23 -0700)]
doc: Clarified Debian uses sysvinit.

Fixes: #7182
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Added rgw print continue guidance.
John Wilkins [Wed, 14 May 2014 07:14:30 +0000 (00:14 -0700)]
doc: Added rgw print continue guidance.

Fixes: #7731
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Minor edit.
John Wilkins [Wed, 14 May 2014 07:13:41 +0000 (00:13 -0700)]
doc: Minor edit.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Added clarifying text to CRUSH add command.
John Wilkins [Wed, 14 May 2014 07:02:09 +0000 (00:02 -0700)]
doc: Added clarifying text to CRUSH add command.

Fixes: #8322
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Omitted glance_api_version=2 to fix creating images from volumes.
John Wilkins [Wed, 14 May 2014 06:20:36 +0000 (23:20 -0700)]
doc: Omitted glance_api_version=2 to fix creating images from volumes.

Fixes: #8347
11 years agodoc: Changed example to use virtio and put key usage into one line.
John Wilkins [Wed, 14 May 2014 06:18:50 +0000 (23:18 -0700)]
doc: Changed example to use virtio and put key usage into one line.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoMerge pull request #1802 from ceph/wip-mds-misc
Sage Weil [Wed, 14 May 2014 01:46:12 +0000 (18:46 -0700)]
Merge pull request #1802 from ceph/wip-mds-misc

Wip mds misc

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1810 from ceph/wip-fedora
Sage Weil [Wed, 14 May 2014 01:11:11 +0000 (18:11 -0700)]
Merge pull request #1810 from ceph/wip-fedora

doc: update instructions for RPM distros

11 years agoImprove Bash completion for various tools
Wido den Hollander [Tue, 13 May 2014 21:48:25 +0000 (23:48 +0200)]
Improve Bash completion for various tools

11 years agotest: fix some templates to match new output code
Greg Farnum [Tue, 13 May 2014 20:15:28 +0000 (13:15 -0700)]
test: fix some templates to match new output code

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agodoc: update instructions for RPM distros 1810/head
John Spray [Tue, 13 May 2014 16:32:03 +0000 (17:32 +0100)]
doc: update instructions for RPM distros

Fix RPM building instructions: this has been broken since
libs3 was included inline in the ceph repo as a submodule.
"rpmbuild -tb" was concatenating the ceph.spec and
libs3.spec files, resulting in something that didn't work.

Also, the instructions suggested downloading a .tar.gz file
whereas the specfile requires a .tar.bz2 file.

Also, add a convenient yum command line for getting the compile
dependencies on Fedora 20.

Signed-off-by: John Spray <john.spray@inktank.com>
11 years agoMerge remote-tracking branch 'origin/master' into wip-4354-mds-optracker
Greg Farnum [Tue, 13 May 2014 17:54:12 +0000 (10:54 -0700)]
Merge remote-tracking branch 'origin/master' into wip-4354-mds-optracker

Conflicts:
src/mds/Locker.cc
src/osd/OpRequest.cc
src/osd/OpRequest.h

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agomds: lower IO priority of storing backtrace 1802/head
Yan, Zheng [Tue, 13 May 2014 05:50:47 +0000 (13:50 +0800)]
mds: lower IO priority of storing backtrace

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoMerge pull request #1771 from ceph/wip-5021
Gregory Farnum [Tue, 13 May 2014 04:39:53 +0000 (21:39 -0700)]
Merge pull request #1771 from ceph/wip-5021

Wip 5021

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #1807 from ceph/wip-mds-flock
Yan, Zheng [Tue, 13 May 2014 01:31:00 +0000 (09:31 +0800)]
Merge pull request #1807 from ceph/wip-mds-flock

mds: reduce verbosity of handle_client_file_{readlock,setlock}

11 years agomds: reduce verbosity of handle_client_file_{readlock,setlock} 1807/head
Yan, Zheng [Tue, 13 May 2014 01:28:40 +0000 (09:28 +0800)]
mds: reduce verbosity of handle_client_file_{readlock,setlock}

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: add a Server::submit_mdlog_entry() to provide event marking
Greg Farnum [Mon, 12 May 2014 20:12:47 +0000 (13:12 -0700)]
mds: add a Server::submit_mdlog_entry() to provide event marking

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoReplicatedPG: block scrub on blocked object contexts 1805/head 1806/head
Samuel Just [Tue, 6 May 2014 18:50:14 +0000 (11:50 -0700)]
ReplicatedPG: block scrub on blocked object contexts

Fixes: #8011
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1779 from ceph/wip-7553
Samuel Just [Mon, 12 May 2014 22:29:39 +0000 (15:29 -0700)]
Merge pull request #1779 from ceph/wip-7553

Wip 7553

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoLocker: mark_event in acquire_locks() when blocking or succeeding
Greg Farnum [Fri, 9 May 2014 23:56:47 +0000 (16:56 -0700)]
Locker: mark_event in acquire_locks() when blocking or succeeding

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoServer: mark events when journaling and replying
Greg Farnum [Fri, 9 May 2014 23:30:27 +0000 (16:30 -0700)]
Server: mark events when journaling and replying

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMDCache: mark ops at various finish points
Greg Farnum [Fri, 9 May 2014 23:29:58 +0000 (16:29 -0700)]
MDCache: mark ops at various finish points

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMDS: add an OpTracker and use it
Greg Farnum [Fri, 9 May 2014 22:30:37 +0000 (15:30 -0700)]
MDS: add an OpTracker and use it

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMutation: add an MDRequestParams struct and use that when building MDRequests
Greg Farnum [Mon, 12 May 2014 21:41:20 +0000 (14:41 -0700)]
Mutation: add an MDRequestParams struct and use that when building MDRequests

We now have a single constructor and one path to build MDRequests with.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMDS: add stubs for an AdminSocketHook
Greg Farnum [Thu, 8 May 2014 19:13:58 +0000 (12:13 -0700)]
MDS: add stubs for an AdminSocketHook

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMDCache: pass the causative message to request_start_slave()
Greg Farnum [Fri, 14 Mar 2014 00:04:17 +0000 (17:04 -0700)]
MDCache: pass the causative message to request_start_slave()

We were passing the causative MDS (as an int), but pushing down the
actual Message will help us as we set up an OpTracker.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agomds: remove a couple leftover declarations of MDRequest
Greg Farnum [Tue, 6 May 2014 23:32:47 +0000 (16:32 -0700)]
mds: remove a couple leftover declarations of MDRequest

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agodoc/release-notes: v0.80.1
Sage Weil [Mon, 12 May 2014 21:25:42 +0000 (14:25 -0700)]
doc/release-notes: v0.80.1

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1799 from ceph/wip-8305
Sage Weil [Mon, 12 May 2014 20:33:27 +0000 (13:33 -0700)]
Merge pull request #1799 from ceph/wip-8305

osd: fix op ordering with pool overlay set/removed

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agodoc: Improvements to qemu installation.
John Wilkins [Mon, 12 May 2014 20:20:14 +0000 (13:20 -0700)]
doc: Improvements to qemu installation.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Added note on Default requiretty for CentOS and others.
John Wilkins [Mon, 12 May 2014 18:33:57 +0000 (11:33 -0700)]
doc: Added note on Default requiretty for CentOS and others.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoMerge pull request #1801 from ceph/wip-update-gitignore
Sage Weil [Mon, 12 May 2014 13:10:22 +0000 (06:10 -0700)]
Merge pull request #1801 from ceph/wip-update-gitignore

Update gitignore entries for master

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1800 from ceph/wip-da-SCA-20140510
Sage Weil [Mon, 12 May 2014 12:51:45 +0000 (05:51 -0700)]
Merge pull request #1800 from ceph/wip-da-SCA-20140510

fixes from SCA

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoprioritise use of `javac` executable (gcj provides it through alternatives). 1803/head
Dmitry Smirnov [Mon, 12 May 2014 04:08:44 +0000 (14:08 +1000)]
prioritise use of `javac` executable (gcj provides it through alternatives).

 On Debian this fixes FTBFS when gcj-jdk and openjdk-7-jdk are installed at
 the same time because build system will use default `javac` executable
 provided by current JDK through `update-alternatives` instead of blindly
 calling GCJ when it is present.

Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
11 years agopass '-classpath' option (gcj/javah ignores CLASSPATH environment variable).
Dmitry Smirnov [Mon, 12 May 2014 04:02:53 +0000 (14:02 +1000)]
pass '-classpath' option (gcj/javah ignores CLASSPATH environment variable).

 This should not affect OpenJDK which understands '-classpath' as well.

 With gcj-jdk we still get FTBFS later:

 ~~~~
    java/native/libcephfs_jni.cc:2878:55: error: invalid conversion from 'const jbyte* {aka const signed char*}' to 'jbyte* {aka signed char*}' [-fpermissive]
                 reinterpret_cast<const jbyte*>(rawAddress));
                                                           ^
    In file included from java/native/libcephfs_jni.cc:27:0:
    /usr/lib/gcc/x86_64-linux-gnu/4.8/include/jni.h:1471:8: error:   initializing argument 4 of 'void _Jv_JNIEnv::SetByteArrayRegion(jbyteArray, jsize, jsize, jbyte*)' [-fpermissive]
       void SetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3)
            ^
    make[5] *** [java/native/libcephfs_jni_la-libcephfs_jni.lo] Error 1
 ~~~~

Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
11 years agolook for "jni.h" in gcj-jdk path, needed to find "jni.h" with gcj-jdk_4.9.0
Dmitry Smirnov [Mon, 12 May 2014 03:57:20 +0000 (13:57 +1000)]
look for "jni.h" in gcj-jdk path, needed to find "jni.h" with gcj-jdk_4.9.0

Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
11 years agomds: deny reconnect for closed session
Yan, Zheng [Mon, 12 May 2014 03:26:20 +0000 (11:26 +0800)]
mds: deny reconnect for closed session

The client that tries reconnect may have dirty caps and unsafe requests.
Allowing the reconnect attempt may compromise consistency.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: revert EMetaBlob::{fullbit,remotebit,nullbit} encoding optimization
Yan, Zheng [Sun, 11 May 2014 01:53:44 +0000 (09:53 +0800)]
mds: revert EMetaBlob::{fullbit,remotebit,nullbit} encoding optimization

Revert commit 40d56a97 (mds: optimize EMetaBlob::fullbit, remotebit,
nullbit encoding). This optimization creates small segments in the
result bufferlist of encoding EMetaBlob. Perf shows lots of CPU time
are used for allocating list node for bufferlist.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: properly clear new flag for stale client cap
Yan, Zheng [Mon, 12 May 2014 02:24:51 +0000 (10:24 +0800)]
mds: properly clear new flag for stale client cap

CInode::encode_inodestat() should clear the 'new' flag of client
cap even when session is stale, because the 'new' flag prevents
Locker::issue_caps() from sending cap message to client.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: propagate inode rstat if it has never been propagated
Yan, Zheng [Sun, 11 May 2014 05:28:51 +0000 (13:28 +0800)]
mds: propagate inode rstat if it has never been propagated

Otherwise the 'last_dirstat_prop' of directory inode keeps in 'never'
state.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: avoid journaling unnecessary dir context
Yan, Zheng [Sun, 11 May 2014 05:32:46 +0000 (13:32 +0800)]
mds: avoid journaling unnecessary dir context

If base inode is reached, try clearing the 'maybe' list, then stop.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: cleanup usage of MDCache::predirty_journal_parent()
Yan, Zheng [Sun, 11 May 2014 04:20:48 +0000 (12:20 +0800)]
mds: cleanup usage of MDCache::predirty_journal_parent()

The sixth parameter of MDCache::predirty_journal_parent() is 'int'
with default value 0.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>