Includes new test case
Caused by: 5f58301a13
This changed attr consistency checking to exclude system keys,
which required snapset to be handled just like object info.
Fixes: http://tracker.ceph.com/issues/22996
Signed-off-by: David Zafman <dzafman@redhat.com>
The `ceph_clock_now()` is a widely spread but thin routine.
All it does is wrap `clock_gettime` or `gettimeofday` with
accompanying conversion to `utime_t`.
Unfortunately, as it is defined outside of header, compilers
are enforced to generate a full-blown function. The overhead
is related not only the well visible stack smashing protection
but also to enforcing callers to go through PLT each time.
Taking into account the time getters are usually *user-space
syscalls* (leveraging e.g. the VDSO mechanism), eradicating
even small boilerplate might be beneficial.
```
0000000000000000 <ceph_clock_now()>:
0: 48 83 ec 28 sub $0x28,%rsp
4: 31 ff xor %edi,%edi
6: 48 89 e6 mov %rsp,%rsi
9: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
10: 00 00
12: 48 89 44 24 18 mov %rax,0x18(%rsp)
17: 31 c0 xor %eax,%eax
19: e8 00 00 00 00 callq 1e <ceph_clock_now()+0x1e>
1e: 8b 44 24 08 mov 0x8(%rsp),%eax
22: 48 c1 e0 20 shl $0x20,%rax
26: 48 89 c2 mov %rax,%rdx
29: 8b 04 24 mov (%rsp),%eax
2c: 48 09 d0 or %rdx,%rax
2f: 48 8b 4c 24 18 mov 0x18(%rsp),%rcx
34: 64 48 33 0c 25 28 00 xor %fs:0x28,%rcx
3b: 00 00
3d: 75 05 jne 44 <ceph_clock_now()+0x44>
3f: 48 83 c4 28 add $0x28,%rsp
43: c3 retq
44: e8 00 00 00 00 callq 49 <SubProcess::spawn()::__PRETTY_FUNCTION__+0x9>
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
rgw: silence not allow register storage class specifier warning
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Kefu Chai <kchai@redhat.com>
* we should update the _size field when demotion kicks in, otherwise the
interval_set::m and interval_set::_size won't be consistent.
* also rename post_process to claim, as it "steals" the leftover(s) of
chopped segment.
Signed-off-by: Kefu Chai <kchai@redhat.com>
If you zap an lv, device or partition and it's currently mounted as a
ceph osd directory then it will be unmounted so the zap can complete.
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
* refs/pull/19263/head:
qa: ignore bad backtrace cluster wrn
qa/cephfs: Add tests to validate scrub functionality
cephfs: Add option to load invalid metadata from disk
cephfs: Reset scrub data when inodes move
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
To check a mounted device it is needed to verify on a combination of
realpath and plain devices against realpath and plain paths. In LVM, two
different paths might refer to the same devices
Signed-off-by: Alfredo Deza <adeza@redhat.com>
* refs/pull/19957/head:
client: fixup parallel calls to ceph_ll_lookup_inode() in NFS FASL
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
* refs/pull/20373/head:
client: clamp I/O sizes to INT_MAX when we can't return larger values
test: new testcase for ceph_ll_readv and ceph_ll_writev
client: hook up ceph_ll_readv and ceph_ll_writev
client: type safety cleanup for _read and _write codepaths
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>