]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agoMerge pull request #37810 from smithfarm/wip-48004-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:48:50 +0000 (11:48 -0800)]
Merge pull request #37810 from smithfarm/wip-48004-nautilus

nautilus: rgw: fix: S3 API KeyCount incorrect return.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #37806 from smithfarm/wip-47959-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:48:05 +0000 (11:48 -0800)]
Merge pull request #37806 from smithfarm/wip-47959-nautilus

nautilus: rgw: fix expiration header returned even if there is only one tag in the object the same as the rule

Reviewed-by: Friedmann <ofriedma@redhat.com>
4 years agoMerge pull request #37805 from smithfarm/wip-47897-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:47:12 +0000 (11:47 -0800)]
Merge pull request #37805 from smithfarm/wip-47897-nautilus

nautilus: rgw: use yum rather than dnf for teuthology testing of rgw-orphan-list

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #37804 from smithfarm/wip-47851-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:46:42 +0000 (11:46 -0800)]
Merge pull request #37804 from smithfarm/wip-47851-nautilus

nautilus: rgw/rgw_file: Fix the incorrect lru object eviction

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
4 years agoMerge pull request #37802 from smithfarm/wip-47818-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:46:04 +0000 (11:46 -0800)]
Merge pull request #37802 from smithfarm/wip-47818-nautilus

nautilus: rgw: radosgw-admin should paginate internally when listing bucket

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #37814 from smithfarm/wip-47890-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:45:13 +0000 (11:45 -0800)]
Merge pull request #37814 from smithfarm/wip-47890-nautilus

nautilus: rbd: librbd: ignore -ENOENT error when disabling object-map

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #37811 from smithfarm/wip-47703-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:43:01 +0000 (11:43 -0800)]
Merge pull request #37811 from smithfarm/wip-47703-nautilus

nautilus: rbd: rbd-nbd: don't ignore namespace when unmapping by image spec

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
4 years agoMerge pull request #37682 from idryomov/wip-qa-krbd-whitelist-mon-down-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:42:18 +0000 (11:42 -0800)]
Merge pull request #37682 from idryomov/wip-qa-krbd-whitelist-mon-down-nautilus

nautilus: qa/suites/krbd: whitelist MON_DOWN health warning

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #37552 from Vicente-Cheng/wip-47735-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:41:32 +0000 (11:41 -0800)]
Merge pull request #37552 from Vicente-Cheng/wip-47735-nautilus

nautilus: rgw: rgw_file: avoid long-ish delay on shutdown

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years ago14.2.13 v14.2.13
Jenkins Build Slave User [Fri, 30 Oct 2020 14:54:37 +0000 (14:54 +0000)]
14.2.13

4 years agoMerge pull request #37799 from smithfarm/wip-47816-nautilus
Yuri Weinstein [Wed, 28 Oct 2020 19:31:33 +0000 (12:31 -0700)]
Merge pull request #37799 from smithfarm/wip-47816-nautilus

nautilus: rgw: allow rgw-orphan-list to note when rados objects are in namespace

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #37798 from smithfarm/wip-47814-nautilus
Yuri Weinstein [Wed, 28 Oct 2020 19:30:41 +0000 (12:30 -0700)]
Merge pull request #37798 from smithfarm/wip-47814-nautilus

nautilus: rgw: fix setting of namespace in ordered and unordered bucket listing

4 years agoMerge pull request #37747 from smithfarm/wip-fix-enum34-nautilus
Yuri Weinstein [Wed, 28 Oct 2020 19:29:55 +0000 (12:29 -0700)]
Merge pull request #37747 from smithfarm/wip-fix-enum34-nautilus

nautilus: rpm: move python-enum34 into rhel 7 conditional

Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
4 years agoMerge pull request #37816 from smithfarm/wip-47986-nautilus
Yuri Weinstein [Wed, 28 Oct 2020 18:17:03 +0000 (11:17 -0700)]
Merge pull request #37816 from smithfarm/wip-47986-nautilus

nautilus: mon/MonMap: fix unconditional failure for init_with_hosts

Reviewed-by: Wido den Hollander <wido@widodh.nl>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agodoc/PendingReleaseNotes: mention mon_host DNS regression 37816/head
Nathan Cutler [Tue, 27 Oct 2020 20:35:28 +0000 (21:35 +0100)]
doc/PendingReleaseNotes: mention mon_host DNS regression

This is a nautilus-specific commit.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
4 years agomon/MonMap: fix unconditional failure for init_with_hosts
Patrick Donnelly [Thu, 22 Oct 2020 17:08:26 +0000 (10:08 -0700)]
mon/MonMap: fix unconditional failure for init_with_hosts

This bug prevents setting mon_host to a DNS name.

Fixes: https://tracker.ceph.com/issues/47951
Fixes: 7a1f02acfe6b5d8a760efd16bb594a0656b39eac
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 21d9f8333b8c76979bbe90d60a8ad6ebb5e36c76)

4 years agotest/mon: add tests for mon_host build by hostname
Patrick Donnelly [Fri, 23 Oct 2020 23:33:23 +0000 (16:33 -0700)]
test/mon: add tests for mon_host build by hostname

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 4022c1f1fb4c37e63bf884e36a2b533735c56f94)

Conflicts:
    src/test/mon/MonMap.cc
- do not attempt to introduce boost::intrusive_ptr into Nautilus
- monmap.build_initial takes bare cct in nautilus (master: cct.get())

4 years agotest/mon: fix compiler errors in MonMap unittest
Patrick Donnelly [Fri, 23 Oct 2020 23:28:08 +0000 (16:28 -0700)]
test/mon: fix compiler errors in MonMap unittest

The code atrophied. Clean this up.

The tests are disabled because they SIGSEGV during SetUp.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 06f44cbf12c20ce8f1862111340f3b3f132577d0)

Conflicts:
    src/test/mon/MonMap.cc
- do not attempt to introduce boost::intrusive_ptr into nautilus
- monmap.build_initial takes bare cct in nautilus (master: cct.get())

4 years agotest/mon: build MonMap unittest
Patrick Donnelly [Fri, 23 Oct 2020 23:27:39 +0000 (16:27 -0700)]
test/mon: build MonMap unittest

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 8408b63e908e3f7145b2df5520f28ac12d615967)

4 years agolibrbd: ignore -ENOENT error when disabling object-map 37814/head
Jason Dillaman [Mon, 12 Oct 2020 19:28:52 +0000 (15:28 -0400)]
librbd: ignore -ENOENT error when disabling object-map

Fixes: https://tracker.ceph.com/issues/47840
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 8e88224d8d1e7602392a81ed4da8139a79600d8f)

4 years agorbd-nbd: don't ignore namespace when unmapping by image spec 37811/head
Mykola Golub [Sun, 27 Sep 2020 16:59:49 +0000 (17:59 +0100)]
rbd-nbd: don't ignore namespace when unmapping by image spec

Fixes: https://tracker.ceph.com/issues/47665
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit b360186eb6463811ce19f21e8d24ab7c44dc7279)

4 years agoqa/workunits/rbd: yet another attempt to improve rbd-nbd unmap
Mykola Golub [Thu, 10 Sep 2020 13:08:42 +0000 (14:08 +0100)]
qa/workunits/rbd: yet another attempt to improve rbd-nbd unmap

Previously it still could race when unmap_device returned success
because the device was not found in `rbd-nbd list-mapped` (the nbd
device was removed) but the test failed because the process was still
found in the ps table.

Fixes: https://tracker.ceph.com/issues/47394
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit f0c69761c8036a57319ead5cdf97cebb0f0fb5d7)

Conflicts:
qa/workunits/rbd/rbd-nbd.sh
- omit changes in tests that are not in nautilus

4 years agorgw: fix: S3 API KeyCount incorrect return. 37810/head
胡玮文 [Thu, 24 Sep 2020 15:34:43 +0000 (23:34 +0800)]
rgw: fix: S3 API KeyCount incorrect return.

KeyCount should return object count + common prefix count.
see S3 example: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html#API_ListObjectsV2_Example_5

Related: https://github.com/docker/distribution/issues/3200

Signed-off-by: 胡玮文 <huww98@outlook.com>
(cherry picked from commit f96a6fdad16da2a7093f538ee577248dfbc65ca1)

4 years agorgw: radosgw-admin should paginate internally when listing bucket 37802/head
J. Eric Ivancich [Thu, 1 Oct 2020 17:33:01 +0000 (13:33 -0400)]
rgw: radosgw-admin should paginate internally when listing bucket

Currently `radosgw-admin bucket list ...`, when listing a bucket, asks
for the value of "--max-entries" internally. To list a large bucket
entirely the user would have to set "--max-entries" to a large value
(e.g., 10000000). Internally this doesn't paginate, so it will try to
produce the entire list at once. This can consume a lot of memory, and
there are known cases where this induces an out-of-memory crash.

So now we'll set a maximum pagination size of 10,000. So even with
large values of "--max-entries" it will still be able to produce the
full listing without stressing memory, because it will ask for at most
10,000 entries at a time.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 6d033061bf9eaebf3dab37b9ed45de22ce6fa6b7)

Conflicts:
src/rgw/rgw_admin.cc
- RGWRados::Bucket::List.list_objects() does not take null_yield
  argument in nautilus
- formatter does not have get() method in nautilus

4 years agorgw: fix expiration header returned even if there is only one tag in the object the... 37806/head
Or Friedmann [Thu, 23 Jul 2020 15:36:07 +0000 (18:36 +0300)]
rgw: fix expiration header returned even if there is only one tag in the object the same as the rule

Expiration header returned even if there is only one tag in the object the same as the rule

Signed-off-by: Or Friedmann <ofriedma@redhat.com>
Reported-by: Avi Mor <avmor@redhat.com>
Fixes: https://tracker.ceph.com/issues/46614
(cherry picked from commit bf7c7e59f390afb53cb1e30a440ab26bb093c11c)

Conflicts:
src/rgw/rgw_lc.cc
- whitespace (effectively no conflict)

4 years agorgw: use yum rather than dnf for testing rgw-orphan-list 37805/head
J. Eric Ivancich [Thu, 15 Oct 2020 18:14:04 +0000 (14:14 -0400)]
rgw: use yum rather than dnf for testing rgw-orphan-list

The teuthology testing for rgw-orphan-list needs to install
`s3cmd`. Switch from using dnf to yum to work on a wider variety of
platforms.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 11a08a5bb867e05d033f126d9de7c370770ee63f)

4 years agorgw/rgw_file: Fix the incorrect lru object eviction 37804/head
luo rixin [Tue, 1 Sep 2020 09:06:40 +0000 (17:06 +0800)]
rgw/rgw_file: Fix the incorrect lru object eviction

In func lookup_fh, when RGWFileHandle not be found in fh_cache, it
need to recycle an object and create an new RGWFileHandle. When there
are multi threads use lookup_fh to find and create RGWFileHandle concurrently,
it must to make sure evict lru object from the partiton of fh_cache which new
RGWFileHandle will be inserted to.

Fixes: https://tracker.ceph.com/issues/47235
Signed-off-by: luo rixin <luorixin@huawei.com>
(cherry picked from commit f2097338722d7f2526bb815da47695f2da17fcce)

4 years agorgw: rgw-orphan-list should use "plain" formatted `rados ls` output 37799/head
J. Eric Ivancich [Fri, 9 Oct 2020 20:06:55 +0000 (16:06 -0400)]
rgw: rgw-orphan-list should use "plain" formatted `rados ls` output

The previous version that used "json-pretty" output for `rados ls`
added complications due to json's escaping of special characters. So
this version returns to the "plain" output for `rados ls` but deals
with entries (oids) that might have namespaces and/or locators as
well.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 5b994f90594208dab81045732099a03686819b30)

4 years agorgw: allow rgw-orphan-list to note when rados objects are in namespace
J. Eric Ivancich [Tue, 6 Oct 2020 19:21:02 +0000 (15:21 -0400)]
rgw: allow rgw-orphan-list to note when rados objects are in namespace

Currently namespaces and locators are ignored when `rados ls` is run
by rgw-orphan-list to record RADOS's known objects.

However there have been cases where RADOS objects have a locator, and
when one is included in the listing, the script does not handle it
correctly. Now when objects have locators, we will prevent their
output from entering the .intermediate file.

Additionally we do not expect RGW data objects to be in RADOS
namespaces, so when a namespaced object is detected, we'll error out
with a message.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit ddf52016fa03ba192f242ad641a5c8e5a95035a1)

4 years agorgw: fix setting of namespace in ordered and unordered bucket listing 37798/head
J. Eric Ivancich [Tue, 6 Oct 2020 16:42:22 +0000 (12:42 -0400)]
rgw: fix setting of namespace in ordered and unordered bucket listing

The namespace is not always set correctly during bucket listing. This
can, for example, cause the listing of incomplete multipart uploads,
which are in the _multipart_ namespace, to not paginate correctly, and
cause entries to be re-listed.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit bd6f163f366753e8ec42b85a53334f4bf78916bd)

4 years agorgw: fix bug with (un)ordered bucket listing and marker w/ namespace
J. Eric Ivancich [Fri, 31 Jan 2020 20:01:40 +0000 (15:01 -0500)]
rgw: fix bug with (un)ordered bucket listing and marker w/ namespace

When listing without specifying a namespace, the returned entries
could be in one or more namespaces. The marker used to continue the
listing may therefore contain a namespace, and that needs to be
preserved. This fixes a bug in both ordered and unordered listings
where it was not preserved.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 9457abb729754458aafc07a9ee514407906a1011)

Conflicts:
src/rgw/rgw_rados.cc
- trivial whitespace

4 years agorpm: move python-enum34 into rhel 7 conditional 37747/head
Nathan Cutler [Thu, 22 Oct 2020 05:50:37 +0000 (07:50 +0200)]
rpm: move python-enum34 into rhel 7 conditional

There is no "python-enum34" RPM in openSUSE 15.1 (as this release
uses Python 3 exclusively), so the dependency cannot be satisfied.

This nautilus-only change fixes a nautilus-only commit which broke
nautilus on openSUSE and SUSE Linux Enterprise.

Fixes: fdfae1c00c0059a03389bdcfafa6b0ee8d95ad55
Signed-off-by: Nathan Cutler <ncutler@suse.com>
4 years agoMerge PR #37522 into nautilus
Jan Fajerski [Wed, 21 Oct 2020 10:53:00 +0000 (12:53 +0200)]
Merge PR #37522 into nautilus

* refs/pull/37522/head:
ceph-volume: don't exit before empty report can be printed
PendingReleaseNotes: add note about batch refactor
ceph-volume batch: return valid empty json reports
ceph-volume: pass filter_for_batch as keyword argument
doc: drop references to drive_groups in batch doc
idempotency must result in the same outcome
doc: update ceph-volume lvm batch docs
ceph-volume batch: fix very_fast_allocation plan and add tests
ceph-volume: batch: call the right prepare method
ceph-volume inventory: add option to filter unwanted devices
ceph-volume: address review comments
ceph-volume: batch: fix size retrieval for lvs
ceph-volume: include encryption in batch report
ceph-volume lvm batch: use namedtuple instead of tuple
ceph-volume: address review comments, mostly tidying, clarification
ceph-volume: batch test should pass --journal-devices with filestore
ceph-volume: make --journal optional, add --journal-slots
ceph-volume batch: add deprecation warning for auto behaviour
ceph-volume batch: add ceph.conf mocking to pass tests
ceph-volume batch: use disk.Size for size args
ceph-volume batch: Fix osd_ids passing and improve plan formatting
ceph-volume batch: track rel_size in percent, more tests
ceph-volume batch: improve backwards compatibility
ceph-volume: batch - enable legacy auto behaviour
ceph-volume: batch - major refactor
ceph-volume: Device - available_lvm if 10 extents are free.
ceph-volume: Device - add vg_free property
ceph-volume: prepare/create - size args as Size class
ceph-volume: disk.Size - add cast to bool
ceph-volume: api/lvm - add VolumeGroup.free_percent property
ceph-volume: util.device -  add vg_free_percent property
ceph-volume: api/lvm - query LV units in bytes
ceph-volume: lvm/common - refactor common arg specification
ceph-volume: batch: fix argument help message

Reviewed-by: Rishabh Dave <ridave@redhat.com>
4 years agoMerge pull request #37060 from callithea/wip-46971-nautilus
Lenz Grimmer [Wed, 21 Oct 2020 09:52:38 +0000 (11:52 +0200)]
Merge pull request #37060 from callithea/wip-46971-nautilus

nautilus: mgr/dashboard: Proper format iSCSI target portals

Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
4 years ago14.2.12 v14.2.12
Jenkins Build Slave User [Mon, 19 Oct 2020 20:19:21 +0000 (20:19 +0000)]
14.2.12

4 years agoqa/suites/krbd: whitelist MON_DOWN health warning 37682/head
Kefu Chai [Wed, 10 Jun 2020 15:20:40 +0000 (23:20 +0800)]
qa/suites/krbd: whitelist MON_DOWN health warning

see also

93de19adcf1233ce4c68f1253e0b9abef6d97a9d
608e002195638e80323780f1907db40c0b9768f0

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit f1072fcadc8b31737d1534e7ddad7bd2bef0a0b5)

4 years agoMerge pull request #37364 from wjwithagen/wjw-fix-lazyio.cc
Yuri Weinstein [Fri, 9 Oct 2020 16:03:26 +0000 (09:03 -0700)]
Merge pull request #37364 from wjwithagen/wjw-fix-lazyio.cc

nautilus: test: Do not use <sys/xattr.h> under non-Linux systems

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
4 years agoMerge pull request #37232 from Vicente-Cheng/wip-47259-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 16:02:25 +0000 (09:02 -0700)]
Merge pull request #37232 from Vicente-Cheng/wip-47259-nautilus

nautilus: client: handle readdir reply without Fs cap

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37229 from Vicente-Cheng/wip-47252-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 16:01:47 +0000 (09:01 -0700)]
Merge pull request #37229 from Vicente-Cheng/wip-47252-nautilus

nautilus: cephfs: osdc/Journaler: do not call onsafe->complete() if onsafe is 0

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37228 from Vicente-Cheng/wip-47246-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 16:01:17 +0000 (09:01 -0700)]
Merge pull request #37228 from Vicente-Cheng/wip-47246-nautilus

nautilus: qa: ignore expected mds failover message

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37178 from batrick/i47088
Yuri Weinstein [Fri, 9 Oct 2020 16:00:38 +0000 (09:00 -0700)]
Merge pull request #37178 from batrick/i47088

nautilus: mds: recover files after normal session close

Reviewed-by: Nathan Cutler <ncutler@suse.com>
4 years agoMerge pull request #37301 from alvistack/nautilus-aio_graceful_reboot
Yuri Weinstein [Fri, 9 Oct 2020 15:28:19 +0000 (08:28 -0700)]
Merge pull request #37301 from alvistack/nautilus-aio_graceful_reboot

nautilus: systemd: Support Graceful Reboot for AIO Node

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37558 from smithfarm/wip-47737-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 15:09:51 +0000 (08:09 -0700)]
Merge pull request #37558 from smithfarm/wip-47737-nautilus

nautilus: mgr/status: metadata is fetched async

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
4 years agoMerge pull request #37481 from smithfarm/wip-47605-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 15:08:33 +0000 (08:08 -0700)]
Merge pull request #37481 from smithfarm/wip-47605-nautilus

nautilus: mds: fix purge_queue's _calculate_ops is inaccurate

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #37550 from rhcs-dashboard/wip-47753-nautilus
Lenz Grimmer [Fri, 9 Oct 2020 11:45:37 +0000 (13:45 +0200)]
Merge pull request #37550 from rhcs-dashboard/wip-47753-nautilus

nautilus: mgr/dashboard: Don't use any xlf file when building the default language

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Sebastian Krah <skrah@suse.com>
4 years agoMerge pull request #37505 from rhcs-dashboard/fix-46815-nautilus
Yuri Weinstein [Thu, 8 Oct 2020 18:01:22 +0000 (11:01 -0700)]
Merge pull request #37505 from rhcs-dashboard/fix-46815-nautilus

nautilus: mgr/dashboard: fix broken backporting

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
4 years agoMerge pull request #37479 from smithfarm/wip-46960-nautilus
Yuri Weinstein [Thu, 8 Oct 2020 15:23:42 +0000 (08:23 -0700)]
Merge pull request #37479 from smithfarm/wip-46960-nautilus

nautilus: cephfs-journal-tool: fix incorrect read_offset when finding missing objects

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #37231 from Vicente-Cheng/wip-47254-nautilus
Yuri Weinstein [Thu, 8 Oct 2020 15:22:59 +0000 (08:22 -0700)]
Merge pull request #37231 from Vicente-Cheng/wip-47254-nautilus

nautilus: cephfs: client: make Client::open() pass proper cap mask to path_walk

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #37179 from batrick/i47090
Yuri Weinstein [Thu, 8 Oct 2020 15:22:23 +0000 (08:22 -0700)]
Merge pull request #37179 from batrick/i47090

nautilus: mds: After restarting an mds, its standy-replay mds remained in the "resolve" state

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36965 from Vicente-Cheng/wip-46784-nautilus
Yuri Weinstein [Thu, 8 Oct 2020 15:21:51 +0000 (08:21 -0700)]
Merge pull request #36965 from Vicente-Cheng/wip-46784-nautilus

nautilus: mds/CInode: Optimize only pinned by subtrees check

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoceph-volume: don't exit before empty report can be printed 37522/head
Jan Fajerski [Thu, 8 Oct 2020 06:45:26 +0000 (08:45 +0200)]
ceph-volume: don't exit before empty report can be printed

get_plan() called exit in case of an empty plan. This prevented a report
being printed under these circumstances. Avoid exit in this case. Also
adds tests to ensure an empty report is printed.

Fixes: https://tracker.ceph.com/issues/47760
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 0cc5604843b215709a681fa402145c9fa403b1dd)

4 years agoPendingReleaseNotes: add note about batch refactor
Jan Fajerski [Wed, 7 Oct 2020 07:45:42 +0000 (09:45 +0200)]
PendingReleaseNotes: add note about batch refactor

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 485f0d797e4b21ffb7ac742f0949e8c0a23d43f2)

 Conflicts:
PendingReleaseNotes
        Sort new entry under >=15.2.6 heading

4 years agomgr/mgr_module: metadata is fetched async 37558/head
Michael Fritch [Thu, 25 Jun 2020 20:36:22 +0000 (14:36 -0600)]
mgr/mgr_module: metadata is fetched async

fetch metadata using a defaultdict

Signed-off-by: Michael Fritch <mfritch@suse.com>
(cherry picked from commit f06e60b591d7921b0afdd40219f3866773b00683)

Conflicts:
src/pybind/mgr/status/module.py

4 years agomgr/status: metadata is fetched async
Michael Fritch [Thu, 25 Jun 2020 20:16:55 +0000 (14:16 -0600)]
mgr/status: metadata is fetched async

fix timing window during mds rejoin where metadata is not available

Fixes: https://tracker.ceph.com/issues/45633
Signed-off-by: Michael Fritch <mfritch@suse.com>
(cherry picked from commit 4006fff43856c851e7a07f7d8ff05364cbe03529)

Conflicts:
src/pybind/mgr/status/module.py

4 years agoMerge pull request #37510 from rhcs-dashboard/wip-47717-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:44:36 +0000 (08:44 -0700)]
Merge pull request #37510 from rhcs-dashboard/wip-47717-nautilus

nautilus: mgr/dashboard: Fix pool renaming functionality

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
4 years agoMerge pull request #37241 from rhcs-dashboard/wip-47538-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:43:28 +0000 (08:43 -0700)]
Merge pull request #37241 from rhcs-dashboard/wip-47538-nautilus

nautilus: mgr/dashboard: Disabling the form inputs for the read_only modals

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
4 years agorgw_file: avoid long-ish delay on shutdown 37552/head
Matt Benjamin [Wed, 30 Sep 2020 19:13:04 +0000 (15:13 -0400)]
rgw_file: avoid long-ish delay on shutdown

Normal shutdown was likely to be delayed a substantial fraction
of rgw_nfs_namespace_expire_secs due to an ill-advised use of
this_thread::sleep_for.

Fixes: https://tracker.ceph.com/issues/47710
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 805f74956489e3158437acc1c3c12f267221843e)

4 years agoMerge pull request #37177 from batrick/i47017
Yuri Weinstein [Mon, 5 Oct 2020 15:41:26 +0000 (08:41 -0700)]
Merge pull request #37177 from batrick/i47017

nautilus: mds: kcephfs parse dirfrag's ndist is always 0

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #37035 from smithfarm/wip-47317-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:40:57 +0000 (08:40 -0700)]
Merge pull request #37035 from smithfarm/wip-47317-nautilus

nautilus: mds: fix incorrect check for if dirfrag is being fragmented

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36967 from Vicente-Cheng/wip-46941-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:40:26 +0000 (08:40 -0700)]
Merge pull request #36967 from Vicente-Cheng/wip-46941-nautilus

nautilus: mds: place MDSGatherBuilder on the stack

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36966 from Vicente-Cheng/wip-46787-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:39:42 +0000 (08:39 -0700)]
Merge pull request #36966 from Vicente-Cheng/wip-46787-nautilus

nautilus: cephfs: client: fix extra open ref decrease

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36814 from smithfarm/wip-47081-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:39:05 +0000 (08:39 -0700)]
Merge pull request #36814 from smithfarm/wip-47081-nautilus

nautilus: messages,mds: Fix decoding of enum types on big-endian systems

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36168 from smithfarm/wip-46151-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:38:36 +0000 (08:38 -0700)]
Merge pull request #36168 from smithfarm/wip-46151-nautilus

nautilus: mds: do not defer incoming mgrmap when mds is laggy

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36968 from Vicente-Cheng/wip-46943-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:36:52 +0000 (08:36 -0700)]
Merge pull request #36968 from Vicente-Cheng/wip-46943-nautilus

nautilus: mds: resolve SIGSEGV in waiting for uncommitted fragments

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36963 from Vicente-Cheng/wip-46633-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:35:14 +0000 (08:35 -0700)]
Merge pull request #36963 from Vicente-Cheng/wip-46633-nautilus

nautilus: mds: fix mds forwarding request 'no_available_op_found'

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agomds/CInode: Optimize only pinned by subtrees check 36965/head
Mark Nelson [Fri, 24 Jul 2020 05:29:15 +0000 (05:29 +0000)]
mds/CInode: Optimize only pinned by subtrees check

Fixes: https://tracker.ceph.com/issues/46727
Signed-off-by: Mark Nelson <mnelson@redhat.com>
(cherry picked from commit 6a865f805b723525358ed8e79bb3d41709e98bf3)

Conflicts:
src/mds/MDCache.cc
  - use the nautilus code flow of trim instead master

4 years agomgr/dashboard: Don't use any xlf file when building the default language 37550/head
Sebastian Krah [Tue, 19 Nov 2019 10:41:49 +0000 (11:41 +0100)]
mgr/dashboard: Don't use any xlf file when building the default language

The build-i18n script no longer uses a xlf file when building the default
language. This means that we don't need to keep the messages.en-US.xlf in the repository anymore.

Fixes: https://tracker.ceph.com/issues/42693
Signed-off-by: Sebastian Krah <skrah@suse.com>
(cherry picked from commit 5efe0a3ab25e26421001033bd7ea36c86aca2b02)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/locale/messages.en-US.xlf
    - Deleted this file

4 years agoceph-volume batch: return valid empty json reports
Jan Fajerski [Sat, 3 Oct 2020 07:40:33 +0000 (09:40 +0200)]
ceph-volume batch: return valid empty json reports

Fixes: https://tracker.ceph.com/issues/47729
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit ab59269a6ca5bb80c28e94beef0338f23fc10fff)

4 years agoceph-volume: pass filter_for_batch as keyword argument
Jan Fajerski [Mon, 5 Oct 2020 10:56:26 +0000 (12:56 +0200)]
ceph-volume: pass filter_for_batch as keyword argument

This PR also removes an unused ctor argument in the Devices class.

Fixes: 7d168ad7bdbb6d6d5231a4ae540ab03040b49a38
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit c5a711e5b6499915b7c2a7b7869f890fa7dc7e2d)

4 years agoMerge pull request #37435 from Vicente-Cheng/wip-47413-nautilus
Yuri Weinstein [Fri, 2 Oct 2020 20:25:00 +0000 (13:25 -0700)]
Merge pull request #37435 from Vicente-Cheng/wip-47413-nautilus

nautilus: rgw: urlencode bucket name when forwarding request

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agodoc: drop references to drive_groups in batch doc
Jan Fajerski [Fri, 2 Oct 2020 10:08:26 +0000 (12:08 +0200)]
doc: drop references to drive_groups in batch doc

The drive_groups code is orchestrator specific and not present in
nautilus.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
4 years agomgr/dashboard: Proper format iSCSI target portals 37060/head
Volker Theile [Wed, 12 Aug 2020 10:54:07 +0000 (12:54 +0200)]
mgr/dashboard: Proper format iSCSI target portals

Proper format the 'Portals' and 'Images' columns.

Fixes: https://tracker.ceph.com/issues/46908
Signed-off-by: Volker Theile <vtheile@suse.com>
(cherry picked from commit ac0b34a26777400226e263120e4b82644b2e0d51)

Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-list/iscsi-target-list.component.ts
- Resolved import conflicts; Replaced JoinPipe with ListPipe since JoinPipe is
  not available in nautilus

4 years agoidempotency must result in the same outcome
Jan Fajerski [Tue, 8 Sep 2020 12:11:15 +0000 (14:11 +0200)]
idempotency must result in the same outcome

...not should

Co-authored-by: Joshua Schmid <jschmid@suse.de>
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit fcacd0b96ab195e939f6f879b0a0362a06385f9a)

4 years agodoc: update ceph-volume lvm batch docs
Jan Fajerski [Mon, 29 Jun 2020 15:42:26 +0000 (17:42 +0200)]
doc: update ceph-volume lvm batch docs

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 7695d1ec539f54b7b7cea8d19925f0c320223f03)

4 years agomgr/dashboard: Fix pool renaming functionality 37510/head
Stephan Müller [Wed, 13 Nov 2019 12:16:55 +0000 (13:16 +0100)]
mgr/dashboard: Fix pool renaming functionality

The problem was that, if a pool was renamed the routine to update tried
to work on the old pool name and didn't used the info that the pool got
renamed, therefore an error occurred in the UI saying that the pool
could not be found.

Fixes: https://tracker.ceph.com/issues/42776
Signed-off-by: Stephan Müller <smueller@suse.com>
(cherry picked from commit de933cd3c82b6a7d5c4ddfa77804509c9fcaa3db)

Conflicts:
      qa/tasks/mgr/dashboard/test_pool.py:
      - Ignore incoming quota test

4 years agomgr/dashboard: Fix pg_num counts in pool API tests
Stephan Müller [Wed, 13 Nov 2019 12:15:42 +0000 (13:15 +0100)]
mgr/dashboard: Fix pg_num counts in pool API tests

To prevent the not a number of two cluster health warning, all created
pools now have a pg_num that is a power of two.

Fixes: https://tracker.ceph.com/issues/42776
Signed-off-by: Stephan Müller <smueller@suse.com>
(cherry picked from commit ca46c9941bc6837f09aab7b4aaab799d8a9ebf48)

Conflicts:
      qa/tasks/mgr/dashboard/test_pool.py:
      - Ignore quota tests and accept 8 PG number
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
4 years agomgr/dashboard: Refactor pool API tests
Stephan Müller [Wed, 13 Nov 2019 16:11:54 +0000 (17:11 +0100)]
mgr/dashboard: Refactor pool API tests

Renamed "__create_pool" to "__yield_pool" to make it's purpose clearer
and added a description.

Split up create pool test into three different tests.
Used "__yield_pool" for creation tests, too.

Fixes: https://tracker.ceph.com/issues/42776
Signed-off-by: Stephan Müller <smueller@suse.com>
(cherry picked from commit 96fd06b7db1d57b8384edc1af6cc39e4e532fb77)

Conflicts:
      qa/tasks/mgr/dashboard/test_pool.py:
      - Ignore incoming pool quota tests
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
4 years agoceph-volume batch: fix very_fast_allocation plan and add tests
Jan Fajerski [Fri, 25 Sep 2020 09:35:19 +0000 (11:35 +0200)]
ceph-volume batch: fix very_fast_allocation plan and add tests

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 8178d5c48ac1a7f3915f0003abab6d625385bd78)

4 years agoceph-volume: batch: call the right prepare method
Jan Fajerski [Wed, 16 Sep 2020 13:43:00 +0000 (15:43 +0200)]
ceph-volume: batch: call the right prepare method

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit e75ef77f23ae07463510ec213ac4007f29cbe2da)

4 years agoceph-volume inventory: add option to filter unwanted devices
Jan Fajerski [Fri, 11 Sep 2020 14:35:00 +0000 (16:35 +0200)]
ceph-volume inventory: add option to filter unwanted devices

Some device we never want to pass to the batch subcommand. For now this
includes devices that have a partition or are mounted on the machine.
One goal is to filter the root device, so it is not included on a batch
command and thus would contribute to its implicit sizing calculation.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 7d168ad7bdbb6d6d5231a4ae540ab03040b49a38)
  - removed the lsmdisk import from src/ceph-volume/ceph_volume/util/device.py

4 years agoceph-volume: address review comments
Jan Fajerski [Fri, 11 Sep 2020 08:36:43 +0000 (10:36 +0200)]
ceph-volume: address review comments

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 6f1592a1146529d352184c795aae8ce12f66e554)

4 years agoceph-volume: batch: fix size retrieval for lvs
Jan Fajerski [Thu, 10 Sep 2020 14:45:34 +0000 (16:45 +0200)]
ceph-volume: batch: fix size retrieval for lvs

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 24e4aa1296608ef861d4ea4b6a1892246a53ef76)

4 years agoceph-volume: include encryption in batch report
Jan Fajerski [Wed, 9 Sep 2020 11:04:14 +0000 (13:04 +0200)]
ceph-volume: include encryption in batch report

Fixes: https://tracker.ceph.com/issues/44783
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit fce184cf9b2d8f15543e1adee49e1fe6cc17437d)

4 years agoceph-volume lvm batch: use namedtuple instead of tuple
Jan Fajerski [Wed, 9 Sep 2020 07:41:15 +0000 (09:41 +0200)]
ceph-volume lvm batch: use namedtuple instead of tuple

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 98c991fc6fd17b18d5bfbebe4b8febe5ff8fa2f0)

4 years agoceph-volume: address review comments, mostly tidying, clarification
Jan Fajerski [Tue, 8 Sep 2020 14:53:53 +0000 (16:53 +0200)]
ceph-volume: address review comments, mostly tidying, clarification

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit d0735ce1c90c952a6d2e1b805c1326d13ff7b06c)

4 years agoceph-volume: batch test should pass --journal-devices with filestore
Jan Fajerski [Mon, 7 Sep 2020 12:54:40 +0000 (14:54 +0200)]
ceph-volume: batch test should pass --journal-devices with filestore

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 55ba8630176041dce898e8b979b5849f13e01ca5)

4 years agoceph-volume: make --journal optional, add --journal-slots
Jan Fajerski [Mon, 7 Sep 2020 12:54:01 +0000 (14:54 +0200)]
ceph-volume: make --journal optional, add --journal-slots

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 7f766846328aac82d75175ed2c1c0bf3438a99e0)

4 years agoceph-volume batch: add deprecation warning for auto behaviour
Jan Fajerski [Fri, 26 Jun 2020 11:34:01 +0000 (13:34 +0200)]
ceph-volume batch: add deprecation warning for auto behaviour

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 1239f77c8871a45e21bd1e3e81be8bb8854f24da)

4 years agoceph-volume batch: add ceph.conf mocking to pass tests
Jan Fajerski [Tue, 23 Jun 2020 14:58:46 +0000 (16:58 +0200)]
ceph-volume batch: add ceph.conf mocking to pass tests

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit eef9dc7a1da6d5dde0d1b02b71301c1d7b7926a9)

4 years agoceph-volume batch: use disk.Size for size args
Jan Fajerski [Fri, 19 Jun 2020 10:58:17 +0000 (12:58 +0200)]
ceph-volume batch: use disk.Size for size args

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 0bc7f7424cdd0a2c5f2cd777467814dbb3959fb4)

4 years agoceph-volume batch: Fix osd_ids passing and improve plan formatting
Jan Fajerski [Fri, 19 Jun 2020 09:22:28 +0000 (11:22 +0200)]
ceph-volume batch: Fix osd_ids passing and improve plan formatting

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 2124aa57b355fb29dcfe13c643bc78b4011f15a6)

4 years agoceph-volume batch: track rel_size in percent, more tests
Jan Fajerski [Tue, 9 Jun 2020 14:40:46 +0000 (16:40 +0200)]
ceph-volume batch: track rel_size in percent, more tests

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 2327e92abae74518d463a55ef4d42dbb816c9200)

4 years agoceph-volume batch: improve backwards compatibility
Jan Fajerski [Wed, 29 Apr 2020 05:47:18 +0000 (07:47 +0200)]
ceph-volume batch: improve backwards compatibility

This restores legacy batch behavior and also adds some initial test and
adjusts existing tests to changes.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit a23a02df02ec4a8f65df0864f3224fb311d25b11)

4 years agoceph-volume: batch - enable legacy auto behaviour
Jan Fajerski [Mon, 27 Apr 2020 10:26:20 +0000 (12:26 +0200)]
ceph-volume: batch - enable legacy auto behaviour

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit d32e0e4320b54302ab989f0a93b57a0404e2094b)

4 years agoceph-volume: batch - major refactor
Jan Fajerski [Mon, 27 Apr 2020 09:47:04 +0000 (11:47 +0200)]
ceph-volume: batch - major refactor

This completely refactors the batch code in order to make use of the
create/prepare code path for creating OSDs instead of having a second
code path doing this. This not only eases the maintenance burden but
also adds various features and fixes bugs. This subcommand can now
handle LVs, replace OSDs, reuse VGs and has a better notion of
idempotency.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit b0b797363fd66baa40eb54cf35dd6cfd11150be9)

4 years agoceph-volume: Device - available_lvm if 10 extents are free.
Jan Fajerski [Mon, 27 Apr 2020 09:35:51 +0000 (11:35 +0200)]
ceph-volume: Device - available_lvm if 10 extents are free.

This changes the available_lvm notion to only require 10 free extents
instead of 5GB.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 6cb0841658ae45f23c2457a8f6a489457012d93e)

4 years agoceph-volume: Device - add vg_free property
Jan Fajerski [Mon, 27 Apr 2020 09:34:19 +0000 (11:34 +0200)]
ceph-volume: Device - add vg_free property

This new property returns the free space in any VGs present. If no VGs
are on the device we project how much space a VG will have.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit b34f130f30daeca034b6b2365cc5a832ba8faa56)

4 years agoceph-volume: prepare/create - size args as Size class
Jan Fajerski [Mon, 27 Apr 2020 09:27:08 +0000 (11:27 +0200)]
ceph-volume: prepare/create - size args as Size class

This add the disk.Size class as all size related argument types. We
often create this class form args like this anyway and it enables users
to pass not only bytes but also strings like 50G.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 2ff37321640a614fd965d7df6e20d8f9d1430fa3)

4 years agoceph-volume: disk.Size - add cast to bool
Jan Fajerski [Mon, 27 Apr 2020 09:45:26 +0000 (11:45 +0200)]
ceph-volume: disk.Size - add cast to bool

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit e7cdeab9dee2684c06b3543a482dd44a1db83c16)

4 years agoceph-volume: api/lvm - add VolumeGroup.free_percent property
Jan Fajerski [Mon, 27 Apr 2020 09:21:37 +0000 (11:21 +0200)]
ceph-volume: api/lvm - add VolumeGroup.free_percent property

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit bad54e97817dfef0e7dfcb834753cbb728c3de46)