Objecter: resend linger ops on any interval change

Watch/notify ops need to be resent after a pg split occurs, as well as
a few other circumstances that the existing objecter checks did not
catch.

Refactor the check the OSD uses for this to add a version taking the
more basic types instead of the whole OSD map, and stash the needed
info when an op is sent.

Fixes: #9806
Backport: giant, firefly, dumpling
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
common/Timer: kill RWTimer

This doesn't work the way we hoped it would, and as of
8253ead1748fc429bf48f5334ee4460ee865d941.  Remove it.

Signed-off-by: Sage Weil <sage@redhat.com>
init-ceph: make ./init-ceph behave from src dir on systemd

Signed-off-by: Sage Weil <sage@redhat.com>
client: fix I_COMPLETE_ORDERED checking

Current code marks a directory inode as complete and ordered when readdir
finishes, but it does not check if the directory was modified in the middle
of readdir. This is wrong, directory inode should not be marked as ordered
if it was modified during readddir

The fix is introduce a new counter to the inode data struct, we increase
the counter each time the directory is modified. When readdir finishes, we
check the counter to decide if the directory should be marked as ordered.

Fixes: #9894
Signed-off-by: Yan, Zheng <zyan@redhat.com>
  Fix the match error when starting OSD daemons.
  If we have osd.7 and osd.77 on the same host, osd.7 will not be mounted if
  osd.77 is mounted.
  Signed-off-by: huangjun <hjwsm1989@gmail.com>
Merge pull request #2818 from hjwsm1989/master

  Fix the match error when starting OSD daemons.

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
client: allow xattr caps in inject_release_failure

Because some test environments generate spurious
rmxattr operations, allow the client to release
'X' caps.  Allows xattr operations to proceed
while still preventing client releasing other caps.

Fixes: #9800
Signed-off-by: John Spray <john.spray@redhat.com>
Merge pull request #2809 from ceph/wip-9800

client: allow xattr caps in inject_release_failure

Reviewed-by: Greg Farnum <greg@inktank.com>
Merge remote-tracking branch 'origin/wip-9806-giant' into giant

Reviewed-by: Samuel Just <sam.just@inktank.com>
Merge remote-tracking branch 'origin/giant'
qa: avoid qa/workunits/cephtool/test.sh unstability

For testing injectargs a configuration option was changed that has side
effects on the cluster. It could introduce random failures later. It is
replaced with a configuration option that cannot have adverse side
effects on the cluster.

http://tracker.ceph.com/issues/9919 Fixes: #9919

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
Merge pull request #2823 from dachary/wip-9919-injectargs-side-effects

qa: avoid qa/workunits/cephtool/test.sh unstability

Backport: giant, firefly
Reviewed-by: Sage Weil <sage@redhat.com>
osd: tiering: calculate object age during eviction when there is no hit
set

Signed-off-by: Zhiqiang Wang <zhiqiang.wang@intel.com>
rbd: Fix the rbd export when image size more than 2G

When using export <image-name> <path> and the size of image is more
than 2G, the previous version about finish() could not handle in
seeking the offset in image and return error.

This is caused by the incorrect variable type. Try to use the correct
variable type to fixed it.

I use another variable which type is uint64_t for confirming seeking
and still use the previous r for return error.

uint64_t is more better than type int for handle lseek64().

Signed-off-by: Vicente Cheng <freeze.bilsted@gmail.com>
tests: fix signed/unsigned warning

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
Get the currently atime of the object in cache pool for eviction

Because if there are mutiple atime in agent_state for the same object, we should use the recently one.

Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
doc: include 'fs new' stuff in cephfs quickstart

Not sure how 'quick' this really is now compared with
the full filesystem instructions, but let's not leave
it incomplete.

Signed-off-by: John Spray <john.spray@redhat.com>
client: allow xattr caps in inject_release_failure

Because some test environments generate spurious
rmxattr operations, allow the client to release
'X' caps.  Allows xattr operations to proceed
while still preventing client releasing other caps.

Fixes: #9800
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit 5691c68a0a44eb2cdf0afb3f39a540f5d42a5c0c)
AsyncMessenger: Add kqueue support

AsyncMessenger will select event driver following epoll, kqueue and
select(now not exists) sequence

Fix #9926
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
0.87