]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoosd: Update object state after removing watch from object info 3694/head
David Zafman [Wed, 11 Feb 2015 04:25:05 +0000 (20:25 -0800)]
osd: Update object state after removing watch from object info

Fixes: #10784
Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoosd: Simplify handle_watch_timeout() using existing support functions
David Zafman [Wed, 11 Feb 2015 04:24:22 +0000 (20:24 -0800)]
osd: Simplify handle_watch_timeout() using existing support functions

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agorgw: Swift API. The second way of specifying desirable response format.
Dmytro Iurchenko [Mon, 9 Feb 2015 15:07:53 +0000 (17:07 +0200)]
rgw: Swift API. The second way of specifying desirable response format.

OpenStack Object Storage API v1 defines two ways for the client to tell which response format it understands.
Until now RGW looked at query variable 'format' only. This commit implements the second way of setting the format by
providing 'Accept' HTTP-header with the desirable response mime-type.

Backport: hammer
Fixes: #10746
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Dmytro Iurchenko <diurchenko@mirantis.com>
10 years agoMerge pull request #3682 from ceph/wip-10719
Josh Durgin [Tue, 10 Feb 2015 21:36:23 +0000 (13:36 -0800)]
Merge pull request #3682 from ceph/wip-10719

Wip 10719

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3680 from ceph/wip-10827
Sage Weil [Tue, 10 Feb 2015 21:00:26 +0000 (13:00 -0800)]
Merge pull request #3680 from ceph/wip-10827

osdc/Objecter: linger_register now acquires rwlock

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agorgw: remove multipart entries for bucket index when aborting 3682/head
Yehuda Sadeh [Fri, 6 Feb 2015 02:18:23 +0000 (18:18 -0800)]
rgw: remove multipart entries for bucket index when aborting

Fixes #10719

Since we now let the gc clean the aborter multipart uploads, we need to
clear the multipart entries from the bucket index when cleaning up the
meta object.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: encode rgw_obj::orig_obj
Yehuda Sadeh [Tue, 10 Feb 2015 02:16:13 +0000 (18:16 -0800)]
rgw: encode rgw_obj::orig_obj

We weren't encoding orig_obj, however, it's now needed so that we can
call get_index_key() on decoded objects. Only encode/decode it if ns or
instance are not empty.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3672 from ceph/wip-old-gcc
Sage Weil [Tue, 10 Feb 2015 20:38:45 +0000 (12:38 -0800)]
Merge pull request #3672 from ceph/wip-old-gcc

fix build and warnings on older gcc

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
10 years agoMerge branch 'wip-diurchenko-master' into hammer
Yehuda Sadeh [Tue, 10 Feb 2015 17:44:08 +0000 (09:44 -0800)]
Merge branch 'wip-diurchenko-master' into hammer

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: Swift API. Support for X-Remove-Container-Meta-{key} header.
Dmytro Iurchenko [Tue, 3 Feb 2015 15:54:38 +0000 (17:54 +0200)]
rgw: Swift API. Support for X-Remove-Container-Meta-{key} header.

Fixes: #10475
Backport: hammer, firefly
Reported-by: Josh Durgin <jdurgin@redhat.com>
Signed-off-by: Dmytro Iurchenko <diurchenko@mirantis.com>
10 years agorgw: fix doc, A typo in command line argument name
Dmytro Iurchenko [Mon, 2 Feb 2015 10:52:44 +0000 (12:52 +0200)]
rgw: fix doc, A typo in command line argument name

Signed-off-by: Dmytro Iurchenko <diurchenko@mirantis.com>
10 years agorgw: Swift API. Dump container's custom metadata.
Dmytro Iurchenko [Mon, 2 Feb 2015 09:27:00 +0000 (11:27 +0200)]
rgw: Swift API. Dump container's custom metadata.

Fixes: #10665
Backport: hammer, firefly
Reported-by: Ahmad Faheem <ahmad.faheem@ril.com>
Signed-off-by: Dmytro Iurchenko <diurchenko@mirantis.com>
10 years agolocally disable pragma warnings on gcc < 4.6 3672/head
Josh Durgin [Mon, 9 Feb 2015 23:00:18 +0000 (15:00 -0800)]
locally disable pragma warnings on gcc < 4.6

diagnostic push|pop are not present before 4.6, so each use gives a
warning. Temporarily ignore these by disabling/reenabling -Wpragmas.
Note that this means the other disabled warnings are not scoped on
old gcc. I don't think this is worth fixing, since newer gcc will
respect the scope and show us the warnings outside of it.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
10 years agoPipe: conditionally compile IPTOS setting
Josh Durgin [Mon, 9 Feb 2015 22:55:15 +0000 (14:55 -0800)]
Pipe: conditionally compile IPTOS setting

This doesn't exist on older platforms.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: consolidate all async operation flush logic
Jason Dillaman [Thu, 5 Feb 2015 06:20:00 +0000 (01:20 -0500)]
librbd: consolidate all async operation flush logic

librbd has three different methods for flushing asynchronous
operations. These have all been consolidated down to a single,
shared method to fix an existing issue and simplify maintenance
going forward.

Fixes: #10783
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoxlist: added missing include
Jason Dillaman [Thu, 5 Feb 2015 06:22:38 +0000 (01:22 -0500)]
xlist: added missing include

The xlist header references NULL without including
the header which defines it.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3631 from liewegas/wip-mon-dup-down
Sage Weil [Mon, 9 Feb 2015 06:35:39 +0000 (22:35 -0800)]
Merge pull request #3631 from liewegas/wip-mon-dup-down

mon: fix unnecessary osd mark down

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
10 years agomon: have two COMMAND two COMMAND_WITH_FLAG macros
Sage Weil [Mon, 9 Feb 2015 06:13:29 +0000 (22:13 -0800)]
mon: have two COMMAND two COMMAND_WITH_FLAG macros

This avoids 2 separate calls to define each item and keeps the blame
info intact.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agotests: make ceph_watch_wait output watchfile content on failure
Mykola Golub [Wed, 28 Jan 2015 12:43:32 +0000 (14:43 +0200)]
tests: make ceph_watch_wait output watchfile content on failure

It should help in troubleshooting remote test failures.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
10 years agomon: noforward flag for commands that are not supposed to be forwarded
Mykola Golub [Wed, 21 Jan 2015 13:47:25 +0000 (15:47 +0200)]
mon: noforward flag for commands that are not supposed to be forwarded

For not a monitor leader, if a received command is not supported
locally, but is supported by the leader, it is forwarded to the
leader.

For some commands that may have undesirable behaviour. E.g. for the
recently added "ceph tell mon.x version", if the mon.x is not a leader
and does not support "version" command yet, but the leader does, the
user will receive the version of the leader, and can't be actually
sure about a non leader version.

Fix this by adding noforward flag to commands that are not supposed to
be forwarded. Set the flag for "version" command. Although there are
other non-forwardable commands (like injectargs) it is not necessary
to add the flag to them, as the commands are too old to suffer from
the describe problem.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
10 years agomon: fix Monitor::_get_moncommand()
Mykola Golub [Wed, 28 Jan 2015 08:45:59 +0000 (10:45 +0200)]
mon: fix Monitor::_get_moncommand()

It should match command prefix, not any substring.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
10 years agoMerge branch 'wip-mshec-r44' of git://github.com/t-miyamae/ceph into hammer
Sage Weil [Mon, 9 Feb 2015 05:57:14 +0000 (21:57 -0800)]
Merge branch 'wip-mshec-r44' of git://github.com/t-miyamae/ceph into hammer

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3667 from ceph/wip-doc-ports
Sage Weil [Sun, 8 Feb 2015 15:53:56 +0000 (07:53 -0800)]
Merge pull request #3667 from ceph/wip-doc-ports

doc: updates for port ranges

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agodoc: remind user to calculate the correct max port 3667/head
John Spray [Sun, 8 Feb 2015 14:47:04 +0000 (15:47 +0100)]
doc: remind user to calculate the correct max port

This was kind of easy to miss, and if users
just paste in the command as given then their
first few OSDs will work, and from their
4th OSD onwards things will get weird.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agodoc: fix "7810" port typo
John Spray [Sun, 8 Feb 2015 14:38:14 +0000 (15:38 +0100)]
doc: fix "7810" port typo

The correct value is now 7300, used to be
7100, was never 7810.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agodoc: correct default of ms_bind_port_max
John Spray [Sun, 8 Feb 2015 14:31:26 +0000 (15:31 +0100)]
doc: correct default of ms_bind_port_max

It's 7300 in the code, whereas these docs
had it as 7100.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #3665 from yuyuyu101/wip-fix-qa
Sage Weil [Sun, 8 Feb 2015 10:21:33 +0000 (02:21 -0800)]
Merge pull request #3665 from yuyuyu101/wip-fix-qa

AsyncConnection: Fix several bugs from qa test

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoAsyncConnection: fix incorrect condition for exchanging in_seq 3665/head
Haomai Wang [Sun, 8 Feb 2015 07:47:39 +0000 (15:47 +0800)]
AsyncConnection: fix incorrect condition for exchanging in_seq

Originally we use "in_seq==0" to judge whether need to exchange in_seq,
it's wrong when peer side already receive message and need to reply new
in_seq to this side.

Now use "is_reset_from_peer" to indicate whether not need to exchange

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoMerge pull request #3660 from SUSE/wip-fix-suse-tests
Loic Dachary [Sat, 7 Feb 2015 21:53:06 +0000 (22:53 +0100)]
Merge pull request #3660 from SUSE/wip-fix-suse-tests

Handle differently-named xmlstarlet binary for *suse

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoHandle differently-named xmlstarlet binary for *suse 3660/head
Thorsten Behrens [Sat, 7 Feb 2015 00:24:29 +0000 (01:24 +0100)]
Handle differently-named xmlstarlet binary for *suse

Seems *SUSE sticks to the upstream binary name of 'xml'
for the xmlstarlet package.

Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
10 years agoMerge pull request #3657 from ceph/wip-10782
Josh Durgin [Sat, 7 Feb 2015 04:04:31 +0000 (20:04 -0800)]
Merge pull request #3657 from ceph/wip-10782

pybind: fixed runtime errors with librbdpy

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3627 from tchaikov/check_output-on-centos6
Loic Dachary [Fri, 6 Feb 2015 18:16:48 +0000 (19:16 +0100)]
Merge pull request #3627 from tchaikov/check_output-on-centos6

ceph_objectstore_tool: fix check_output on python2.6

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoceph_objectstore_tool: fix check_output on python2.6 3627/head
Kefu Chai [Thu, 5 Feb 2015 08:33:08 +0000 (16:33 +0800)]
ceph_objectstore_tool: fix check_output on python2.6

* backported the subprocess.check_output from python2.7

Fixes: #10756
Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #3652 from dachary/wip-mailmap
Sage Weil [Fri, 6 Feb 2015 13:33:55 +0000 (05:33 -0800)]
Merge pull request #3652 from dachary/wip-mailmap

mailmap: UMD is University of Maryland

10 years agoMerge pull request #3131 from mslovy/fix_init_filejournal_throttle
Sage Weil [Fri, 6 Feb 2015 13:30:28 +0000 (05:30 -0800)]
Merge pull request #3131 from mslovy/fix_init_filejournal_throttle

os: FileJournal:: fix, uninitialization of FileJournal throttle

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agomailmap: UMD is University of Maryland 3652/head
Loic Dachary [Fri, 6 Feb 2015 12:05:12 +0000 (13:05 +0100)]
mailmap: UMD is University of Maryland

And not University of Mississippi

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge remote-tracking branch 'gh/hammer'
Sage Weil [Fri, 6 Feb 2015 11:04:09 +0000 (03:04 -0800)]
Merge remote-tracking branch 'gh/hammer'

10 years agoMerge pull request #3468 from ceph/wip-cephfs-snap1
Sage Weil [Fri, 6 Feb 2015 11:02:50 +0000 (03:02 -0800)]
Merge pull request #3468 from ceph/wip-cephfs-snap1

Wip cephfs snap1

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3649 from ceph/wip-opath-setattr
Sage Weil [Fri, 6 Feb 2015 10:31:11 +0000 (02:31 -0800)]
Merge pull request #3649 from ceph/wip-opath-setattr

client: handle O_PATH fds on setattr too

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3633 from sponce/wip-10758
Loic Dachary [Fri, 6 Feb 2015 09:03:31 +0000 (10:03 +0100)]
Merge pull request #3633 from sponce/wip-10758

Fixed issue #10758 : write_full behavior in libradosstriper

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agolibradosstriper: fixed write_full when ENOENT 3633/head
Sebastien Ponce [Thu, 5 Feb 2015 09:46:37 +0000 (10:46 +0100)]
libradosstriper: fixed write_full when ENOENT

Fixes: #10758
write_full was returning ENOENT when the file did not exists, while it should just have created it without complaining.

Signed-off-by: Sebastien Ponce <sebastien.ponce@cern.ch>
10 years agoMerge pull request #3624 from ktdreyer/wip-doc-submitting-patches-branches
Gregory Farnum [Fri, 6 Feb 2015 06:14:22 +0000 (22:14 -0800)]
Merge pull request #3624 from ktdreyer/wip-doc-submitting-patches-branches

SubmittingPatches: clarify the use of branches in PRs

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoclient: handle O_PATH fds on setattr too 3649/head
Greg Farnum [Fri, 6 Feb 2015 05:05:57 +0000 (21:05 -0800)]
client: handle O_PATH fds on setattr too

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #3626 from majianpeng/misc
Josh Durgin [Fri, 6 Feb 2015 04:10:43 +0000 (05:10 +0100)]
Merge pull request #3626 from majianpeng/misc

rbd.py: Add rbd_read2/rbd_write2 funcion which can handle fadvise flags.

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agorgw: obj delete operation can use remove_objs param
Yehuda Sadeh [Fri, 6 Feb 2015 01:26:11 +0000 (17:26 -0800)]
rgw: obj delete operation can use remove_objs param

The remove_objs param is needed to atomically remove multiple entries
from the bucket index, e.g., when cancelling a multipart upload.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorbd.py: Add rbd_read2/rbd_write2 funcion which can handle fadvise flags. 3626/head
Jianpeng Ma [Fri, 6 Feb 2015 01:19:20 +0000 (09:19 +0800)]
rbd.py: Add rbd_read2/rbd_write2 funcion which can handle fadvise flags.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agoMerge pull request #3642 from vuhuong/wip-hammer
Sage Weil [Thu, 5 Feb 2015 19:30:57 +0000 (11:30 -0800)]
Merge pull request #3642 from vuhuong/wip-hammer

Wip xio hammer

Reviewed-by: Matt Benjamin <matt@cohortfs.com>
10 years agoMerge pull request #3639 from ceph/wip-10770
Sage Weil [Thu, 5 Feb 2015 19:22:30 +0000 (11:22 -0800)]
Merge pull request #3639 from ceph/wip-10770

rgw: send appropriate op to cancel bucket index pending operation

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3641 from athanatos/wip-10731
Sage Weil [Thu, 5 Feb 2015 19:13:42 +0000 (11:13 -0800)]
Merge pull request #3641 from athanatos/wip-10731

ReplicatedPG: block writes on degraded objects unless all peers support ...

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agorgw: send appropriate op to cancel bucket index pending operation 3639/head
Yehuda Sadeh [Thu, 5 Feb 2015 17:33:26 +0000 (09:33 -0800)]
rgw: send appropriate op to cancel bucket index pending operation

Fixes: #10770
Backport: firefly, giant

Reported-by: baijiaruo <baijiaruo@126.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3618 from tchaikov/add-norebalance-flag
Samuel Just [Thu, 5 Feb 2015 14:55:58 +0000 (06:55 -0800)]
Merge pull request #3618 from tchaikov/add-norebalance-flag

Add norebalance flag

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agomds: avoid propagrating unnecessary snap rstat to parent 3468/head
Yan, Zheng [Mon, 19 Jan 2015 05:48:38 +0000 (13:48 +0800)]
mds: avoid propagrating unnecessary snap rstat to parent

if parent is not snapshotted, avoid propagrating snap rstat to it

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: update client_need_snapflush when splitting snap inode
Yan, Zheng [Wed, 21 Jan 2015 07:34:24 +0000 (15:34 +0800)]
mds: update client_need_snapflush when splitting snap inode

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: fix rdlock snap inode
Yan, Zheng [Tue, 20 Jan 2015 13:11:08 +0000 (21:11 +0800)]
mds: fix rdlock snap inode

make sure the "sync head inode" code  execute

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: save the oldest snapid of inode
Yan, Zheng [Tue, 20 Jan 2015 12:12:11 +0000 (20:12 +0800)]
mds: save the oldest snapid of inode

When moving a inode to different snapshot realm, we need to check if
the inode is snapshotted. If the inode is snapshotted, we create a
snapshot realm for it. The snapshot realm records inode's past snapshot
realm.

Currently there is no reliable way to check if a inode is snapshotted.
So add a new field to CInode the store the oldest snapid, it's used to
check if inode is snapshotted.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoqa/workunits/snaps: remove snapshots when test finishes
Yan, Zheng [Thu, 15 Jan 2015 07:42:49 +0000 (15:42 +0800)]
qa/workunits/snaps: remove snapshots when test finishes

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: split old_inode when needed
Yan, Zheng [Thu, 15 Jan 2015 07:24:53 +0000 (15:24 +0800)]
mds: split old_inode when needed

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoqa/workunits/snaps: don't assume snapshot is disabled
Yan, Zheng [Wed, 14 Jan 2015 06:31:51 +0000 (14:31 +0800)]
qa/workunits/snaps: don't assume snapshot is disabled

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoceph: don't count snap dentries when calculating new fragstat/neststat
Yan, Zheng [Wed, 14 Jan 2015 06:24:14 +0000 (14:24 +0800)]
ceph: don't count snap dentries when calculating new fragstat/neststat

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: add snaprealm to open_past_parents after it's opened
Yan, Zheng [Wed, 7 Jan 2015 13:22:38 +0000 (21:22 +0800)]
mds: add snaprealm to open_past_parents after it's opened

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: avoid infinite loop of SnapRealm::_open_parents
Yan, Zheng [Wed, 31 Dec 2014 07:25:43 +0000 (15:25 +0800)]
mds: avoid infinite loop of SnapRealm::_open_parents

handle the case that some past parents are missing

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: properly commit snaprealm to dirfrag
Yan, Zheng [Wed, 31 Dec 2014 07:48:49 +0000 (15:48 +0800)]
mds: properly commit snaprealm to dirfrag

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: don't manully create snaprealm during rename
Yan, Zheng [Mon, 29 Dec 2014 08:16:23 +0000 (16:16 +0800)]
mds: don't manully create snaprealm during rename

project_past_snaprealm_parent() will do the same job. Besides
MDCache::_snaprealm_create_finish() is buggy, it updates snaprealm's
current_parent_since incorrectly

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: don't mark dirfrag dirty after dropping stale dentries
Yan, Zheng [Mon, 15 Dec 2014 01:51:52 +0000 (09:51 +0800)]
mds: don't mark dirfrag dirty after dropping stale dentries

now MDS use omap to store dirfrag, and always does partial commit.
marking dirfrag dirty after dropping stale dentries is useless.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoclient: remove snapshot dentry during rmsnap
Yan, Zheng [Sun, 28 Dec 2014 04:08:25 +0000 (12:08 +0800)]
client: remove snapshot dentry during rmsnap

reply of RMSNAP request has no trace, we need to invalidate the
snapshot dentry manually

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoclient: remove snaprealm from parent when closing it
Yan, Zheng [Thu, 25 Dec 2014 12:42:16 +0000 (20:42 +0800)]
client: remove snaprealm from parent when closing it

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoclient: check xattr version independent of inode version
Yan, Zheng [Thu, 18 Dec 2014 03:41:38 +0000 (11:41 +0800)]
client: check xattr version independent of inode version

Fixes: #10343
Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: remove superfluous assertion
Yan, Zheng [Sun, 28 Dec 2014 01:57:38 +0000 (09:57 +0800)]
mds: remove superfluous assertion

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: temporarily disable recovery for snapshotted files
Yan, Zheng [Fri, 26 Dec 2014 07:03:58 +0000 (15:03 +0800)]
mds: temporarily disable recovery for snapshotted files

recovery of snapshots is very inefficient, which requires
NR_SNAPS * NR_OBJECTS operations.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: verify backtrace by auth MDS only
Yan, Zheng [Fri, 26 Dec 2014 03:41:33 +0000 (11:41 +0800)]
mds: verify backtrace by auth MDS only

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: avoid sending snaptrace for snapshot inodes
Yan, Zheng [Tue, 23 Dec 2014 07:09:38 +0000 (15:09 +0800)]
mds: avoid sending snaptrace for snapshot inodes

snapshot information in snaptrace is only used by head inodes

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: optimize SnapRealm::split_at()
Yan, Zheng [Tue, 23 Dec 2014 02:19:13 +0000 (10:19 +0800)]
mds: optimize SnapRealm::split_at()

avoid executing the 'split children' code because all snaprealms in
mdsdir has no child snaprealm.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: fix reference after free
Yan, Zheng [Mon, 22 Dec 2014 02:28:27 +0000 (10:28 +0800)]
mds: fix reference after free

CDir::try_trim_snap_dentry() may free the dentry

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: journal snaprealm for all types of inodes
Yan, Zheng [Fri, 19 Dec 2014 16:12:28 +0000 (00:12 +0800)]
mds: journal snaprealm for all types of inodes

regular file also can has snaprealm.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: always create multiversion inode when cow inode
Yan, Zheng [Fri, 26 Dec 2014 07:03:19 +0000 (15:03 +0800)]
mds: always create multiversion inode when cow inode

When moving a snapshotted regular file to stray directory, we need
to create an snaprealm for it. The snaprealm is required for building
correct snapshot context when purging file objects.

Current code normally create seperate inodes when a snapshotted file
inode is COWed. Each time the file inode is COWed, the head inode's
'first' is updated. So when deleting the file, we can't use head inode's
'first' to check if it was snapshotted.

This commit make MDCache::journal_cow_dentry always create multiversion
inode. multiversion inode's 'first' keeps constant.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: check multiversion inode when purging stray
Yan, Zheng [Fri, 19 Dec 2014 07:29:32 +0000 (15:29 +0800)]
mds: check multiversion inode when purging stray

we can't purge a multiversion directory inode when it is still referenced
by some snapshots. For regular files that are still referenced by some
snapshots, we need to keep the backtrace object.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: properly project past snaprealm parent while renaming files
Yan, Zheng [Fri, 19 Dec 2014 07:30:48 +0000 (15:30 +0800)]
mds: properly project past snaprealm parent while renaming files

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: properly update trace vector when quiting path traverse
Yan, Zheng [Thu, 18 Dec 2014 12:01:50 +0000 (20:01 +0800)]
mds: properly update trace vector when quiting path traverse

rdlock_path_pin_ref() uses the trace vector to setup request reply's
tracedn

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: properly update capability's client_follow
Yan, Zheng [Wed, 17 Dec 2014 06:09:52 +0000 (14:09 +0800)]
mds: properly update capability's client_follow

handle discontinuous snapid(s)

Fixes: #10323
Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: fix CInode::remove_need_snapflush
Yan, Zheng [Wed, 17 Dec 2014 06:06:05 +0000 (14:06 +0800)]
mds: fix CInode::remove_need_snapflush

make sure client and snapid exist, then drop CInode::PIN_NEEDSNAPFLUSH

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: provide correct snaps to purge_stale_snap_data()
Yan, Zheng [Tue, 16 Dec 2014 07:36:04 +0000 (15:36 +0800)]
mds: provide correct snaps to purge_stale_snap_data()

if a directory inode has snaprealm, its parent directory's snapshot
set can be not equal to its snapshot set

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: set last snapid according to removed snaps in data pools
Yan, Zheng [Mon, 15 Dec 2014 07:43:57 +0000 (15:43 +0800)]
mds: set last snapid according to removed snaps in data pools

handle the case that we create cephfs using existing pools and
the existing pools' removed snaps are not empty.

Fixes: #10315
Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: update current_parent_since for newly snapshotted directory
Yan, Zheng [Mon, 15 Dec 2014 03:18:30 +0000 (11:18 +0800)]
mds: update current_parent_since for newly snapshotted directory

current_parent_since should be set to snapshot seq when the directory
was created.

Fixes: 10312
Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: fix MDCache::journal_cow_dentry()
Yan, Zheng [Mon, 15 Dec 2014 01:50:23 +0000 (09:50 +0800)]
mds: fix MDCache::journal_cow_dentry()

Use parent directory's snaprealm to decide if we should cow dentry.
Otherwise we may create orphan dentry when deleting an directory with
snaprealm.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: check snaprealm before drop dentries in deleted directory
Yan, Zheng [Fri, 12 Dec 2014 02:00:53 +0000 (10:00 +0800)]
mds: check snaprealm before drop dentries in deleted directory

There is an optimization that drop dentries in deleted directory,
so that MDS can purge corresponding inode faster. We need to check
if the deleted directory is still referenced by any snapshot. If
it is, we can't drop dentries or skip committing dirfrags to object
store. The simplest method to check if a delted directory is
potentially referenced by snaphosts is checking diri->snaprealm.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agomds: properly update CInode->first during journal replay
Yan, Zheng [Thu, 11 Dec 2014 03:08:59 +0000 (11:08 +0800)]
mds: properly update CInode->first during journal replay

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #3638 from dachary/wip-make-check
Loic Dachary [Thu, 5 Feb 2015 14:24:00 +0000 (15:24 +0100)]
Merge pull request #3638 from dachary/wip-make-check

run-make-check.sh: git --ancestry-path is not backward compatible

Reviewed-by: Dmytro Iurchenko <diurchenko@mirantis.com>
10 years agoosdc/Objecter: linger_register now acquires rwlock 3680/head
Jason Dillaman [Thu, 5 Feb 2015 14:08:46 +0000 (09:08 -0500)]
osdc/Objecter: linger_register now acquires rwlock

Previously linger_register just created a RWLock::Context
which does not result in the lock being acquired.

Fixes: #10827
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoinstall-deps.sh: check for debian/control existence 3638/head
Loic Dachary [Thu, 5 Feb 2015 13:46:41 +0000 (14:46 +0100)]
install-deps.sh: check for debian/control existence

If the debian/control file does not exist the error is cryptic.
Improve the situation by checking before running dpkg-checkbuilddeps.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agorun-make-check.sh: git --ancestry-path is not backward compatible
Loic Dachary [Thu, 5 Feb 2015 13:37:38 +0000 (14:37 +0100)]
run-make-check.sh: git --ancestry-path is not backward compatible

The behavior is different on git 1.8 which is the default on centos7.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3630 from hef87/hef87-patch-1
Loic Dachary [Thu, 5 Feb 2015 12:58:46 +0000 (13:58 +0100)]
Merge pull request #3630 from hef87/hef87-patch-1

Bug fix : AsyncConnection: fix wrong scope of data blocks

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: ignore osd failures from before up_from 3631/head
Sage Weil [Thu, 5 Feb 2015 11:07:50 +0000 (03:07 -0800)]
mon: ignore osd failures from before up_from

If the failure was generated for an instance of the OSD prior to when
it came up, ignore it.

This probably causes a fair bit of unnecessary flapping in the wild...

Backport: giant, firefly
Fixes: #10762
Reported-by: Dan van der Ster <dan@vanderster.com>
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoBug fix : AsyncConnection: fix wrong scope of data blocks 3630/head
Feng He [Thu, 5 Feb 2015 11:01:37 +0000 (19:01 +0800)]
Bug fix : AsyncConnection: fix wrong scope of data blocks

Signed-off-by: Feng He <fenglife@hotmail.com>
10 years agoMerge pull request #3609 from hef87/hef87-patch-1
Sage Weil [Thu, 5 Feb 2015 10:51:32 +0000 (02:51 -0800)]
Merge pull request #3609 from hef87/hef87-patch-1

AsyncConnection: fix wrong scope of data blocks

Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoxio: Squash the whitespaces 3642/head
Vu Pham [Thu, 5 Feb 2015 10:38:26 +0000 (02:38 -0800)]
xio: Squash the whitespaces

Signed-off-by: Vu Pham <vu@mellanox.com>
10 years agoMerge remote-tracking branch 'gh/hammer'
Sage Weil [Thu, 5 Feb 2015 10:18:33 +0000 (02:18 -0800)]
Merge remote-tracking branch 'gh/hammer'

10 years agoMerge remote-tracking branch 'gh/wip-assert-version'
Sage Weil [Thu, 5 Feb 2015 10:18:06 +0000 (02:18 -0800)]
Merge remote-tracking branch 'gh/wip-assert-version'

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3532 from dachary/wip-run-make-check
Sage Weil [Thu, 5 Feb 2015 10:01:44 +0000 (02:01 -0800)]
Merge pull request #3532 from dachary/wip-run-make-check

run-make-check: use nproc and shorter git expression

10 years agoMerge pull request #3611 from kylinstorage/wip-rbd-recover-tool
Josh Durgin [Thu, 5 Feb 2015 10:01:30 +0000 (11:01 +0100)]
Merge pull request #3611 from kylinstorage/wip-rbd-recover-tool

Wip rbd recover tool

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agocmake: Fix CMakeLists.txt to compile librbd
Vu Pham [Thu, 5 Feb 2015 09:43:11 +0000 (01:43 -0800)]
cmake: Fix CMakeLists.txt to compile librbd

Add source files to CMakeLists.txt to compile librbd

Signed-off-by: Vu Pham <vu@mellanox.com>