Commit Graph

45058 Commits

Author SHA1 Message Date
John Spray
e52204ccca client: fix quote enforcement on subdir mounts
While we don't allow setting quotas on the global
filesystem root, the inode which is root from the
client mount's point of view might have a quota.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-09-25 13:24:00 +01:00
John Spray
15e19a4a62 client: refactor quota check functions
Generalise the path traversal into check_quota_condition
and then call that from each of file_exceeded, bytes_exceeded,
bytes_approaching with the appropriate lambda function.

Motivated by fixing the path traversal and wanting to
only fix it in one place.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-09-25 13:24:00 +01:00
Kefu Chai
273b4706b2 Merge pull request #6027 from wido/mirror-docs
docs: Update docs to make it clear that there are mirrors worldwide

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-25 19:16:08 +08:00
Ruifeng Yang
f1d8a8f577 Objecter: repeated free op->ontimeout.
repeated free op->ontimeout in SafeTimer::timer_thread::callback->complete

Fixes: #13208
Signed-off-by: Ruifeng Yang <yangruifeng.09209@h3c.com>
2015-09-25 12:42:36 +08:00
Ruifeng Yang
0635b13583 Objecter: maybe access wild pointer(op) in _op_submit_with_budget.
look at "after giving up session lock it can be freed at any time by response handler" in _op_submit,
so the _op_submit_with_budget::op maybe is wild after call _op_submit.

Fixes: #13208
Signed-off-by: Ruifeng Yang <yangruifeng.09209@h3c.com>
2015-09-25 10:21:47 +08:00
Haomai Wang
482d4e503d AsyncConnection: Add new debug log
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-25 09:05:56 +08:00
Sage Weil
a1eb380c3d osd/ReplicatedPG: fix ENOSPC checking
1. We need to return ENOSPC *before* we apply our side-effects to the obc
cache in finish_ctx().

2. Consider object count changes too, not just bytes.

3. Consider cluster full flag, not just the pool flag.

4. Reply only if FULL_TRY; silently drop ops that were sent despite the
full flag.

Fixes: #13098
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:27:16 -04:00
Sage Weil
da7f3adda4 osd/osd_types: remove [pool_]last_epoch_marked_full from OSDSuperblock
This is no longer used or needed.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:03 -04:00
Sage Weil
9c93ee3002 osd: remove buggy [pool_]last_map_marked_full tracking
This is buggy (we reset the pool epoch each time it remains full instead
of only on the initial transition from non-full to full) and now unused.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:03 -04:00
Sage Weil
8ffefecf23 osd: do full check in do_op
1. The current pool_last_map_marked_full tracking is buggy.
2. We need to recheck this each time we consider the op, not just when it
is received off the wire.  Otherwise, we might get a message, queue it
for some reason, get a map indicating the cluster or pool is full, and
then requeue and process the op instead of discarding it.
3. For now, silently drop ops when failsafe check fails. This will lead to
stalled client IO.  This needs a more robust fix.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:03 -04:00
Sage Weil
1f2274e2b4 osd/PG: set last_epoch_marked_full on map advance
This will get persisted and shared.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:03 -04:00
Sage Weil
79475d8e8f osd/osd_types: add last_epoch_marked_full to pg_history_t
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:02 -04:00
Sage Weil
bf7e937a8b osdc/Objecter: set FULL_FORCE flag when honor_full is false
This currenty only applies to the MDS.  Eventually we can remove the
OSD MDS checks once we are confident all MDS instances are new enough
to set this flag.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:13:02 -04:00
Sage Weil
95055e70ff osd: add FULL_TRY and FULL_FORCE rados op flags
FULL_TRY = try to do the op; ENOSPC if it results in a net increase is
space.  client must cope.

FULL_FORCE = do the op even if it consumes space.  The MDS will use this.
We should restrict this based on the OSD cap (* vs w, probably).

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 19:02:56 -04:00
Sage Weil
7757342ffc qa: https://ceph.com/git -> https://git.ceph.com
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 18:36:57 -04:00
Josh Durgin
c592133330 Merge pull request #6031 from s09816/master
librbd:reads larger than cache size hang.

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-09-24 18:35:13 -04:00
Sage Weil
d4d65fbd6a qa: http://ceph.com/qa -> http://download.ceph.com/qa
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 18:10:46 -04:00
Sage Weil
cdccf1106e osd/PG: compensate for sloppy hobject scrub bounds from hammer
Hammer is sloppy about the hobject_t's it uses for the scrub bounds in that
the pool isn't set.  (Hammer FileStore doesn't care, but post-hammer is
much more careful about this sort of thing.)

Compensate by setting the pool on any scrub messages we receive.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 11:38:41 -04:00
Sage Weil
acda626d03 osd: avoid duplicate MMonGetOSDMap requests
These are relatively expensive (we grab the full map from the mon) so we
should avoid duplicating our requests.

Track which requests are in flight.  Only send a new request when new
maps are asked for.  Resend requests when there is a new mon session.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-24 11:36:30 -04:00
Loic Dachary
18a985affd Merge pull request #6072 from yuyuyu101/update-org
Update org

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-09-24 16:19:43 +02:00
Haomai Wang
f4bf14dd9b Update Xinze affinity
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-24 21:58:51 +08:00
Kefu Chai
d50f5429bd Merge pull request #6066 from dachary/wip-ceph-detect-init
build/ops: ceph-detect-init must ignore .cache

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-24 21:57:31 +08:00
Haomai Wang
eb28eeff0c Update Chen Min affinity
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-24 21:56:49 +08:00
Haomai Wang
58b8a8f26e Update Tianshan affinity
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-24 21:55:21 +08:00
Haomai Wang
58ad7b7949 Update Haomai Wang affinity
Signed-off-by: Haomai Wang <haomai@xsky.com>
2015-09-24 21:53:28 +08:00
Wido den Hollander
3ed6045d24 docs: Update docs to make it clear that there are mirrors worldwide 2015-09-24 15:14:52 +02:00
John Spray
efdaa930d2 mds: fix error reformatting subtreemap_test events
Rare outside of vstart clusters, but if someone did
ever have one of these events in their journal and
try to update to latest ceph, they would end up
with bogus expire_pos on the reformatted events.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-09-24 13:12:03 +01:00
John Spray
557df13b32 tools/cephfs: detect malformed ESubtreeMap::expire_pos
Signed-off-by: John Spray <john.spray@redhat.com>
2015-09-24 13:12:03 +01:00
Kefu Chai
6f11b82f30 Merge pull request #6063 from dachary/wip-tar-v7
build/ops: make dist needs files with names > 99 characters

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-09-24 17:23:03 +08:00
Loic Dachary
627756e05f build/ops: ceph-detect-init must ignore .cache
In case the test fails, it may leave files behind:

src/ceph-detect-init/.cache/v/cache/lastfailed

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-09-24 10:54:35 +02:00
Orit Wasserman
2028ba2b49 Merge pull request #5694 from guce/rgw_improve_key_operate
rgw: improve convenience for key operate.
2015-09-24 10:08:13 +02:00
Lu Shi
9c8200bb5d librbd:reads larger than cache size hang.
Fixes:#13164

Signed-off-by: Lu Shi <shi.lu@h3c.com>
2015-09-24 16:06:52 +08:00
Loic Dachary
396702aabf build/ops: make dist needs files with names > 99 characters
When running make distdir=ceph-9.0.3-1870-gfd861bb dist, a few files
have names longer than 99 characters and discarded, which then causes
the resulting tarbal to be incomplete:

tar: ceph-9.0.3-1870-gfd861bb/src/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc: file name is too long (max 99); not dumped
tar: ceph-9.0.3-1870-gfd861bb/src/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.h: file name is too long (max 99); not dumped

Use the tar-ustar format instead of the legacy v7
format (http://www.gnu.org/software/automake/manual/automake.html#Options). It
is unlikely machines with a C++11 compiler also have an antique tar
binary that would only support v7.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-09-24 08:07:20 +02:00
Xinze Chi
5f7b3f5cde filestore: fix peek_queue for OpSequencer
Fixes: #13209
Signed-off-by: Xinze Chi <xinze@xsky.com>
2015-09-24 10:22:18 +08:00
Samuel Just
c053499011 osd/: eliminate unnecessary pg_hit_set_history_t::current_info
The only field actually relevant from this structure is .begin, which
duplicates the information in hit_set_start_stamp less well.  The problem
is that the starting point of the currently open hit set is ephemeral
state which shouldn't go into the pg_info_t structure.

This also caused 13185  since pg_info_t.hit_set.current_info gets default
constructed with use_gmt = true regardless of the pool setting.  This
becomes a problem in hit_set_persist since the oid is generated using
the pool setting, rather than the use_gmt value in current_info which
is placed into the history list.  That discrepancy then causes a crash
in hit set trim.  There would also be a related bug if the pool setting
is changed between when current_info is constructed and when it is
written out.

Since current_info isn't actually useful, I'm removing it so that we
don't later rely on invalid fields.

Fixes: 13185
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-09-23 16:20:08 -07:00
Sage Weil
fd861bb250 Merge pull request #6053 from ceph/wip-cmake-dang
Wip cmake dang
2015-09-23 17:00:48 -04:00
Sage Weil
2805246a74 Merge pull request #6056 from guangyy/wip-13198
osd: print min_last_epoch_clean along with pg dump

Reviewed-by: Sage Weil <sage@redhat.com>
2015-09-23 16:59:06 -04:00
Sage Weil
704cd5d30d Merge remote-tracking branch 'gh/wip-aarch64' 2015-09-23 15:08:22 -04:00
Guang Yang
f5359f2314 osd: print min_last_epoch_clean along with pg dump
Fixes: 13198
Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
2015-09-23 15:58:02 +00:00
Sage Weil
ef909ccbdc mon/Elector: do a trivial write on every election cycle
Currently we already do a small write when the *first* election in
a round happens (to update the election epoch).  If the backend
happens to fail while we are already in the midst of elections,
however, we may continue to call elections without verifying we
are still writeable.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-23 10:58:15 -04:00
Sage Weil
2fb7b1f0e3 mon/MonitorDBStore: assert/crash if there is a write error
Do this globally intead of relying on teh zillion mon callers to
check the error code.  There are no cases where we want to
tolerate a commit failure.

Fixes: #13089
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-23 10:58:13 -04:00
Daniel Gryniewicz
b1401e5124 CMake - fix check for UDEV
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:55 -04:00
Daniel Gryniewicz
0b27024698 CMake - fix check for FUSE
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:55 -04:00
Daniel Gryniewicz
a866a8947d CMake - add check for libedit
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:54 -04:00
Daniel Gryniewicz
4d02f8746c CMake - fix check for Snappy
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:54 -04:00
Daniel Gryniewicz
3570dd5625 CMake - add check for XFS
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:54 -04:00
Daniel Gryniewicz
571215ef20 CMake - fix check for AIO
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:54 -04:00
Daniel Gryniewicz
6adf1cbb33 CMake - fix check for blkid
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:54 -04:00
Daniel Gryniewicz
1a4262c31a CMake - add check for libcurl
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:54 -04:00
Daniel Gryniewicz
a6c8b46101 CMake - fix check for fcgi
Signed-off-by: Daniel Gryniewicz <dang@fprintf.net>
2015-09-23 10:55:54 -04:00