1
0
mirror of https://github.com/ceph/ceph synced 2025-03-04 23:40:07 +00:00
Commit Graph

128453 Commits

Author SHA1 Message Date
Samuel Just
62f3cf1a3d crimson/os/seastore/cache: init extents prior to read
Thus should ensure that any captured members of extent_init_func are
still valid at the cost of not being able to access the contents of the
extent at invocation time.  With this, we should be able to rely on any
logical extents/lba extents in the cache having validly initialized lba
pins.

Fixes: https://tracker.ceph.com/issues/53555
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-12-10 14:57:32 -08:00
Samuel Just
96390d5f9e crimson/os/seatore/.../lba_btree: update get_*_node to add_pin without reading node contents
This will allow us to do add_pin before we perform the actual extent read.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-12-10 14:56:15 -08:00
Samuel Just
43f347ecec crimson/os/seastore: pass depth/begin/end to get_*_node
We'll need this to populate the pin fields prior to read.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-12-10 14:56:15 -08:00
Samuel Just
c2d2dd7e70 crimson/os/seastore/transaction_manager: clarify that init lambda only runs on new extents
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-12-10 14:56:15 -08:00
Samuel Just
96fd5ab492 crimson/os/seastore/cache: remove unnecessary forward
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-12-10 14:56:15 -08:00
Casey Bodley
0ec5b8b2dd
Merge pull request from cbodley/wip-53325
test/rgw: disable cls_rgw_gc test cases with defer_gc()

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2021-12-10 11:48:39 -05:00
Matt Benjamin
7a02a6d87c
Merge pull request from linuxbox2/wip-rgwlc-9969
rgwlc:  remove magic debug blocks for clearing stale lc entries
2021-12-10 08:46:09 -05:00
Alfonso Martínez
a1e7562c57
Merge pull request from rhcs-dashboard/introduce-haroxy-metrics-rgw
mgr/dashboard: introduce HAProxy metrics for RGW

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2021-12-10 08:46:43 +01:00
Soumya Koduri
3ddb7e4435
Merge pull request from soumyakoduri/wip-skoduri-dbstore-mp
rgw/dbstore: Multipart upload APIs
2021-12-10 10:40:55 +05:30
Matt Benjamin
669798af85
Merge pull request from linuxbox2/wip-rgwadminops-fsid
rgw: expose RADOS cluster_fsid via adminops
2021-12-09 18:35:03 -05:00
Matt Benjamin
338d024a28 rgw:adminops: remove "import json" from radosgw_admin_rest.py
This is perhaps erring a bit on the side of cosmetic fixes.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2021-12-09 13:24:52 -05:00
Yuri Weinstein
8cc8360499
Merge pull request from vshankar/wip-53487
qa: exclude `nofallback` mount option when using v1-style syntax

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-12-09 08:27:09 -08:00
Casey Bodley
29beb17e04 test/rgw: disable cls_rgw_gc test cases with defer_gc()
Fixes: https://tracker.ceph.com/issues/53325

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2021-12-09 10:58:16 -05:00
Matt Benjamin
bcbf3b1067 rgw:adminops: slightly generalize /info
Adds a get_name() method to rgw::sal::Store, by which each store
returns its unique name in lowercase.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2021-12-09 10:48:06 -05:00
Matt Benjamin
a4b28946bf rgw:sal: implement (placeholder) get_cluster_fsid in DBStore
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2021-12-09 10:47:56 -05:00
Matt Benjamin
e8716889c7 rgw:adminops: add test case for 'info' section
Add 'info' section test case to the radosgw_admin_test.py qa
task.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2021-12-09 10:47:49 -05:00
Matt Benjamin
bdda0d2ba1 rgw: introduce new /{admin}/info api resource
The new resource returns an array of informational data, which
currently consists of the RADOS cluster fsid as "cluster_fsid."

Fixes: https://tracker.ceph.com/issues/51432

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2021-12-09 10:47:43 -05:00
Matt Benjamin
cfe546991a rgw:sal: expose cluster fsid in RGWStore
Adds a get_cluster_id() method to RGWStore, provided librados
cluster_fsid in the RADOS implementation.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2021-12-09 10:47:36 -05:00
Alfonso Martínez
50cc016efb
Merge pull request from votdev/issue_53317_fix_proxy_conf
mgr/dashboard: API docs UI does not work with Angular dev server

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2021-12-09 16:27:03 +01:00
Matt Benjamin
279e29b9bb
Merge pull request from pritha-srivastava/wip-rgw-abort-multipart-bypass-gc
rgw: deleting objects inline in case bypass_gc is specified
2021-12-09 10:05:16 -05:00
Avan Thakkar
8d83126e51 mgr/dashboard: introduce HAProxy metrics for RGW
Fixes: https://tracker.ceph.com/issues/53311
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
2021-12-09 20:03:03 +05:30
Venky Shankar
a15e6d6721 qa: exclude nofallback mount option when using v1-style syntax
Otherwise, certain upgrade tests fail which install pacific
or earlier releases since the mount helper does not understand
this mount option, thereby passing it to the kernel which would
does not handle this config causing mount to fail in tests.

Note that this mount config is only used during teuthology tests
to catch v2-style syntax implementation bugs in the kernel.

Fixes: http://tracker.ceph.com/issues/53487
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2021-12-09 13:30:22 +05:30
Samuel Just
961bfc8e45
Merge pull request from cyx1231st/wip-seastore-merge-journal-headers-2
crimson/os/seastore: make JournalSubmitter aware of header merging

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-12-08 23:51:30 -08:00
Yingxin Cheng
f971289e5d crimson/os/seastore/journal: make JournalSubmitter aware of header merging
Introduce an option seastore_journal_batch_preferred_fullness for
JournalSubmitter to control the preferred fullness to trigger batch
flushes.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 11:28:49 +08:00
Yingxin Cheng
a689a0ff4c crimson/os/seastore: refactor get_encoded_length_after()
To return a more informative record_group_size_t.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 11:28:49 +08:00
Yingxin Cheng
a15a862432 crimson/os/seastore: debug print journal write details
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 11:28:49 +08:00
Yingxin Cheng
1f02b33d67 crimson/os/seastore: measure records write in journal
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 11:28:49 +08:00
Yingxin Cheng
e428c13d34 crimson/os/seastore: fix record metrics in cache
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 11:28:49 +08:00
Yingxin Cheng
a0540ae936 crimson/os/seastore/cache: misc cleanup
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 11:28:33 +08:00
Yingxin Cheng
b495938d18 crimson/os/seastore: add debug logs to print transaction name
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:41:37 +08:00
Yingxin Cheng
f9df13f0dd crimson/os/seastore: don't print detail if the extent is not ready
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:39:06 +08:00
Yingxin Cheng
bd0041cbbf crimson/os/seastore: print extent length
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yingxin Cheng
76b1d352fb crimson/os/seastore: move implementation to seastore_types.cc
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yingxin Cheng
91f46e79a7 crimson/os/seastore: merge records metadata if they are grouped
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yingxin Cheng
c5093c8048 crimson/os/seastore: mark out empty transactions
TODO: avoid write if the transaction is empty.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yingxin Cheng
310ed9ee81 crimson/os/seastore: refactor, introduce record_t and record_group_t with sizes
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yingxin Cheng
28fec46261 crimson/os/seastore: scan records based on record_locator_t
Record may not have its own base if headers are merged.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yingxin Cheng
3f90994e58 crimson/os/seastore: add more checks when read record_header_t
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yingxin Cheng
2241111087 crimson/os/seastore: misc cleanup and reformat
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yingxin Cheng
2cd753aa7d crimson/os/seastore: add logs in ExtentReader
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-12-09 09:37:05 +08:00
Yuri Weinstein
58faf5712e
Merge pull request from ronen-fr/wip-rf-test-nodeep
osd/scrub (& qa/standalone): test for scrub behavior when no-scrub is set but no-deep-scrub is not


Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Matan Breizman <Matan.Brz@gmail.com>
2021-12-08 13:04:57 -08:00
Yuri Weinstein
87bb5c601f
Merge pull request from heylinn/ceph_rundir_sysvinit
init-ceph: create /var/run/ceph for sysvinit

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2021-12-08 13:04:14 -08:00
Yuri Weinstein
096c11d1ff
Merge pull request from sseshasa/wip-fix-require-osd-release
osd/OSDMap: Add health warning if 'require-osd-release' != current release

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
2021-12-08 13:02:50 -08:00
Samuel Just
cc9322f17f
Merge pull request from cyx1231st/wip-seastore-refine-metrics
crimson/os/seastore: refine transaction metrics

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-12-08 12:02:45 -08:00
Samuel Just
c10a0a93af
Merge pull request from liu-chunmei/crimson-fix-heartbeat-addrs
crimson/osd: fix heartbeat front and back blank ip

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-12-08 12:02:04 -08:00
Igor Fedotov
a0873066e5
Merge pull request from ifed01/wip-ifed-dump-alloc-unit
os/bluestore: dump bluestore/bluefs alloc unit sizes with perf dump

Reviewed-by: Laura Flores <lflores@redhat.com>
2021-12-08 22:21:40 +03:00
Igor Fedotov
f7e76a975c
Merge pull request from ifed01/wip-ifed-verbose-open-col
osd,bluestore: gracefully handle a failure during meta collection load

Reviewed-by: jdurgin@redhat.com
Reviewed-by: nojha@redhat.com
2021-12-08 22:19:22 +03:00
Igor Fedotov
3c267248a7
Merge pull request from aclamk/wip-bs-compression-blob-64k
os/bluestore: Set new compression blob size to 64K

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2021-12-08 22:17:38 +03:00
zdover23
78f5e7ece0
Merge pull request from zdover23/wip-doc-2021-12-05-hardware-recommendations-removing-journal
doc/start: remove journal info from hardware recs

Reviewed-by: Dan van der Ster <daniel.vanderster@cern.ch>
2021-12-09 05:14:37 +10:00
Soumya Koduri
a7100972ad rgw/dbstore: Multipart upload APIs
For multipart upload processing, below is the method applied -

MultipartUpload::Init - create head object entry for meta obj (src_obj_name + "." + upload_id)
[ Meta object stores all the parts upload info]

MultipartWriter::process - create all data/tail objects with obj_name same as
meta obj (so that they can all be identified & deleted during abort)

MultipartUpload::Abort - Just delete meta obj .. that will indirectly delete all the uploads
associated with that upload id / meta obj so far.

MultipartUpload::Complete - Create head object of the original object (if not exists).
Rename all data/tail object entries' obj name to orig object name and update metadata of the orig object.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-12-08 23:03:12 +05:30