diff options
Diffstat (limited to '')
-rw-r--r-- | doc/changelog/v10.2.7.txt | 1530 |
1 files changed, 1530 insertions, 0 deletions
diff --git a/doc/changelog/v10.2.7.txt b/doc/changelog/v10.2.7.txt new file mode 100644 index 00000000..473f45e1 --- /dev/null +++ b/doc/changelog/v10.2.7.txt @@ -0,0 +1,1530 @@ +commit 50e863e0f4bc8f4b9e31156de690d765af245185 +Author: Jenkins Build Slave User <ceph-release-team@redhat.com> +Date: Mon Apr 10 11:43:44 2017 +0000 + + 10.2.7 + +commit a64d3e4b33e904aa6585464df8ffff6aafdec10c +Merge: c92640a 6c2a40a +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Fri Mar 31 10:27:07 2017 -0600 + + Merge pull request #14230 from linuxbox2/wip-jewel-expand-argv + + jewel: rgw_file: expand argv + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit c92640a113843a491678c11319d2352f14486f17 +Merge: 7c35658 fcc3ada +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Fri Mar 31 10:17:10 2017 -0600 + + Merge pull request #14233 from ktdreyer/wip-19421-jewel + + jewel: librbd: possible race in ExclusiveLock handle_peer_notification + + Reviewed-by: Jason Dillaman <dillaman@redhat.com> + +commit 7c3565899af5f1f474d82d8802d15c6c216ea894 +Merge: 12467f6 eedb9f7 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Fri Mar 31 10:16:48 2017 -0600 + + Merge pull request #14231 from linuxbox2/wip-jewel-fhcache + + jewel: rgw_fh: RGWFileHandle dtor must also cond-unlink from FHCache + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 12467f6c3f346072d81c444ed68eb206402d8c33 +Merge: 2d2521c 78c8be7 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Fri Mar 31 10:09:14 2017 -0600 + + Merge pull request #14215 from mdw-at-linuxbox/wip-jewel-rgw-openssl-fix1 + + rgw: fix openssl + + Reviewed-by: Ken Dreyer <kdreyer@redhat.com> + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 2d2521c0300000421740c611a5133c82d2e4d0f6 +Merge: 0840cf8 7e4e290 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Fri Mar 31 10:07:48 2017 -0600 + + Merge pull request #14206 from linuxbox2/wip-gui-jewel + + jewel: rgw_file: various fixes + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 0840cf86214c793794c6f913b63cc67e0ab3fc94 +Merge: 0bf6360 b24a8c2 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Fri Mar 31 10:07:03 2017 -0600 + + Merge pull request #14205 from linuxbox2/wip-dir-orphan-jewel + + jewel: rgw_file: wip dir orphan + + Conflicts: + src/rgw/rgw_file.cc (whitespace, trivial resolution) + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 0bf636057ba853d1d1a777147014a740d5149b17 +Merge: 83b5a7f fb85c68 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Fri Mar 31 10:05:40 2017 -0600 + + Merge pull request #14169 from linuxbox2/wip-18650-jewel + + jewel: rgw: rgw_file: FHCache residence check should be exhaustive + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 83b5a7f1c589546645e0f377d5d5f7b1f7363a59 +Merge: 6a175f2 a969c44 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Fri Mar 31 10:02:58 2017 -0600 + + Merge pull request #13869 from smithfarm/wip-19161-jewel + + jewel: rgw: rgw_file: fix marker computation + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit fb85c68dfbfcfb299cac3a7e6723067f216483ef +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Tue Feb 28 15:49:06 2017 -0500 + + rgw_file: use fh_hook::is_linked() to check residence + + Previously we assumed that !deleted handles were resident--there + is an observed case where a !deleted handle is !linked. Since + we currently use safe_link mode, an is_linked() check is + available, and exhaustive. + + Fixes: http://tracker.ceph.com/issues/19111 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit c0aa515f8d8c57ec5ee09e3b60df3cac60453c40) + +commit fcc3ada733bac74a642ccd0f1ed6301ad7318a30 +Author: Mykola Golub <mgolub@mirantis.com> +Date: Tue Mar 28 15:55:11 2017 +0200 + + jewel: librbd: possible race in ExclusiveLock handle_peer_notification + + This is a cherry-pick from kraken -- the master diverged after + ManagedLock refactoring and is not affected. + + Fix: http://tracker.ceph.com/issues/19368 + Signed-off-by: Mykola Golub <mgolub@mirantis.com> + (cherry picked from commit df59d6d5f7deb586cf14a6ef6984e6847db08852) + +commit eedb9f7d2d2a4047b473f23c5a6956c40a3da126 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Tue Feb 28 20:24:12 2017 -0500 + + rgw_file: RGWFileHandle dtor must also cond-unlink from FHCache + + Formerly masked in part by the reclaim() action, direct-delete now + substitutes for reclaim() iff its LRU lane is over its high-water + mark, and in particular, like reclaim() the destructor is certain + to see handles still interned on the FHcache when nfs-ganesha is + recycling objects from its own LRU. + + Fixes: http://tracker.ceph.com/issues/19112 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit d51a3b1224ba62bb53c6c2c7751fcf7853c35a4b) + +commit 6c2a40a800277ded302f3183ac6c68b01ca3ed41 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Tue Jan 17 11:23:45 2017 -0500 + + rgw_file: split last argv on ws, if provided + + This is intended to allow an "extra" unparsed argument string + containing various cmdline options to be passed as the last argument + in the argv array of librgw_create(), which nfs-ganesha is + expecting to happen. + + While at it, hook env_args() too. + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit fbc19e4effc736c98cc1cc283e5c7b131a0fa766) + +commit d2ca03b391340c6944ba453b106f3e1c45b75f1d +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Sun Feb 12 20:18:26 2017 -0500 + + rgw_file: fix hiwat behavior + + Removed logic to skip reclaim processing conditionally on hiwat, + this probably meant to be related to a lowat value, which does + not exist. + + Having exercised the hiwat reclaim behavior, noticed that the + path which moves unreachable objects to LRU, could and probably + should remove them altogether when q.size exceeds hiwat. Now + the max unreachable float is lane hiwat, for all lanes. + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit b8791b2217e9ca87b2d17b51f283fa14bd68b581) + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 166cb7f85c240eeaffc70968abf5352d9cd45bd9 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Sun Feb 12 18:20:43 2017 -0500 + + rgw_file: refcnt bugfixes + + This change includes 3 related changes: + + 1. add required lock flags for FHCache updates--this is a crash + bug under concurrent update/lookup + + 2. omit to inc/dec refcnt on root filehandles in 2 places--the + root handle current is not on the lru list, so it's not + valid to do so + + 3. based on observation of LRU behavior during creates/deletes, + update (cohort) LRU unref to move objects to LRU when their + refcount falls to SENTINEL_REFCNT--this cheaply primes the + current reclaim() mechanism, so very significanty improves + space use (e.g., after deletes) in the absence of scans + (which is common due to nfs-ganesha caching) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit beaeff059375b44188160dbde8a81dd4f4f8c6eb) + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 31a71be9c9f24e22cf7e6eb390d3b39811ee3577 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Sat Feb 11 16:38:05 2017 -0500 + + rgw_file: add refcount dout traces at debuglevel 17 + + These are helpful for checking RGWFileHandle refcnt invariants. + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 462034e17f919fb783ee33e2c9fa8089f93fd97d) + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 1d6c72fe9a59561fb8f33889895b6708342b2856 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Fri Feb 10 17:14:16 2017 -0500 + + rgw_file: add pretty-print for RGWFileHandle + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit ef330f385d3407af5f470b5093145f59cc4dcc79) + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit a969c449272ce88ddcbbd509432134f19520c8c3 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Mon Feb 20 15:05:18 2017 -0500 + + rgw_file: fix marker computation + + Fixes: http://tracker.ceph.com/issues/19018 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 4454765e7dd08535c50d24205858e18dba4b454c) + +commit a70e83c90eb42439ba194ca197f507f972a18c3c +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Sun Feb 19 20:34:31 2017 -0500 + + rgw_file: rgw_readdir can't list multi-segment dirs + + This issue has one root cause in librgw, namely that the marker + argument to these requests was incorrectly formatted (though the + marker cache was working as intended). + + Secondarily, for nfs-ganesha users, there is a compounding issue + that the RGW fsal was required by "temporary" convention to + populate the entire dirent cache for a directory on a single + readdir() invocation--the cache_inode/mdcache implementations + invariantly pass (before future 2.5 changesets, currently in + progress) a null pointer for the start cookie offset, intended + to convey this. + + Fixes: http://tracker.ceph.com/issues/18991 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 2cd60ee9712291b906123aca1704288b18a9742b) + +commit 209987e1c764cac7574bf0bb969e93fcf55b4361 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Sun Feb 19 18:21:06 2017 -0500 + + rgw_file: allow setattr on placeholder directories + + When a POSIX path <bucket>/foo/ is known only as an implicit path + segment from other objects (e.g., <bucket>/foo/bar.txt), a case + that would usually arise from S3 upload of such an object, an + RGWFileHandle object representing "<bucket>/foo/" will be constructed + as needed, with no backing in RGW. + + This is by design, but subsequently, if a setattr is performed on + such a handle, we must be ready to create the object inline with + storing the attributes. + + Fixes: http://tracker.ceph.com/issues/18989 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 55eec1c0a0e136736961423b7b6244d0f3693c1a) + +commit 6a175f27961bd4f0fda8f94c200458f17865c9f9 +Merge: d32ae21 f3face6 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:36:35 2017 -0600 + + Merge pull request #14140 from smithfarm/wip-19341-jewel + + jewel: 'period update' does not remove short_zone_ids of deleted zones + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit d32ae21128d664370f7d07ed14427b75e10da7f8 +Merge: 4dfeed9 0be4e89 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:35:16 2017 -0600 + + Merge pull request #13886 from cbodley/wip-17786 + + jewel: rgw: clear data_sync_cr if RGWDataSyncControlCR fails + + Reviewed-by: Nathan Cutler <ncutler@suse.com> + +commit 4dfeed949655a5b5041f612b868225c234e86bba +Merge: d69c54a 1985662 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:34:57 2017 -0600 + + Merge pull request #13867 from smithfarm/wip-19159-jewel + + jewel: rgw: multisite: RGWMetaSyncShardControlCR gives up on EIO + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit d69c54aca9dde3d64b56e5ee72f1cd29057a80c6 +Merge: 0830135 dfaaec0 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:34:24 2017 -0600 + + Merge pull request #13858 from smithfarm/wip-19152-jewel + + jewel: rgw_file: restore (corrected) fix for dir partial match (return of FLAG_EXACT_MATCH) + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 0830135f40ac37ac9027bece65b8aac64c2c7ec9 +Merge: 4dd3a9f 97fed01 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:33:18 2017 -0600 + + Merge pull request #13848 from smithfarm/wip-19150-jewel + + jewel: rgw_file: avoid interning .. in FHCache table and don't ref for them + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 4dd3a9f628053784cff2aa5849ab3c4cdb2acf4e +Merge: 5eeba9c d333add +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:29:30 2017 -0600 + + Merge pull request #13844 from smithfarm/wip-19148-jewel + + jewel: rgw: DUMPABLE flag is cleared by setuid preventing coredumps + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 5eeba9cb85e9111ef124acd36dccf77c6f00b3e4 +Merge: ae632b0 f7ce5df +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:26:48 2017 -0600 + + Merge pull request #13823 from asheplyakov/19176-bp-jewel + + jewel: rgw: fix swift cannot disable object versioning with empty X-Versions-Location + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit ae632b0da6cc90a993fcae31b56f97c834d15aa1 +Merge: 874120f e8041f6 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:22:23 2017 -0600 + + Merge pull request #13778 from smithfarm/wip-18811-jewel + + jewel: librgw: RGWLibFS::setattr fails on directories + + Reviewed-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 874120f627f509c75b28d1be699812fce881f4bb +Merge: b0108ea e475bfa +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:21:44 2017 -0600 + + Merge pull request #13717 from asheplyakov/19115-bp-jewel + + jewel: rgw_file: ensure valid_s3_object_name for directories, too + + Reviewed-by: Matt Benjamin <mbenjamin@redhat.com> + +commit b0108ea3bae1662e90c7fb9a911257f45193798c +Merge: 6518d70 db928d6 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:19:03 2017 -0600 + + Merge pull request #13596 from dillaman/wip-19038-jewel + + jewel: rbd-mirror: deleting a snapshot during sync can result in read errors + + Reviewed-by: Mykola Golub <mgolub@mirantis.com> + +commit 6518d70b89686b9a4e8854a4c6290381fbcdd8c3 +Merge: db50938 8941881 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:10:43 2017 -0600 + + Merge pull request #13583 from asheplyakov/jewel-bp-18901 + + jewel: rgw_file: interned RGWFileHandle objects need parent refs + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit db50938013f0b1c1fe8a23247c91bbfc38d36a8c +Merge: 7536871 d44263f +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 16:02:43 2017 -0600 + + Merge pull request #13503 from linuxbox2/wip-jewel-10156 + + jewel: rgw: make sending Content-Length in 204 and 304 controllable + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + Reviewed-by: Radoslaw Zarzynski <rzarzynski@mirantis.com> + +commit 75368712aafc51b062b674b263354cca2dd4b49a +Merge: 250071e 2f20328 +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 15:53:49 2017 -0600 + + Merge pull request #13232 from ovh/wip-rework-recovery-priorities-jewel + + jewel: osd: Increase priority for inactive PGs backfill + + Reviewed-by: Sage Weil <sage@redhat.com> + +commit 250071eb8dc744237acfed01df2cf04f2d88bc85 +Merge: 6f57a77 9910eac +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 15:51:46 2017 -0600 + + Merge pull request #13219 from linuxbox2/jewel-rgw-multipart-upload-copy-4 + + jewel: rgw: multipart uploads copy part support + + Reviewed-by: Casey Bodley <cbodley@redhat.com> + +commit 6f57a775301edce7a1039a4aa4479bbd8883cbf6 +Merge: 8c02e54 3fce77a +Author: Ken Dreyer <kdreyer@redhat.com> +Date: Tue Mar 28 15:51:24 2017 -0600 + + Merge pull request #13108 from vumrao/wip-vumrao-jewel-18657 + + jewel: osd: fix OSD network address in OSD heartbeat_check log message + + Reviewed-by: Josh Durgin <jdurgin@redhat.com> + +commit b24a8c2f3890b6fcc60f3b52cba93d573b9d45a2 +Author: Gui Hecheng <guihecheng@cmss.chinamobile.com> +Date: Thu Mar 2 17:21:57 2017 +0800 + + rgw_file: posix style atime,ctime,mtime + + As an ganesha FSAL backend, rgw_file should properly maintain + the atime,ctime,mtime properly against operations such as: + (read,write) for file + (create,unlink,mkdir,rmdir,rename) for dir + (setattr) for file and dir + + Signed-off-by: Gui Hecheng <guihecheng@cmss.chinamobile.com> + (cherry picked from commit ac25da2479b9be876cbdb820560ac46a6e2b17d7) + +commit b6181833be925b7eb11afffff7f03486bdde2d25 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Mon Feb 20 15:05:18 2017 -0500 + + rgw_file: fix marker computation + + Fixes: http://tracker.ceph.com/issues/19018 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 4454765e7dd08535c50d24205858e18dba4b454c) + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit ed9308cba2af227991a50a9535df30cf9bb18a82 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Sun Feb 19 20:34:31 2017 -0500 + + rgw_file: rgw_readdir can't list multi-segment dirs + + This issue has one root cause in librgw, namely that the marker + argument to these requests was incorrectly formatted (though the + marker cache was working as intended). + + Secondarily, for nfs-ganesha users, there is a compounding issue + that the RGW fsal was required by "temporary" convention to + populate the entire dirent cache for a directory on a single + readdir() invocation--the cache_inode/mdcache implementations + invariantly pass (before future 2.5 changesets, currently in + progress) a null pointer for the start cookie offset, intended + to convey this. + + Fixes: http://tracker.ceph.com/issues/18991 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 2cd60ee9712291b906123aca1704288b18a9742b) + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 26a38e2e1525714978feda018c03698d7af65129 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Sun Feb 19 18:21:06 2017 -0500 + + rgw_file: allow setattr on placeholder directories + + When a POSIX path <bucket>/foo/ is known only as an implicit path + segment from other objects (e.g., <bucket>/foo/bar.txt), a case + that would usually arise from S3 upload of such an object, an + RGWFileHandle object representing "<bucket>/foo/" will be constructed + as needed, with no backing in RGW. + + This is by design, but subsequently, if a setattr is performed on + such a handle, we must be ready to create the object inline with + storing the attributes. + + Fixes: http://tracker.ceph.com/issues/18989 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 55eec1c0a0e136736961423b7b6244d0f3693c1a) + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 7e4e29038bd820e171d007360cf383c85f67879b +Author: Gui Hecheng <guihecheng@cmss.chinamobile.com> +Date: Wed Mar 8 16:23:11 2017 +0800 + + rgw_file: fix reversed return value of getattr + + When ::getattr returns -ESTALE, rgw_getattr returns ESTALE, + which is a not expected postive. + + Signed-off-by: Gui Hecheng <guihecheng@cmss.chinamobile.com> + (cherry picked from commit 39203cf872b8f4af86eb0e4a0f96dffd9cc92b41) + +commit 3c02ee4fe9ae70f30328a7b015f5cac4a1804c67 +Author: Gui Hecheng <guihecheng@cmss.chinamobile.com> +Date: Mon Mar 20 10:53:46 2017 +0800 + + rgw_file: fix non-negative return code for open operation + + The nfs-ganesha expects a negative retcode for errors. + + Signed-off-by: Gui Hecheng <guihecheng@cmss.chinamobile.com> + (cherry picked from commit b5f70ef7b066f9ff44770cc8a50ccadaa02f4691) + +commit e9a4903c6e77caae6f161056e8aaa5ba10ae5ef2 +Author: Gui Hecheng <guihecheng@cmss.chinamobile.com> +Date: Wed Mar 15 15:01:05 2017 +0800 + + rgw_file: fix double unref on rgw_fh for rename + + Skip unref after unlink to fix the problem. + + Signed-off-by: Gui Hecheng <guihecheng@cmss.chinamobile.com> + (cherry picked from commit bff228734c73b536d2482e2e2fa4ad38b206ebff) + +commit 9910eac98474930369d694b236c06ffd627fee04 +Author: Yehuda Sadeh <yehuda@redhat.com> +Date: Thu Sep 29 22:20:10 2016 -0700 + + rgw: multipart part copy, fix regression + + Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> + (cherry picked from commit 66fbe9384703c004c01783eb664f55895d310439) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit a3fdf0e246637ef4145b6b5ba1f4b114ec7ebc62 +Author: Yehuda Sadeh <yehuda@redhat.com> +Date: Thu Sep 29 17:44:08 2016 -0700 + + rgw: minor optimization + + Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> + (cherry picked from commit 4919dc9987c6376d3d4e143702c26417449524c5) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 2161376baf413acfbf02df07e404d2918729bfcc +Author: Yehuda Sadeh <yehuda@redhat.com> +Date: Thu Sep 29 17:43:00 2016 -0700 + + rgw: rgw_obj_key use adjustment in multipart copy part + + This fixes a case where objects start with double underscore. + + Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> + (cherry picked from commit 29fece3545cc1df404a25eec46706b16f893a5df) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 135f84d860d10a2961f430708983113a87ddf899 +Author: Yehuda Sadeh <yehuda@redhat.com> +Date: Thu Sep 29 17:43:35 2016 -0700 + + rgw: multipart copy-part handle versionId + + Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> + (cherry picked from commit 53521efffb1cb92e5f5ce992d4127bf9498d7c33) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 9ab65f5501fb59aac17cfdde57371b00af03d84b +Author: Yehuda Sadeh <yehuda@redhat.com> +Date: Thu Sep 29 14:24:13 2016 -0700 + + rgw: multipart copy part minor parsing cleanup + + no need for range.size() + + Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> + (cherry picked from commit 6e9b824d5d4017239d58b4752ebc43bfad8f698d) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 3eb9dc96ff8e655415500a3595a78cab80739826 +Author: Yehuda Sadeh <yehuda@redhat.com> +Date: Thu Sep 29 14:11:43 2016 -0700 + + rgw: multipart copy, check for empty bucket, improve logging + + also reduce log level for non critical user errors. + + Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> + (cherry picked from commit 2bcb3d286b230ef917d5ba96c8276a942f544689) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit 2588e95d9d422d3b33fd710de1f5884873465483 +Author: Yehuda Sadeh <yehuda@redhat.com> +Date: Thu Sep 29 14:07:14 2016 -0700 + + rgw: multipart copy part, chunked read + + Don't read the entire range from source object, read it in parts. + + Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> + (cherry picked from commit 4049e47a0cfc1eef6efd502590b68ba7234589d3) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit bd118b556562176ce2390a935b3bb8c25a62d0c4 +Author: Javier M. Mellid <jmunhoz@igalia.com> +Date: Tue Jul 26 14:56:50 2016 +0200 + + rgw: doc: add multipart uploads copy part feature as supported + + Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com> + (cherry picked from commit 8a7ebeee2ff3f10ceb23b7fa43e43c3c450efe22) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit b56b719299becc38ec36d427a36b8c29f2416c08 +Author: Javier M. Mellid <jmunhoz@igalia.com> +Date: Tue Jul 26 14:53:44 2016 +0200 + + rgw: multipart uploads copy part support + + Add multipart uploads copy part feature. + + Fixes: http://tracker.ceph.com/issues/12790 + + Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com> + (cherry picked from commit 949480c2e9760855ed6a0501d364d5e766c8207d) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit d44263fc91da12ea0ad4fec0cd2877b36ddb9e9f +Author: Radoslaw Zarzynski <rzarzynski@mirantis.com> +Date: Fri Feb 17 00:56:34 2017 +0100 + + rgw: make sending Content-Length in 204 and 304 controllable + + This commit introduces a new configurable "rgw print prohibited + content length" to let operator decide whether RadosGW complies + to RFC 7230 (a part of the HTTP specification) or violates it + but follows the Swift's behavior. + + Fixes: http://tracker.ceph.com/issues/16602 + Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com> + (cherry picked from commit d8e3e64ec97a3c222a56bb6f510e5e23d7858615) + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + +commit f3face61351a61f3b71dfb8268a4b645c4d92da2 +Author: Casey Bodley <cbodley@redhat.com> +Date: Thu Mar 9 15:24:08 2017 -0500 + + rgw: clear old zone short ids on period update + + the short ids of old, removed zones were being kept in the period to + guard against hash collisions with new zones + + but for a hash collision to cause a wrong object to sync, that object + would have to be uploaded simultaneously to two different zones that had + the same short id + + to avoid this, we just have to prevent the period from containing two + colliding zones at the same time - we don't have to remember old zone + short ids forever + + Fixes: http://tracker.ceph.com/issues/15618 + + Signed-off-by: Casey Bodley <cbodley@redhat.com> + (cherry picked from commit 9c45633c836c966ab1f75ea2b1ad3fa0a4886600) + +commit 8c02e54a747644d24feb98dbc15a15cdd55d1afd +Merge: 9d222b9 952f34f +Author: David Zafman <dzafman@redhat.com> +Date: Fri Mar 24 08:13:02 2017 -0700 + + Merge pull request #13146 from dzafman/wip-18502-jewel-zafman + + jewel: osd: Scrub improvements and other fixes + + Reviewed-by: Kefu Chai <kchai@redhat.com> + +commit 9d222b943217a2ec022678e50b34766d231004ce +Merge: ce2e989 cb9fae5 +Author: Nathan Cutler <presnypreklad@gmail.com> +Date: Thu Mar 23 16:49:13 2017 +0100 + + Merge pull request #14100 from smithfarm/wip-18781 + + Manually merge PR#13143 which was mistakenly merged to jewel-next + + Reviewed-by: Loic Dachary <ldachary@redhat.com> + Reviewed-by: Ken Dreyer <kdreyer@redhat.com> + +commit cb9fae56ebdfda28b0606ee89631deb60e5f7de7 +Merge: ce2e989 ee3c67c +Author: Nathan Cutler <ncutler@suse.com> +Date: Thu Mar 23 09:46:53 2017 +0100 + + Merge branch 'jewel-next' into jewel + + Branch "jewel-next" was merged to jewel on Dec 22 (5b402f8a7b), and then PR + https://github.com/ceph/ceph/pull/13143 merged to jewel-next much later (Feb + 1st), and then jewel-next was never merged to jewel again before we tagged + v10.2.6. + + This merge brings in a single commit, i.e. the one from + https://github.com/ceph/ceph/pull/13143 + + Reported-by: Ken Dreyer <kdreyer@redhat.com> + Signed-off-by: Nathan Cutler <ncutler@suse.com> + +commit ce2e9897c08775cfbe318f637d61e07eb5433df5 +Merge: 656b5b6 d0a0d2f +Author: Zack Cerza <zack@cerza.org> +Date: Tue Mar 14 09:19:28 2017 -0600 + + Merge pull request #13952 from smithfarm/wip-fix-merge-error + + tests: fix merge error in rgw/singleton/all/radosgw-admin.yaml + +commit 0be4e89419f2083d081ac784891e4653290cd530 +Author: Casey Bodley <cbodley@redhat.com> +Date: Tue Oct 11 15:21:42 2016 -0400 + + rgw: hold a reference on data_sync_cr over run() + + run() will drop its reference to data_sync_cr, so we need to hold a + reference until we can reacquire the lock + + Signed-off-by: Casey Bodley <cbodley@redhat.com> + (cherry picked from commit 4cf0d2a768e7402e71280ca16b47353ca2a68505) + +commit 18ffdb7baf4aff1fd7f894af1054081f3ee61d28 +Author: Casey Bodley <cbodley@redhat.com> +Date: Tue Oct 11 15:19:37 2016 -0400 + + rgw: clear data_sync_cr if RGWDataSyncControlCR fails + + async notifications will still try to call wakeup() on RGWDataSyncControlCR + if it fails, leading to segfault + + Fixes: http://tracker.ceph.com/issues/17569 + + Signed-off-by: Casey Bodley <cbodley@redhat.com> + (cherry picked from commit 5cc599b9bf2dde31de16a5b2831baf06851d69d5) + + Conflicts: + src/rgw/rgw_data_sync.cc: declaration of 'int r' + +commit d0a0d2f4bf1dacf7c1f38b968be84a5e905554a8 +Author: Nathan Cutler <ncutler@suse.com> +Date: Tue Mar 14 01:26:23 2017 +0100 + + tests: fix merge error in rgw/singleton/all/radosgw-admin.yaml + + Introduced by 94d5888c + + Reported-by: Robin H. Johnson <robin.johnson@dreamhost.com> + Signed-off-by: Nathan Cutler <ncutler@suse.com> + +commit 19856624cd5ea8cb82bc5b46e062beb39674bd34 +Author: Casey Bodley <cbodley@redhat.com> +Date: Mon Feb 20 16:00:01 2017 -0500 + + rgw: RGWMetaSyncShardControlCR retries with backoff on all error codes + + RGWBackoffControlCR only treats EBUSY and EAGAIN as 'temporary' error + codes, with all other errors being fatal when exit_on_error is set + + to RGWMetaSyncShardControlCR, a 'fatal' error means that no further sync + is possible on that shard until the gateway restarts + + this changes RGWMetaSyncShardControlCR to set exit_on_error to false, so + that it will continue to retry with backoff no matter what error code it + gets + + Fixes: http://tracker.ceph.com/issues/19019 + + Signed-off-by: Casey Bodley <cbodley@redhat.com> + (cherry picked from commit 3e4059557fd6cad5d31014327f60832b36d04a6c) + +commit dfaaec0446c3db458bffe1d725518ab4f7cc2fa8 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Thu Feb 23 10:21:38 2017 -0500 + + rgw_file: return of RGWFileHandle::FLAG_EXACT_MATCH + + Allow callers of rgw_lookup() on objects attested in an + rgw_readdir() callback the ability to bypass exact match in + RGWLibFS::stat_leaf() case 2, but restore exact match enforcement + for general lookups. + + This preserves required common_prefix namespace behavior, but + prevents clients from eerily permitting things like "cd sara0" via + partial name match on "sara01." + + Fixes: http://tracker.ceph.com/issues/19059 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 70ef7d45e0abf2661bd4e23161d4e70cf5178079) + +commit 9b3784d924112d9ba42b2088d5fb2656ef74fadc +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Sun Feb 19 17:43:17 2017 -0500 + + rgw_file: invalid use of RGWFileHandle::FLAG_EXACT_MATCH + + The change which introduced this flag also caused it to be + given as the flags argument to RGWLibFS::stat_leaf() when called + from rgw_lookup(). + + This was incorrect: in particular, when a directory is known only + as a common prefix of other objects, the AWS namespace mapping + convention requires lookup("foo") to match a non-materialized + instance of "foo/" (case 2 in RGWLibFS::stat_leaf's stat loop). + + Fixes: http://tracker.ceph.com/issues/18992 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit e31e9eb980f958640150e8d7f17de1b9e5478b1e) + +commit 7761376c92eb38a2dd3d19f0b3d81895a4b1167c +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Wed Feb 22 14:57:59 2017 -0500 + + rgw_file: rgw_lookup: don't ref for "/" or ".." + + These refs won't be returned by nfs-ganesha, and are sufficiently + magical that other consumers should be persuaded to understand + their specialness. + + Fixes: http://tracker.ceph.com/issues/19060 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit dea8d1ee373399a21851690a9753388b659b8ede) + +commit 97fed013f66a89c404bac5145080e5d556ff5c42 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Wed Feb 22 10:24:29 2017 -0500 + + rgw_file: avoid stranding invalid-name bucket handles in fhcache + + To avoid a string copy in the common mkdir path, handles for + proposed buckets currently are staged in the handle table, before + being rejected. They need to be destaged, not just marked deleted + (because deleted objects are now assumed not to be linked, as of + beaeff059375b44188160dbde8a81dd4f4f8c6eb). + + This triggered an unhandled Boost assert when deleting staged + handles, as current safe_link mode requires first removing from + the FHCache. + + Fixes: http://tracker.ceph.com/issues/19036 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 6cde812c92e5bba9f85fbf8486ebe69b55952370) + +commit d333addb71a0a92fbac5a7b922dbd69fc9e0604e +Author: Brad Hubbard <bhubbard@redhat.com> +Date: Mon Feb 27 13:06:59 2017 +1000 + + rgw: set dumpable flag after setuid post ff0e521 + + ff0e521 resolved the issue for the other daemons but not for rgw since + it calls setuid (via civetweb) after the new code sets PR_SET_DUMPABLE. + Add another prctl call before wait_shutdown. + + Fixes: http://tracker.ceph.com/issues/19089 + + Signed-off-by: Brad Hubbard <bhubbard@redhat.com> + (cherry picked from commit bc458d39630b599e0e1ca9fe25ad7455fcffdd10) + +commit f7ce5df4064e5538156cb44f9525d7552a0dd098 +Author: Jing Wenjun <jingwenjun@cmss.chinamobile.com> +Date: Wed Feb 8 15:07:43 2017 +0800 + + rgw: fix swift cannot disable object versioning with empty X-Versions-Location + + we should be able to disable object verioning by removing its X-Versions-Location + metadata header by sending an empty key value. this description can be found at + No.8 in http://docs.openstack.org/user-guide/cli-swift-set-object-versions.html. + + Fixes: http://tracker.ceph.com/issues/18852 + Signed-off-by: Jing Wenjun <jingwenjun@cmss.chinamobile.com> + (cherry picked from commit 17c5a0edd2227703cec867f0f588d4eae36dfe1c) + +commit 2f2032814189a4ecbf8dc01b59bebfae8ab3f524 +Author: Bartłomiej Święcki <bartlomiej.swiecki@corp.ovh.com> +Date: Fri Dec 2 16:54:46 2016 +0100 + + osd: Increase priority for inactive PGs backfill + + This change does prioritize backfill of PGs which don't + have min_size active copies. Such PGs would cause IO stalls + for clients and would increase throttlers usage. + + This change also fixes few subtlle out-of-bounds bugs. + + Signed-off-by: Bartłomiej Święcki <bartlomiej.swiecki@corp.ovh.com> + (cherry picked from commit 6a76adcdb1f92c136841d960aa7cd4e5b94addec) + + Conflicts: + PendingReleaseNotes (removed version number, merged conflicts) + +commit e8041f627c6a05a59dba29819ed610ea0896f4dd +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Fri Feb 3 13:44:45 2017 -0500 + + rgw_file: fix RGWLibFS::setattr for directory objects + + Fixes: http://tracker.ceph.com/issues/18808 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 4ad5a9226852d6d564baf2e63278ed6c4c185ecb) + +commit e475bfaf7d3a1b0e54172083a92546560219665a +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Thu Feb 23 16:02:07 2017 -0500 + + rgw_file: ensure valid_s3_object_name for directories, too + + The logic in RGWLibFS::mkdir() validated bucket names, but not + object names (though RGWLibFS::create() did so). + + The negative side effect of this was not creating illegal objects + (we won't), but in a) failing with -EIO and b) more importantly, + not removing up the proposed object from FHCache, which produced a + boost assert when recycled. + + Fixes: http://tracker.ceph.com/issues/19066 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit eb1cd3b30c0504385f05bf2d2dd5e2251b7efed7) + +commit 78c8be7a0df3d1c669f8a2a8fd7a5676d0823209 +Author: Marcus Watts <mdw@linuxbox.com> +Date: Thu Feb 23 02:30:52 2017 -0500 + + rgw/openssl fix: xenial autoconf logic problem: gcc/ld got too smart... + + On xenial, cc -o foo -lssl -lcrypto doesn't always + record libssl.so libcrypto.so as runtime library dependencies. + It is necessary to actually *use* a function from the library before + it gets recorded. The ld(1) options "--as-needed" and "no-as-needed" + control this. Evidently the default has changed in xenial. + That caused my smart "soname" detecting logic for openssl to + stop working. To make it work, the test program has to + actually reference routines or variables inside the library. + + This is a quick fix for xenial / autoconf. There needs to be + a better fix for cmake and master. + + Signed-off-by: Marcus Watts <mwatts@redhat.com> + +commit db928d6b3f983b3a1ccc07440fcd3680700a1188 +Author: Jason Dillaman <dillaman@redhat.com> +Date: Tue Feb 21 15:33:01 2017 -0500 + + rbd-mirror: retry object copy after -ENOENT error + + Fixes: http://tracker.ceph.com/issues/18990 + Signed-off-by: Jason Dillaman <dillaman@redhat.com> + (cherry picked from commit b4f36d5dc3f4f3cbb23f61cbb945b222248a50df) + + Conflicts: + src/test/librados_test_stub/MockTestMemIoCtxImpl.h: sparse reads not supported + src/test/rbd_mirror/image_sync/test_mock_ObjectCopyRequest.cc: sparse reads not supported + +commit a643fa80e03b41edcc720ff77b69ebaf24a23f3e +Author: Jason Dillaman <dillaman@redhat.com> +Date: Tue Feb 21 13:09:39 2017 -0500 + + rbd-mirror: object copy should always reference valid snapshots + + If a remote snapshot is deleted while an image sync is in-progress, + associate the read request against the most recent, valid remote + snapshot for a given snapshot object clone. + + Signed-off-by: Jason Dillaman <dillaman@redhat.com> + (cherry picked from commit 9a91efc3047963364944f8be91cee8e8f6afc49a) + +commit 37bbc95d56f73e4ec9c6e13ddbae199b14b104b4 +Author: Jason Dillaman <dillaman@redhat.com> +Date: Tue Feb 21 11:52:00 2017 -0500 + + rbd-mirror: replace complex object op tuple with struct + + Signed-off-by: Jason Dillaman <dillaman@redhat.com> + (cherry picked from commit 0c181527c0e151784a0f7c466aaa70b0772f91b1) + + Conflicts: + src/tools/rbd_mirror/image_sync/ObjectCopyRequest.cc: sparse reads not supported + src/tools/rbd_mirror/image_sync/ObjectCopyRequest.h: sparse reads not supported + +commit 8941881e8986af0b2871c15d188d94d49e95dc02 +Author: Matt Benjamin <mbenjamin@redhat.com> +Date: Fri Dec 30 23:30:16 2016 -0500 + + rgw_file: interned RGWFileHandle objects need parent refs + + RGW NFS fhcache/RGWFileHandle operators assume existence of the + full chain of parents from any object to the its fs_root--this is + a consequence of the weakly-connected namespace design goal, and + not a defect. + + This change ensures the invariant by taking a parent ref when + objects are interned (when a parent ref is guaranteed). Parent + refs are returned when objects are destroyed--essentially by the + invariant, such a ref must exist. + + The extra ref is omitted when parent->is_root(), as that node is + not in the LRU cache. + + Fixes: http://tracker.ceph.com/issues/18650 + + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 0e5299f3f43e633a5d8a9360893b4b11f6217d81) + +commit 952f34f39cdd0438e4a4fb369ea8ca20b26488a8 +Author: David Zafman <dzafman@redhat.com> +Date: Mon Dec 12 15:53:25 2016 -0800 + + test: Update for new error message when doing scrub with deep-scrub errors + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 85e0774a7dded4aa6c67f237416041e25a7680bc) + +commit b655b98e48989ae954dc150fcb3d8976978cd90d +Author: David Zafman <dzafman@redhat.com> +Date: Fri Dec 9 12:14:06 2016 -0800 + + osd: Add "trigger_scrub" admin socket command + + This allows testing to fake a schedule scrub (must_scrub not set) + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit c8dc945260ee2ee841aca00fbc802d41036033d6) + +commit 94c958d2c9570e55305384ac86185e328746d2ff +Author: David Zafman <dzafman@redhat.com> +Date: Thu Dec 8 23:00:13 2016 -0800 + + test: Add test for keeping deep-scrub information + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 64a7012e986ec88994c073b738fd08e8958395c3) + +commit 42eb24f18d5114410bd2a3e84e9219584d9e165e +Author: David Zafman <dzafman@redhat.com> +Date: Thu Dec 1 16:39:42 2016 -0800 + + osd: When deep-scrub errors present upgrade regular scrubs + + Previously, if a weekly deep-scrub found errors the next daily scrub + would cause the deep-scrub information to be removed. + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 532a759dca466181f37a329f86045c34f1a2506f) + +commit 76a457aa7c411dc5ed22f171954b8ed3c4661845 +Author: David Zafman <dzafman@redhat.com> +Date: Wed Oct 19 17:10:29 2016 -0700 + + tasks/scrub_test.py: Make test deterministic by updating digests + + ceph_test_rados: Get coverage of digest updates in deep-scrub/repair + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit e000ab2f46b7b98a223176a2a25bb7195e601af6) + +commit bd1f1983129d6e1787b8b5eb4884c5e908f7b274 +Author: David Zafman <dzafman@redhat.com> +Date: Wed Oct 19 17:10:07 2016 -0700 + + repair_test, scrub_test: Fix whitelists for scrub changes + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 5fe8522df47f56842d227e08b2912623504afe24) + +commit 28106f06404407df7d05b35f9f570a80e785e635 +Author: David Zafman <dzafman@redhat.com> +Date: Wed Aug 31 12:02:31 2016 -0700 + + scrub_test: Fix for list-inconsistent-obj output changes + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 5ae0f5c75a8236d4a026f9ddcb5ff59964d90579) + +commit abcefc1395f76e5b05a988b970457a7f6dac6e8e +Author: David Zafman <dzafman@redhat.com> +Date: Tue Aug 30 12:11:44 2016 -0700 + + doc, test: Add schemas for list-inconsistent-* rados command output + + If jsonschema cmd is available use it to test output against schema + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit eb73dd473600fbbb45fad00194f7c46b565d6b81) + +commit 2fa2b64676555a91883a5aabb4e4237124308629 +Author: David Zafman <dzafman@redhat.com> +Date: Tue Aug 30 12:22:55 2016 -0700 + + test: Update testing for new list-inconsistent-obj output + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit b7bacd219b000869b9c93e21edba4f8a3ace60d9) + + Adapted for difference in Jewel object_info + +commit 304f697ff1106695188b572e0da2415437040a6c +Author: David Zafman <dzafman@redhat.com> +Date: Tue Aug 30 12:22:29 2016 -0700 + + rados, osd: Improve attrs output of list-inconsistent-obj + + Persist the user_version and shard id of scrubbed obj + Rados command dump inconsistent obj's version and shard-id + so they can be passed to repair command + Rados list-inconsistent-obj output of attrs + Make attrs an array since there are more than one + Use base64 encode for values with non-printable chars + Add indication if base64 encoding used + Add checking for ss_attr_missing and ss_attr_corrupted + Rename attr errors to attr_key_mismatch and attr_value_mismatch + Add missing size_mismatch_oi scrub checking + For erasure coded pools add ec_size_error and ec_hash_error not just read_error + Use oi_attr_missing and oi_attr_corrupted just like list-inconsistent-snap does + Pick an object info based on version and use that to find specific shards in error + Check for object info inconsistency which should be rare + Make all errors based on comparing shards to each other object errors + We don't want give the impression that we've picked the correct one + + Signed-off-by: Kefu Chai <kchai@redhat.com> + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit df3ff6dafeadb3822b35c424a890db9a14d7f60f) + +commit ea52f527e530b111b1bb26d10824c0230d662c4a +Author: David Zafman <dzafman@redhat.com> +Date: Thu Sep 1 14:45:01 2016 -0700 + + osd: Fix logging to help with diagnostics + + These messages were not outputing the intended information + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit b39001ec6ff0996860bcb5a3578bc2c66355c781) + +commit 5e8f8a2288aa1a9f1de86d3f7d0f9c66c795113e +Author: David Zafman <dzafman@redhat.com> +Date: Tue Jun 21 18:05:25 2016 -0700 + + test: Fix use of wait_for_clean() + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit d0503a52d0fe5505bdb38dfd613c03a20500c05d) + +commit 2230e6adc66ca3e5dbe81aecccdb4a435e93e256 +Author: David Zafman <dzafman@redhat.com> +Date: Tue Aug 30 10:56:06 2016 -0700 + + common: Change cleanbin() to use base64 encoding, update ceph-objectstore-tool + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 92e982c71995b863466d83671468f84761cb1793) + +commit 83ea077ee560d31a5c302a62b55451a2571fda8d +Author: David Zafman <dzafman@redhat.com> +Date: Tue Aug 30 11:05:16 2016 -0700 + + common: Move cleanbin() function to common/util.cc + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 5c79074ffaee34b2956d9dfc67b1eff9f39b47f3) + + Conflicts: + src/tools/CMakeLists.txt (changes goes in src/CMakeLists.txt) + +commit ba84ca9fa391d963d1d4e46fbf27ce3dbff397be +Author: David Zafman <dzafman@redhat.com> +Date: Wed Jun 8 09:48:00 2016 -0700 + + test: Add test support for deep-scrub + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 907e79e2b77835d1aca9e8ba2fae5fa2fd437e5a) + +commit 6a421d19d0be4d59beed5c69bb0aa4477d65a14e +Author: David Zafman <dzafman@redhat.com> +Date: Sat Jun 18 17:58:36 2016 -0700 + + common: Fix indentation + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit a74418a29e4e469117fc0c4edd80f78b62944c98) + +commit c7c3e070336dc898460d4338b4d78b8963467c8a +Author: David Zafman <dzafman@redhat.com> +Date: Fri Aug 12 12:06:31 2016 -0700 + + osd: Handle corrupt attributes in get_object_context() + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 30f8b0d6593718dd10bcf6ff459c95b4bb68c05c) + +commit 8006ba7e86ebb8201a040c427cc95197901064be +Author: Kefu Chai <kchai@redhat.com> +Date: Fri Nov 11 21:37:50 2016 +0800 + + ReplicatedPG::failed_push: release read lock on failure + + and requeue the blocked ops. + + Fixes: http://tracker.ceph.com/issues/17857 + Signed-off-by: Kefu Chai <kchai@redhat.com> + (cherry picked from commit b3224a18f6acc7ed54c2162b140a33b6146a16be) + +commit 5ca69d57dbe2ee7acc64d28ca35bb390bf463199 +Author: David Zafman <dzafman@redhat.com> +Date: Fri Oct 14 16:17:55 2016 -0700 + + test.sh: Make check for flags more robust + + Low space broke test, saw "flags nearfull,pauserd,pausewr...." + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit b4c080b1b4378d659c1ca8a17811cd6f84595166) + +commit 1be38e5ebd2d01d5d527b05e64b026df955ffe69 +Author: David Zafman <dzafman@redhat.com> +Date: Thu Jul 21 17:36:34 2016 -0700 + + test: Remove extra objectstore_tool call which causes a recovery + + Caused by: 70e000a9a42c50eda48f5d3b9e432ffc3a70f75b + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 6904529d1b53993304de2927500937ba0d493e9e) + +commit 026f181e72f2e09e769a8821dfe2c99f6213e6a3 +Author: David Zafman <dzafman@redhat.com> +Date: Tue Jun 14 20:09:15 2016 -0700 + + test: Handle object removals in a non-racey way + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit bfe3ebd94fdc1ef36ebe6e8f9d38acea322eca22) + +commit c5ef385c25086dc1582ebe5343481d05283b0cc6 +Author: David Zafman <dzafman@redhat.com> +Date: Thu May 26 22:09:42 2016 -0700 + + osd: Fix hang on unfound object after mark_unfound_lost is done + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 73a27533beba3587f8447b4d41d200427c45042b) + + Conflicts: + src/osd/ReplicatedPG.cc (trivial) + +commit 6284f745157458439699c76e8616455c50d1eb71 +Author: David Zafman <dzafman@redhat.com> +Date: Fri May 20 15:20:18 2016 -0700 + + osd: Handle recovery read errors + + Fixes: http://tracker.ceph.com/issues/13937 + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit c51d70e1e837c972e42ddd5fa66f7ca4477b95cc) + + Conflicts: + src/osd/ReplicatedPG.h (trivial) + +commit 27393a8c05d4656f342ecd32817307e558a2e400 +Author: David Zafman <dzafman@redhat.com> +Date: Fri May 20 18:19:42 2016 -0700 + + osd: Fix log messages + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit b40ec3fe890679b4c73778815e1bedd492cb264b) + +commit cbf66f3b16f194dd0c67b46e0fec247e02e84134 +Author: David Zafman <dzafman@redhat.com> +Date: Fri May 20 13:58:32 2016 -0700 + + osd: CLEANUP: Remove unused pending_read member + + Remove unused struct + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 36fd68c96653e83f87767feb08530a9fc6e841b0) + +commit 228b91d72a15b62adc10591604c4e8a849df53d5 +Author: David Zafman <dzafman@redhat.com> +Date: Tue Oct 11 18:08:12 2016 -0700 + + test/osd-scrub-repair.sh: Use test case specific object names to help with diagnostics + + Signed-off-by: David Zafman <dzafman@redhat.com> + (cherry picked from commit 0bf4da589155ee50969812492cfbc66368efb54c) + +commit ee3c67c9cbfdeeb3e628bac34b708cf150b3862e +Merge: 3dbf0c9 39848e4 +Author: Nathan Cutler <presnypreklad@gmail.com> +Date: Wed Feb 1 23:28:22 2017 +0100 + + Merge pull request #13143 from linuxbox2/jewel-mdw-rgw-lf + + jewel: rgw: radosgw/swift: clean up flush / newline behavior. + + Reviewed-by: Nathan Cutler <ncutler@suse.com> + +commit 39848e41b7c517cc5faab1ccf77c2804fd7d2628 +Author: Marcus Watts <mwatts@redhat.com> +Date: Wed Jan 11 00:06:15 2017 -0500 + + radosgw/swift: clean up flush / newline behavior. + + The current code emits a newline after swift errors, but fails + to account for it when it calculates 'content-length'. This results in + some clients (go github.com/ncw/swift) producing complaints about the + unsolicited newline such as this, + Unsolicited response received on idle HTTP channel starting with "\n"; err=<nil> + + This logic eliminates the newline on flush. This makes the content length + calculation correct and eliminates the stray newline. + + There was already existing separator logic in the rgw plain formatter + that can emit a newline at the correct point. It had been checking + "len" to decide if previous data had been emitted, but that's reset to 0 + by flush(). So, this logic adds a new per-instance variable to separately + track state that it emitted a previous item (and should emit a newline). + + Fixes: http://tracker.ceph.com/issues/18473 + Signed-off-by: Marcus Watts <mwatts@redhat.com> + Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> + (cherry picked from commit 5f229d6a33eae4906f22cdb90941835e47ee9f02) + +commit 3fce77ab3662496368e25cbbf6d1b37d3c140db9 +Author: Vikhyat Umrao <vumrao@redhat.com> +Date: Wed Jan 25 21:54:27 2017 +0530 + + osd: jewel fix OSD network address in OSD heartbeat_check log message + + Fixes: http://tracker.ceph.com/issues/18657 + + Signed-off-by: Vikhyat Umrao <vumrao@redhat.com> + +commit 14a6aabe22f68436ea3297ce0851700f86ee5b12 +Author: Marcus Watts <mwatts@redhat.com> +Date: Wed Aug 3 17:36:55 2016 -0400 + + rgw: Handle multiple listening addreses w/ optional ssl "correctly" with civetweb. + + For civetweb: accept a range of port numbers joined with '+'. + Port numbers may include an ipaddress: prefix and 's' suffix. + Additionally, use "mg_get_local_addr" to correctly deduce host port per + incoming connection. + + civetweb can accept connections on multiple ports, some of which + might have SSL turned on and some not. Both s3 and swift have various + authorization protocols in which the port number matters. In the generic + radosgw frontend process, each frontend only has one port number, but + we should want to have both ssl and non-ssl connections managed within + one rgw frontend, because the thread pool is also per front-end, and + that *is* a scarce resource. + + So, this patch enables the use of multiple ports with a single civetweb + frontend. To indicate https: append an 's' to portno. To use multiple + ports, use +. So 80+443s indicates use of the usual default http ports. + The parsed port is not stored in the frontend structure, + + So instead, this patch adds logic to use the results of + mg_get_local_addr() on a per-connection basis insetad of the generic + front-end port number. This will affect "v4" s3 authorization, and also + affect swift pre-signed URLs. + + mg_get_local_addr() is a new customization to civetweb; that submodule + was updated (in a temporary repository) by the previous commit to this. + + Signed-off-by: Marcus Watts <mwatts@redhat.com> + (cherry picked from commit 8bc6decc0774fae9ac881f91e73da55deebe3360) + +commit 698250563ccc4c69e5ca5aebf65dc352d80a8bdd +Author: Marcus Watts <mwatts@redhat.com> +Date: Tue Dec 20 00:22:02 2016 -0500 + + rgw: s3: secure_port should override port, also apply ssl default right. + + Without https, only port is set. With https, secure_port and port are + both set to the same value. The previous logic looked at port first and + had overly simplified conditional logic which was liable to try to apply + both non-default cases. The correct behavior is: look secure_port first, + and if secure_port is set, then only check to see if it's a non-default + port. + + Signed-off-by: Marcus Watts <mwatts@redhat.com> + (cherry picked from commit a113cf5ff5a642d2ee4cc83f5c7001b4bfe0a5df) + +commit 28f2841c8b9a832e486b9f89c574a4591bf3d448 +Author: Marcus Watts <mwatts@redhat.com> +Date: Wed Nov 2 00:18:48 2016 -0400 + + rgw: Get civetweb ssl enhancement: wip-listen3 = mg_get_local_addr + + The logic inside of radosgw that computes aws v4 signatures wants to know + what server port the client connected. The patch to civetweb patch adds a + call mg_get_local_addr() which will permit that code to actually find out + on what address a connection was received, rather than merely guessing + based on configuration as it previously did. + + Signed-off-by: Marcus Watts <mwatts@redhat.com> + (cherry picked from commit 46ced9ddd2795f00f014e22e5637070b49e7a6d5) + +commit 8d83dfb4176ede7490d0cab589e9566bc7d4e387 +Author: Marcus Watts <mwatts@redhat.com> +Date: Wed Mar 23 17:32:14 2016 -0400 + + rgw: Document that radosgw now supports SSL. + + This includes information on file format and configuration file syntax. + + Signed-off-by: Marcus Watts <mwatts@redhat.com> + (cherry picked from commit d4e72dfed30274b3cfbad4ac58c0746a98c0148b) + +commit e3f80c9d0ed6762a39fc242561f5ea26f0f26546 +Author: Marcus Watts <mwatts@redhat.com> +Date: Fri Jan 13 03:39:57 2017 -0500 + + rgw: civetweb/openssl: automagic: load libssl.so and libcrypto.so by soname. + + If building with radosgw, always look for openssl library (even when + building with nss). Then, use objdump to fetch SONAME from the copies + of libssl and libcrypto that were found. When building civetweb; pass + the library soname values in as the libraries to load with "dlopen". + + The issue reported here against master + http://tracker.ceph.com/issues/16535 + reflects stuff that doesn't seem to have made it into jewel + (which had: -lssl -lcrypto hard-wired into it.) + Still, since people were pretty riled about making that change, + this puts things in congruence to the final result in master. + (which is: runtime shared object load of ssl crypto by soname.) + + Fixes: http://tracker.ceph.com/issues/11239 + + Signed-off-by: Marcus Watts <mwatts@redhat.com> + (inspired by commit 7caa0bd002110b62514da83a37a2a3deb841267a) + +commit 045551485415309ba9bad77e1aee28a0008881ca +Author: Marcus Watts <mwatts@redhat.com> +Date: Mon Jul 11 17:54:07 2016 -0400 + + rgw: civetweb/openssl: Load libssl.so and libcrypto.so by soname. + + If building with radosgw, always look for openssl library (even when + building with nss). Then, use objdump to fetch SONAME from the copies + of libssl and libcrypto that were found. When building civetweb; pass + the library soname values in as the libraries to load with "dlopen". + + This is a problem that went away for a bit, but came back with some + changes for + http://tracker.ceph.com/issues/16535 + + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1341775 + Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1258961 + + Fixes: http://tracker.ceph.com/issues/11239 + + Signed-off-by: Marcus Watts <mwatts@redhat.com> + (cherry picked from commit 7caa0bd002110b62514da83a37a2a3deb841267a) + +commit 386640865dee30d38f17e55fc87535e419bc3cb5 +Author: Marcus Watts <mwatts@redhat.com> +Date: Thu Nov 3 23:33:44 2016 -0400 + + rgw: cmake: remove useless civetweb include path side effect. + + For 'target_include_directories" for the cmake object library + 'civetweb_common_objs', change from PUBLIC to PRIVATE. This doesn't + break anything, so it wasn't doing anything useful. If it has it + any effect, it would be to cause everything that linked against this + "library" to also use the indictated include path. Which would be great + except everything in ceph wants to include "civetweb/civetweb.h" and + not "civetweb.h". We already make separate arrangements elsewhere for + that to work. Additionally, static object libraries in cmake aren't + really libraries, so I'm not entirely sure this even does anything. + So: making this public is not useful, and could be harmful. Making it + private makes this only take effect for building civetweb.c itself, + exactly the effect we we require, and no more. + + Signed-off-by: Marcus Watts <mwatts@redhat.com> + (cherry picked from commit 8308a13b0257c9460fd2a721c20b0c37cb9e7c57) |