mon/OSDMonitor: make busy creating pgs message more explicit

Fixes: #6287
Signed-off-by: Sage Weil <sage@inktank.com>
osdc/ObjectCacher: finish contexts after dropping object reference

The context to finish can be class C_Client_PutInode, which may drop
inode's last reference. So we should first drop object's reference,
then finish contexts.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mon: fix inverted test in osd pool create

When using the properties key=value only, the test was inverted
and an attempt to obtain a substring at index string::npos throws
an exception.

Add variations of osd pool create to qa/workunits/mon/pool_ops.sh
to assert the problem has been fixed and all code paths are used.

http://tracker.ceph.com/issues/6357 fixes #6357

Signed-off-by: Loic Dachary <loic@dachary.org>
Merge pull request #590 from ceph/wip-6284

osdc/ObjectCacher: finish contexts after dropping object reference

Tested: ubuntu@teuthology:/a/sage-2013-09-19_19:40:56-fs-wip-6284-testing-basic-plana
Reviewed-by: Sage Weil <sage@inktank.com>
FileStore: only remove the omap entries if nlink == 1

Fixes: #6359
Introduced in 17c5d765d7c7573f875f6b3ba66e3b6813110a06
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
note that ceph-deploy should not be called with sudo on certain situations

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
Merge pull request #613 from ceph/wip-6356

note that ceph-deploy should not be called with sudo on certain situations
Merge pull request #608 from dachary/wip-6357

mon: fix inverted test in osd pool create

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Merge pull request #592 from ceph/wip-6287

mon/OSDMonitor: make busy creating pgs message more explicit

Reviewed-by: Dan Mick <dan.mick@inktank.com>
ErasureCode: wrap lines to 80 characters

Signed-off-by: Loic Dachary <loic@dachary.org>
ErasureCode: get rid of extra copy when encoding

The encoding function is imposed extra constraints with the benefit of
getting rid of an extra copy. It will help establish a baseline for
benchmarking.

The constraints imposed ( a single bufferptr with enough unused trailing
space to accomodate for both padding and coding chunks ) are probably
inconvenient when used by the placement group and will need to be
relaxed. The alternative approach would be to code a fully generic way
of dealing with any kind of bufferlist fragmentation while minimizing
the copy operations.

At this stage it would be both overengineering and early
optimization. Overengineering because it's likely that the bufferlist
will have properties that will not require a function that can address
all possible cases ( all bufferptr have the same size, for instance
). And early optimization because the layout of the bufferlist for which
copy is to be reduced is not yet known and it is likely that a generic
optimization will not perform as well as one that is implemented later
on, when the placement group actually calls the encode function.

Signed-off-by: Loic Dachary <loic@dachary.org>