Commit Graph

68141 Commits

Author SHA1 Message Date
John Spray
20db6c6f54 Merge pull request #12973 from ukernel/wip-18578
mds: fix incorrect assertion in Server::_dir_is_nonempty()

Reviewed-by: John Spray <john.spray@redhat.com>
2017-01-27 17:37:31 +01:00
John Spray
48adc77476 Merge pull request #12825 from stiopaa1/r11124_refuseToDoFsNew
mon/MDSMonitor.cc:refuse fs new on pools with obj

Reviewed-by: John Spray <john.spray@redhat.com>
2017-01-27 17:35:38 +01:00
John Spray
954a26534d Merge pull request #12489 from gregsfortytwo/wip-fix-rename-bounds
client: fix the cross-quota rename boundary check conditions

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-01-27 17:33:41 +01:00
John Spray
f3c7ab7988 Merge pull request #12440 from runsisi/wip-fix-fp-exception
include/fs_types: fix unsigned integer overflow

Reviewed-by: Sage Weil <sage@redhat.com>
2017-01-27 17:32:49 +01:00
Sage Weil
32472a1624 common/TrackedOp: log at level 6
This is above the default log level.  I have yet to encounter a situation
where the optracker output was helpful during a crash, and this saves
a significant amount of cpu time (~2-3% in my test).

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
719c66ef01 common/TrackedOp: some cleanup
Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
e7613bd7e2 common/TrackedOp: manage current in parent class
No reason for child to muck with this!

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
e7186fb29e common/TrackedOp: cache op description
Only calculate it once.  Invalidate from OSD after a full decode (when it
changes).

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
6ecea2165f common/TrackedOp: take option time arg
Fix the callers to use this instead of calling into Tracker directly.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
8af37e0a10 osd/OpRequest: drop useless helpers
No callers!

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
370d53a0c6 common/TrackedOp: use preallocated vector for events
This avoids an allocation per mark_event() call.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
1610c81f3e common/TrackedOp: fix formatter output
Spaces not allowed.  Lowercase by convention.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
670c9059ff common/TrackedOp: add const char* and string variants of event
This avoids the full std::string (copy) for most events.  Wrap it up
into an Event class to hide some of the guts.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:44 -05:00
Sage Weil
4c1cbf7523 common/TrackedOp: drop unneeded _mark_event; pass c string
Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:43 -05:00
Sage Weil
6990fcd1c8 osd: use intrusive list for session op queue
We can avoid these list<> allocations in the fast dispatch path.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:43 -05:00
Sage Weil
92d3e4328e common/TrackedOp: add get() and put()
Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:43 -05:00
Sage Weil
2635c60e96 common/TrackedOp: make TrackedOp an intrusive::list::list_base_hook<>
This lets us put these in efficient lists.  Note that callers must take
care to bump the ref count manually!

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:43 -05:00
Sage Weil
526176275c common/TrackedOp: xlist -> intrusive::list
Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:43 -05:00
Sage Weil
04fed4af90 common/TrackedOp: use explicit ref count, intrusive_ptr
This is more efficient and more explicit than shared_ptr.  It will also
allow us to put these in intrusive lists.

Note that before we used the shared_ptr OnDelete property only for the
live ops and left it off for the history.  Here we rename is_tracked to
state and explicit note whether we are untracked, live, or history.

Also, now that we #include OpRequest in osd_types.h, we have to include
the .cc file (and ~OpRequest definition) in libcommon to avoid a link
error on all the unit tests etc.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:43 -05:00
Sage Weil
888f4b3343 mds/Mutation: make Mutation a TrackedOp
This seems silly now, but is needed in order to switch from shared_ptr to
intrusive_ptr.  The TrackOp is the refcounted thing, and we want to be
able to cast beween MutationRefs and MDRequestRefs, so... we need to make
sure the refcounting is done via a common parent, TrackedOp.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:43 -05:00
Sage Weil
842a336969 messages/MLock: drop unnecessary #include
Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:30:43 -05:00
Sage Weil
73f5d2b73f os/bluestore: only use aio for read if there are >1 blobs
If we have a single blob to read it is not worth the context switch.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:27:04 -05:00
Sage Weil
aca26825dd os/bluestore/BlockDevice: allow sync read to accumulate on bl
Do not clear the target bl; instead, append to it.  This makes our
behavior consistent with aio_read, which does the same.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:27:04 -05:00
Sage Weil
9602a34525 os/bluestore: do read io via aio in parallel
Dispatch all blob reads in parallel via aio.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:27:03 -05:00
Sage Weil
393747a698 os/bluestore/KernelDevice: avoid possible use-after-free for ioc->priv
If aio_wake() triggers destruction, ioc->priv might be a
use-after-free (this is the case for the BlueStore read path).

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:26:16 -05:00
Sage Weil
dbaa2b056e os/bluestore/NVMEDevice: implement aio_read
Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:26:16 -05:00
Sage Weil
4aeaaabb67 os/bluestore/BlockDevice: add aio_read API
NVMEDevice not implemented yet.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-27 10:26:15 -05:00
John Spray
5f67cf97f9 Merge pull request #13088 from jcsp/wip-16397-unpin
qa: unpin knfs from ubuntu

Reviewed-by: Jeff Layton <jlayton@redhat.com>
2017-01-27 15:39:41 +01:00
Nathan Cutler
f19aafe17b tools: ceph-release-notes: ignore low-numbered PRs
Fixes: http://tracker.ceph.com/issues/18695
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-01-27 14:01:35 +01:00
Abhishek Lekshmanan
e3c3f00c55 mailmap: Kapil Sharma affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:24:46 +01:00
Abhishek Lekshmanan
00d239a7ae mailmap: Yuri Weinstein name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
686b770341 mailmap: Sam Zaydel affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
6e65ac217f mailmap: Ivo Jimenez affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
00657e32ea mailmap: Sander Pool affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
9d9e23ca27 mailmap: Gregory Meno name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
104874779f mailmap: Stephon Striplin affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
3489ca4592 mailmap: Chris Lee affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
9fbb5a4639 mailmap: Zack Cerza affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
a8a61e4a34 mailmap: Xianxia Xiao affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
8cfaeabac1 mailmap: Warren Usui name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
bf54060e58 mailmap: Tamil Muthamizhan name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:57 +01:00
Abhishek Lekshmanan
285834f2f9 mailmap: Shylesh Kumar name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:56 +01:00
Abhishek Lekshmanan
26ec5df020 mailmap: Shotaro Kawaguchi name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:56 +01:00
Abhishek Lekshmanan
062fe2ae70 mailmap: Ramakrishnan Periyasamy affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:56 +01:00
Abhishek Lekshmanan
d0b6c22846 mailmap: Orit Wasserman name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:56 +01:00
Abhishek Lekshmanan
a1624d6816 mailmap: Mark Nelson name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:56 +01:00
Abhishek Lekshmanan
03fbda6fcd mailmap: Mark Korenberg affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-by: Коренберг Марк <socketpair@gmail.com>
2017-01-27 10:21:56 +01:00
Abhishek Lekshmanan
93e4cb4ea5 mailmap: Liu Yang affiliation
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:56 +01:00
Abhishek Lekshmanan
3d38d32af3 mailmap: Joe Buck name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:56 +01:00
Abhishek Lekshmanan
64647cfa36 mailmap: Gregory Farnum name normalization
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-01-27 10:21:56 +01:00