summaryrefslogtreecommitdiffstats
path: root/src/ceph/doc/changelog/v0.67.6.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/ceph/doc/changelog/v0.67.6.txt')
-rw-r--r--src/ceph/doc/changelog/v0.67.6.txt1258
1 files changed, 1258 insertions, 0 deletions
diff --git a/src/ceph/doc/changelog/v0.67.6.txt b/src/ceph/doc/changelog/v0.67.6.txt
new file mode 100644
index 0000000..510893a
--- /dev/null
+++ b/src/ceph/doc/changelog/v0.67.6.txt
@@ -0,0 +1,1258 @@
+commit c71f8a60cf49fb3d4efb5ea75b2366cd7f167497 (tag: refs/tags/v0.67.6)
+Author: Alfredo Deza <alfredo.deza@inktank.com>
+Date: Thu Feb 13 20:20:42 2014 +0000
+
+ release build 67.6
+
+ Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
+
+commit 1c42a6e34bb8e318e001384270cda003add946a7
+Merge: 3e473d4 c5e12f9
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Feb 13 06:55:37 2014 -0800
+
+ Merge pull request #1232 from ceph/dumpling-7334
+
+ backport ceph-disk improvements to dumpling
+
+ http://pulpito.ceph.com/ubuntu-2014-02-12_16:52:33-ceph-deploy-dumpling-7334-testing-basic-plana/
+
+commit 3e473d4237697872498094b41fed19b414f8d3c4
+Author: David Zafman <david.zafman@inktank.com>
+Date: Fri Sep 27 16:23:09 2013 -0700
+
+ common,os: Remove filestore_xattr_use_omap option
+
+ Now we operate just like when this was set to true
+
+ Fixes: #6143
+
+ Signed-off-by: David Zafman <david.zafman@inktank.com>
+ (cherry picked from commit dc0dfb9e01d593afdd430ca776cf4da2c2240a20)
+
+commit c5e12f94efc07f0ff174c0f19494ee2e06d88dfa
+Author: Alfredo Deza <alfredo@deza.pe>
+Date: Wed Feb 12 16:43:59 2014 -0500
+
+ add support for absence of PATH
+
+ Note that this commit is actually bisecting the changes from
+ Loic Dachary that touch ceph-disk only (ad515bf). As that changeset
+ also touches other files it causes conflicts that are not resolvable
+ for backporting it to dumpling.
+
+ Signed-off-by: Alfredo Deza <alfredo@deza.pe>
+
+commit c531d75f7e86cee619e44c247298b50c37b81539
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Sep 9 22:27:23 2013 -0700
+
+ ceph-disk: make initial journal files 0 bytes
+
+ The ceph-osd will resize journal files up and properly fallocate() them
+ so that the blocks are preallocated and (hopefully) contiguous. We
+ don't need to do it here too, and getting fallocate() to work from
+ python is a pain in the butt.
+
+ Fixes: #5981
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit a786ad773cd33880075f1deb3691528d1afd03ec)
+
+commit 836ead3e42491597c192c63d3171021c5daecbc0
+Author: Alfredo Deza <alfredo@deza.pe>
+Date: Mon Feb 10 15:07:55 2014 -0500
+
+ alert the user about error messages from partx
+
+ Signed-off-by: Alfredo Deza <alfredo@deza.pe>
+ (cherry picked from commit 9bcc42a3e6b08521694b5c0228b2c6ed7b3d312e)
+
+commit cff3547c60dc6d164f9a95eaa2706633e32756d0
+Author: Alfredo Deza <alfredo@deza.pe>
+Date: Fri Feb 7 11:55:01 2014 -0500
+
+ use partx for red hat or centos instead of partprobe
+
+ Signed-off-by: Alfredo Deza <alfredo@deza.pe>
+ (cherry picked from commit 42900ff9da9f5adcac239a84ebf4d2e407c29699)
+
+commit 5ebd7c4520a9805f985cab1a0ba9311e19efa041
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Jan 28 17:26:58 2014 -0800
+
+ ceph-disk: run the right executables from udev
+
+ When run by the udev rules, PATH is not defined. Thus,
+ ceph-disk-activate relies on its which() function to locate the
+ correct executable. The which() function used os.defpath if none was
+ set, and this worked for anything using it.
+
+ ad6b4b4b08b6ef7ae8086f2be3a9ef521adaa88c added a new default value to
+ PATH, so only /usr/bin was checked by callers that did not use
+ which(). This resulted in the mount command not being found when
+ ceph-disk-activate was run by udev, and thus osds failing to start
+ after being prepared by ceph-deploy.
+
+ Make ceph-disk consistently use the existing helpers (command() and
+ command_check_call()) that use which(), so lack of PATH does not
+ matter. Simplify _check_output() to use command(),
+ another wrapper around subprocess.Popen.
+
+ Fixes: #7258
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit d7b0c7faafd37e4ae8a1680edfa60c22b419cbd8)
+
+commit 4a7c4e0a81753dfb811396e7bfa1df72135ee12b
+Author: Loic Dachary <loic@dachary.org>
+Date: Fri Jan 3 16:06:55 2014 +0100
+
+ ceph-disk: implement --sysconfdir as /etc/ceph
+
+ Replace hardcoded /etc/ceph with the SYSCONFDIR global variable and
+ implement the --sysconfdir option to override the default value.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit a71025d33621257b6fd6632516cfed2849ff1637)
+
+commit c8b9798a69bd1655a7131c7bce8a14c2c74aba0c
+Author: Loic Dachary <loic@dachary.org>
+Date: Fri Jan 3 16:03:09 2014 +0100
+
+ ceph-disk: implement --statedir as /var/lib/ceph
+
+ Replace hardcoded /var/lib/ceph with the STATEDIR global variable and
+ implement the --statedir option to override the default value.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit ca713f48ae7a1fece2869f1a1c97d23ab33fb441)
+
+commit 79564874be35d4414092fbb80df3214d7f282b1c
+Author: Loic Dachary <loic@dachary.org>
+Date: Wed Jan 1 22:05:03 2014 +0100
+
+ ceph-disk: add copyright notice
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 51ee3c04777aaf6b9609dde9bc318b5c66c70787)
+
+commit c4b66bbdf09a8bb85ed14fbb643f40f87345463b
+Author: Loic Dachary <loic@dachary.org>
+Date: Wed Jan 1 22:11:30 2014 +0100
+
+ ceph-disk: create the data directory if it does not exist
+
+ Instead of failing if the OSD data directory does not exist, create
+ it. Only do so if the data directory is not enforced to be a device via
+ the use of the --data-dev flag. The directory is not recursively created.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 306b099ab093bfac466d68fe1cb87367bc01e577)
+
+commit c473c65d4b6235fe20a97bd1d4741c12f86858e8
+Author: Loic Dachary <loic@dachary.org>
+Date: Tue Dec 31 00:03:42 2013 +0100
+
+ ceph-disk: run ceph-osd when --mark-init=none
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 0fcc081858fae4febbb6a613a93cfbbcedd5a320)
+
+commit 6ea59a3a0c38c9629036442aff652489eecce51a
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 23:57:39 2013 +0100
+
+ ceph-disk: implement --mark-init=none
+
+ It is meant to be used when preparing and activating a directory that is
+ not to be used with init. No file is created to identify the init
+ system, no symbolic link is made to the directory in /var/lib/ceph
+ and the init scripts are not called.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit e773b68f4c89ac56b425c710d7dcdc3d74a92926)
+
+commit 3aae5b764c5698c665a708a3f6f2243dfee1a28d
+Author: Loic Dachary <loic@dachary.org>
+Date: Wed Jan 1 22:07:57 2014 +0100
+
+ ceph-disk: fsid is a known configuration option
+
+ Use get_conf_with_default instead of get_conf because fsid is a known
+ ceph configuration option. It allows overriding via CEPH_ARGS which is
+ convenient for testing. Only options that are not found in config_opts.h
+ are fetch via get_conf.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit b65eb377f5e93ea85644e4c0939365fd7ac36072)
+
+commit a33ad6d150206232806ee466f301e41f15c631e9
+Author: Loic Dachary <loic@dachary.org>
+Date: Wed Jan 1 22:06:29 2014 +0100
+
+ ceph-disk: use CalledProcessError.returncode
+
+ CalledProcessError has no errno data member
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 97f516a1ddfb2d014e1f7e762c4155e4b9bcb90b)
+
+commit 6ae96d3ce757b05daeb7c1437778149b07248d47
+Author: Loic Dachary <loic@dachary.org>
+Date: Wed Jan 1 22:13:15 2014 +0100
+
+ ceph-disk: display the command output on OSD creation failure
+
+ The string form of a CalledProcessError instance does not include the
+ output datamember. Add it to the Error exception for debug purposes.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit d09af0fa50f322c9e59765f3badd497f5ca184d4)
+
+commit deefb3a05788b308631812c652e9eccaeb999d7f
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 23:07:27 2013 +0100
+
+ ceph-disk: which() uses PATH first
+
+ Instead of relying on a hardcoded set of if paths. Although this has the
+ potential of changing the location of the binary being used by ceph-disk
+ on an existing installation, it is currently only used for sgdisk. It
+ could be disruptive for someone using a modified version of sgdisk but
+ the odds of this happening are very low.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 2b935bbf60bafb6dd488c0eb30f156fce1b9d197)
+
+commit 06bbea187293ac52aefbcf4e98c162bb3286341d
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 22:48:46 2013 +0100
+
+ ceph-disk: add --prepend-to-path to control execution
+
+ /usr/bin is hardcoded in front of some ceph programs which makes it
+ impossible to control where they are located via the PATH.
+
+ The hardcoded path cannot be removed altogether because it will most
+ likely lead to unexpected and difficult to diagnose problems for
+ existing installations where the PATH finds the program elsewhere.
+
+ The --prepend-to-path flag is added and defaults to /usr/bin : it prepends
+ to the PATH environment variable. The hardcoded path is removed
+ and the PATH will be used: since /usr/bin is searched first, the
+ legacy behavior will not change.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit ad6b4b4b08b6ef7ae8086f2be3a9ef521adaa88c)
+
+commit ccf182241dc04c79e2377b6ba2f060dbfe6dddae
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 17:15:29 2013 +0100
+
+ ceph-disk: make exception handling terse in main_activate_journal
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 908348b8047e8577ecf9133f2683f91423694416)
+
+commit d60e952f3c00d0e551b04c0d6486b11d9761be35
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 17:13:47 2013 +0100
+
+ ceph-disk: do not hide main_activate() exceptions
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 55ca7bb2da73f1be1293710a635cfea42abd7682)
+
+commit 827edb93e3971fc7549fe831894776c6bf163346
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 17:11:30 2013 +0100
+
+ ceph-disk: fix activate() indent
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 324804a81c37ff89f2488e2ba106033c0e6e119e)
+
+commit 27988cf9ffedf3289099e51f1e7c3f5b8d79d667
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 17:09:35 2013 +0100
+
+ ceph-disk: remove noop try:
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit de0050596b5f56863c3486c1cd5e7ffea62e3d00)
+
+commit 75bdb5430d9403bed8bd2ccd6a9c5a30d63a189e
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 16:57:36 2013 +0100
+
+ ceph-disk: fix Error() messages formatting
+
+ Mainly using % instead of ,
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit b82ccfbfa786cd5436b48ec38276c5a48028ce1d)
+
+commit 5df1eaa55bc7ebe68473831d06cf9819fa39baa6
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Dec 30 12:26:20 2013 +0100
+
+ ceph-disk: prepare --data-dir must not override files
+
+ ceph-disk does nothing when given a device that is already prepared. If
+ given a directory that already contains a successfully prepared OSD, it
+ will however override it.
+
+ Instead of overriding the files in the osd data directory, return
+ immediately if the magic file exists. Make it so the magic file is
+ created last to accurately reflect the success of the OSD preparation.
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 7dfe550ce18623cde4ae43a2416e31ef81381ab9)
+
+commit 2e8496a6e0b74ff351bc2a4f138ddc665d8c30ca
+Author: Loic Dachary <loic@dachary.org>
+Date: Sun Dec 15 15:34:17 2013 +0100
+
+ ceph-disk: zap needs at least one device
+
+ If given no argument, ceph-disk zap should display the usage instead of
+ silently doing nothing. Silence can be confused with "I zapped all the
+ disks".
+
+ http://tracker.ceph.com/issues/6981 fixes #6981
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 07888ef3fd4440332c8287d0faa9f23a32cf141c)
+
+commit 0fe2ac47a82d3caa9dca2a9009b68a14b577e35c
+Author: Alfredo Deza <alfredo@deza.pe>
+Date: Fri Dec 13 12:06:25 2013 -0500
+
+ use the new get_command helper in check_call
+
+ Signed-off-by: Alfredo Deza <alfredo@deza.pe>
+ (cherry picked from commit 897dfc113fe3b86f3dda53172933bfd4f8089869)
+
+commit 8fc9f1b791248f08a311d619addc4465cac298f9
+Author: Alfredo Deza <alfredo@deza.pe>
+Date: Thu Dec 12 11:16:38 2013 -0500
+
+ use the absolute path for executables if found
+
+ Signed-off-by: Alfredo Deza <alfredo@deza.pe>
+ (cherry picked from commit a9334a1c8c6681305e76b361377864d0dd1e3d34)
+
+commit a2de2f718c9e341c0b6ec2ebffdf03d0f9da0fbd
+Author: Alfredo Deza <alfredo@deza.pe>
+Date: Thu Dec 12 10:26:05 2013 -0500
+
+ remove trailing semicolon
+
+ Signed-off-by: Alfredo Deza <alfredo@deza.pe>
+ (cherry picked from commit 43561f791607f5fd6f03d5421e1f30a29fb4194e)
+
+commit 2cd22b5d39760ac4b5baad0b05c676b833ae9213
+Author: Alfredo Deza <alfredo@deza.pe>
+Date: Wed Dec 11 15:41:45 2013 -0500
+
+ replace sgdisk subprocess calls with a helper
+
+ Signed-off-by: Alfredo Deza <alfredo@deza.pe>
+ (cherry picked from commit e19e38012bc4579054f63865e682c8c3a7829c7b)
+
+commit e8cc27cc8eb981c71b8cafb58964317687ca5787
+Author: Jonathan Davies <jonathan.davies@canonical.com>
+Date: Tue Dec 3 21:26:43 2013 +0000
+
+ Call --mbrtogpt on journal run of sgdisk should the drive require a GPT table.
+
+ Signed-off-by: Jonathan Davies <jonathan.davies@canonical.com>
+ Reviewed-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 35011e0b01d65e4c001876882d597451f2028345)
+
+commit 3942a93fae3331b2d08f93181eb2c9cf90b50440
+Author: Loic Dachary <loic@dachary.org>
+Date: Thu Nov 21 13:21:22 2013 +0100
+
+ ceph-disk: blacklist /dev/fd0
+
+ blkid -s TYPE /dev/fd0 has been verified to hang forever on a
+ H8DMR-82 supermicro motherboard running
+
+ 3.8.0-33-generic #48~precise1-Ubuntu SMP Thu Oct 24 16:28:06 UTC 2013
+ x86_64
+
+ It is unlikely that ceph will ever be used on floppy disks, they
+ can be blacklisted.
+
+ http://tracker.ceph.com/issues/6827 fixes: #6827
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 65701978715237ff5a4c68573c0696fd9d438e4f)
+
+commit ccc6b0c5e6d47eefef5cf1fa17bf69c47c9459c4
+Author: git-harry <git-harry@live.co.uk>
+Date: Thu Oct 3 10:32:50 2013 +0100
+
+ Make fsid comparison case-insensitive
+
+ get_fsid and find_cluster_by_uuid are modified so ceph-disk activate and
+ ceph-disk activate-all will work if the fsid uses uppercase characters.
+
+ Signed-off-by: Harry Harrington <git-harry@live.co.uk>
+ (cherry picked from commit 22f8325dbfce7ef2e97bf015c0f8bba53e75dfe9)
+
+commit 367cf1bbf86233eb20ff2304e7d6caab77b84fcc
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Feb 11 10:14:36 2014 -0800
+
+ librbd: remove limit on number of objects in the cache
+
+ The number of objects is not a significant indicated of when data
+ should be written out for rbd. Use the highest possible value for
+ number of objects and just rely on the dirty data limits to trigger
+ flushing. When the number of objects is low, and many start being
+ flushed before they accumulate many requests, it hurts average request
+ size and performance for many concurrent sequential writes.
+
+ Fixes: #7385
+ Backport: emperor, dumpling
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 0559d31db29ea83bdb6cec72b830d16b44e3cd35)
+
+commit 4856fc2950442fafc208c967af5131f7874f5441
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Feb 11 11:53:00 2014 -0800
+
+ ObjectCacher: use uint64_t for target and max values
+
+ All the options are uint64_t, but the ObjectCacher was converting them
+ to int64_t. There's never any reason for these to be negative, so
+ change the type.
+
+ Adjust a few conditionals so that they only convert known-positive
+ signed values to uint64_t before comparing with the target and max
+ values. Leave the actual stats accounting as loff_t for now, since
+ bugs in accounting will have bad effects if negative values wrap
+ around.
+
+ Backport: emperor, dumpling
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit db034acf546a72739ff6543241543f3bd651f3ae)
+
+commit a572aafe178dfa3ab4d82aa5c7f4a72a63590ccf
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Tue Feb 11 10:35:14 2014 -0800
+
+ ObjectCacher: remove max_bytes and max_ob arguments to trim()
+
+ These are never passed, so replace them with the defaults.
+
+ Backport: emperor, dumpling
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit bf8cf2d6d21a204a099347f3dcd5b48100b8c445)
+
+commit 4889234f80dbd95e5b2012ff9bfc2d87960034e2
+Merge: 6af657b 30a604d
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Feb 11 08:32:37 2014 -0800
+
+ Merge pull request #1210 from dachary/dumpling
+
+ common: admin socket fallback to json-pretty format (dumpling)
+
+ Reviewed-by: Sage Weil <sage@inktank.com>
+
+commit 30a604d2d6a5de7bcbfa0136e9a766cb34f96c0a
+Author: Loic Dachary <loic@dachary.org>
+Date: Mon Feb 10 23:42:38 2014 +0100
+
+ common: admin socket fallback to json-pretty format
+
+ If the format argument to a command sent to the admin socket is not
+ among the supported formats ( json, json-pretty, xml, xml-pretty ) the
+ new_formatter function will return null and the AdminSocketHook::call
+ function must fall back to a sensible default.
+
+ The CephContextHook::call and HelpHook::call failed to do that and a
+ malformed format argument would cause the mon to crash. A check is added
+ to each of them and fallback to json-pretty if the format is not
+ recognized.
+
+ To further protect AdminSocketHook::call implementations from similar
+ problems the format argument is checked immediately after accepting the
+ command in AdminSocket::do_accept and replaced with json-pretty if it is
+ not known.
+
+ A test case is added for both CephContextHook::call and HelpHook::call
+ to demonstrate the problem exists and is fixed by the patch.
+
+ Three other instances of unsafe calls to new_formatter were found and
+ a fallback to json-pretty was added. All other calls have been audited
+ and appear to be safe.
+
+ http://tracker.ceph.com/issues/7378 fixes #7378
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 165e76d4d03ffcc490fd3c2ba60fb37372990d0a)
+
+commit 6af657bd4cf87f6f7afe84257941e7e2366183d9
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Feb 5 17:26:02 2014 -0800
+
+ qa: add script for testing rados client timeout options
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 9e62beb80b6c92a97ec36c0db5ea39e417661b35)
+
+commit 21a0b67440eaa07fa051d26321a88654ee9e8ae7
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Feb 5 17:25:24 2014 -0800
+
+ rados: check return values for commands that can now fail
+
+ A few places were not checking the return values of commands, since
+ they could not fail before timeouts were added.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 79c1874346ff55e2dc74ef860db16ce70242fd00)
+
+commit 2c42dd26b49d01922bd3df3ba26af70da0387a99
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Feb 5 17:24:16 2014 -0800
+
+ librados: check and return on error so timeouts work
+
+ Some functions could not previously return errors, but they had an
+ int return value, which can now receive ETIMEDOUT.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 8e9459e897b1bc2f97d52ee07701fd22069efcf3)
+
+commit 28fe564cc298b96c063e6cca44304046a86942cd
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Feb 5 17:22:14 2014 -0800
+
+ msg/Pipe: add option to restrict delay injection to specific msg type
+
+ This makes it possible to test timeouts reliably by delaying certain
+ messages effectively forever, but still being able to e.g. connect and
+ authenticate to the monitors.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit d389e617c1019e44848330bf9570138ac7b0e5d4)
+
+commit 1d2ea9efb844cb902d282c3a752acc45fefeb04c
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Mon Feb 3 18:30:00 2014 -0800
+
+ MonClient: add a timeout on commands for librados
+
+ Just use the conf option directly, since librados is the only caller.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 671a76d64bc50e4f15f4c2804d99887e22dcdb69)
+
+commit 30dafacd0b54bb98b01284851e0d5abf76324e95
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Mon Feb 3 17:59:21 2014 -0800
+
+ Objecter: implement mon and osd operation timeouts
+
+ This captures almost all operations from librados other than mon_commands().
+
+ Get the values for the timeouts from the Objecter constructor, so only
+ librados uses them.
+
+ Add C_Cancel_*_Op, finish_*_op(), and *_op_cancel() for each type of
+ operation, to mirror those for Op. Create a callback and schedule it
+ in the existing timer thread if the timeouts are specified.
+
+ Fixes: #6507
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 3e1f7bbb4217d322f4e0ece16e676cd30ee42a20)
+
+ Conflicts:
+ src/osd/OSD.cc
+ src/osd/ReplicatedPG.cc
+ src/osdc/Objecter.cc
+ src/osdc/Objecter.h
+
+commit 2aa0d7589283fe5879a966601fbfe690816cc4a1
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Mon Feb 3 12:53:15 2014 -0800
+
+ librados: add timeout to wait_for_osdmap()
+
+ This is used by several pool operations independent of the objecter,
+ including rados_ioctx_create() to look up the pool id in the first
+ osdmap.
+
+ Unfortunately we can't just rely on WaitInterval returning ETIMEDOUT,
+ since it may also get interrupted by a signal, so we can't avoid
+ keeping track of time explicitly here.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 1829d2c9fd13f2cbae4e192c9feb553047dad42c)
+
+ Conflicts:
+ src/librados/RadosClient.cc
+
+commit 55d254d5ea113d8be29afe18dc9940f14d93ebb4
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Mon Feb 3 12:09:34 2014 -0800
+
+ conf: add options for librados timeouts
+
+ These will be implemented in subsequent patches.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 0dcceff1378d85ca6d81d102d201890b8a71af6b)
+
+commit ccd9b5eb9bcfe2360e874b306d4decd8815ecf46
+Author: Sage Weil <sage@inktank.com>
+Date: Sun Feb 9 20:53:00 2014 -0800
+
+ test_striper: fix warning
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+
+commit bb44c0d5e06c2b699c81a76373a0edde1bf90445
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Feb 8 12:21:26 2014 -0800
+
+ crushtool: add cli test for off-by-one tries vs retries bug
+
+ See bug #7370. This passes on dumpling and breaks prior to the #7370 fix.
+
+ Backport: emperor, dumpling
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit ed32c4002fb5cb1dd546331651eaf7de1a017471)
+
+commit c301ec689caac5bbcd21e02226045d3454cc82fd
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Feb 3 08:54:14 2014 -0800
+
+ client: use 64-bit value in sync read eof logic
+
+ The file size can jump to a value that is very much larger than our current
+ position (for example, it could be a disk image file that gets a sparse
+ write at a large offset). Use a 64-bit value so that 'some' doesn't
+ overflow.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: John Spray <john.spray@inktank.com>
+ (cherry picked from commit 7ff2b541c24d1c81c3bcfbcb347694c2097993d7)
+
+commit 183deb899bc6b1b7b2a1ec639425e45786e56b01
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 4 22:39:35 2014 -0800
+
+ osd: do not send peering messages during init
+
+ Do not send any peering messages while we are still working our way
+ through init().
+
+ Fixes: #7093
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 35da8f9d80e0c6c33fb6c6e00f0bf38f1eb87d0e)
+ Signed-off-by: Greg Farnum <greg@inktank.com>
+
+commit 3a1fb17401897b0717cf1d264c6e6fdf99fc703f
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Jan 28 18:46:37 2014 -0800
+
+ OSDMap: fix deepish_copy_from
+
+ Start with a shallow copy!
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit d0f13f54146694a197535795da15b8832ef4b56f)
+
+ Conflicts:
+
+ src/osd/OSDMap.h
+
+commit f01bd8a94adc4ce8e7131f74282de5b434a7316a
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Thu Jan 23 13:48:28 2014 -0800
+
+ rgw: fix listing of multipart upload parts
+
+ Fixes: #7169
+
+ There are two issues here. One is that we may return more entries than
+ we should (as specified by max_parts). Second issue is that the
+ NextPartNumberMarker is set incorrectly. Both of these issues mainly
+ affect uploads with > 1000 parts, although can be triggered with less
+ than that.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+
+commit 6b657992d2397e399eacf554357ed807fda399fa
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Thu Nov 21 06:52:48 2013 -0800
+
+ rgw: initialize RGWUserAdminOpState::system_specified
+
+ Fixes: #6829
+ Backport: dumpling, emperor
+ We didn't init this member variable, which might cause that when
+ modifying user info that has this flag set the 'system' flag might
+ inadvertently reset.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 561e7b0b287e65e90b80699e45a52ae44e94684f)
+
+commit 585e0e7eec1bbee60fe352166b593d53476003f8
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date: Sun Dec 15 12:26:19 2013 -0800
+
+ rgw: Fix CORS allow-headers validation
+
+ This fix is needed because Ceph presently validates CORS headers in a
+ case-sensitive manner. Keeps a local cache of lowercased allowed headers
+ to avoid converting the allowed headers to lowercase each time.
+
+ CORS 6.2.6: If any of the header field-names is not a ASCII
+ case-insensitive match for any of the values in list of headers do not
+ set any additional headers and terminate this set of steps.
+
+ Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+ Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 31b60bfd9347a386ff12b4e4f1812d664bcfff01)
+
+commit da2267a87e37afa28385e915a566de26fd784b70
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date: Sun Dec 15 11:40:31 2013 -0800
+
+ rgw: Clarify naming of case-change functions
+
+ It is not clear that the lowercase_http_attr & uppercase_http_attr
+ functions replace dashes with underscores. Rename them to match the
+ pattern established by the camelcase_dash_http_attr function in
+ preperation for more case-change functions as needed by later fixes.
+
+ Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+ Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 6a7edab2673423c53c6a422a10cb65fe07f9b235)
+
+commit fdea76ef6f7d7c4ee89c30d430f5495072023957
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date: Sun Dec 15 11:27:49 2013 -0800
+
+ rgw: Look at correct header about headers for CORS
+
+ The CORS standard dictates that preflight requests are made with the
+ Access-Control-Request-Headers header containing the headers of the
+ author request. The Access-Control-Allow-Headers header is sent in the
+ response.
+
+ The present code looks for Access-Control-Allow-Headers in request, so
+ fix it to look at Access-Control-Request-Headers instead.
+
+ Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+ Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 2abacd9678ae04cefac457882ba718a454948915)
+
+commit a5739e3903f8c30c8168199413818922b4a29bad
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Fri Dec 6 11:07:09 2013 -0800
+
+ rgw: fix reading bucket policy in RGWBucket::get_policy()
+
+ Fixes: 6940
+ Backport: dumpling, emperor
+
+ We changed the way we keep the bucket policy, and we shouldn't try to
+ access the bucket object directly. This had changed when we added the
+ bucket instance object around dumpling.
+
+ Reported-by: Gao, Wei M <wei.m.gao@intel.com>
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 7a9a088d82d04f6105d72f6347673724ac16c9f8)
+
+commit ba792cdc8d0c006e260e6a02a33ca1491b35901c
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Thu Jan 16 11:45:27 2014 -0800
+
+ rgw: handle racing object puts when object doesn't exist
+
+ If the object didn't exist before and now we have multiple puts coming
+ in concurrently, we need to make sure that we behave correctly. Only one
+ needs to win, the other one can fail silently. We do that by setting
+ exclusive flag on the object creation and handling the error correctly.
+ Note that we still want to return -EEXIST in some cases (when the
+ exclusive flag is passed to put_obj_meta(), e.g., on bucket creation).
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 86c15480fc3e33b9a3b84d0af68d8398fc732bae)
+
+commit 1e2984ac4a4ed0508e1b5efc8b69ae4da0cac824
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Thu Jan 16 11:33:49 2014 -0800
+
+ rgw: don't return -ENOENT in put_obj_meta()
+
+ Fixes: #7168
+
+ An object put may race with the same object's delete. In this case just
+ ignore the error, same behavior as if object was created and then
+ removed.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 5c24a7ea905587fd4077e3b0cfc0f5ad2b178c29)
+
+commit 5f1eea2ccf1ee4296530fc754bfd5dfc1571cd62
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date: Sat Jan 18 18:01:20 2014 -0800
+
+ rgw: Use correct secret key for POST authn
+
+ The POST authentication by signature validation looked up a user based
+ on the access key, then used the first secret key for the user. If the
+ access key used was not the first access key, then the expected
+ signature would be wrong, and the POST would be rejected.
+
+ Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+ (cherry picked from commit 586ad1f69e6260ef298805647911b3b49f8be7cf)
+
+commit 14e933eb2e8adf3e7df2aef823d863c593067928
+Author: Joao Eduardo Luis <joao.luis@inktank.com>
+Date: Tue Jan 28 15:54:33 2014 +0000
+
+ osd: OSDMonitor: ignore pgtemps from removed pool
+
+ There's a window in-between receiving an MOSDPGTemp message from an OSD
+ and actually handling it that may lead to the pool the pg temps refer to
+ no longer existing. This may happen if the MOSDPGTemp message is queued
+ pending dispatching due to an on-going proposal (maybe even the pool
+ removal).
+
+ This patch fixes such behavior in two steps:
+
+ 1. Check if the pool exists in the osdmap upon preprocessing
+ - if pool does not exist in the osdmap, then the pool must have been
+ removed prior to handling the message, but after the osd sent it.
+ - safe to ignore the pg update
+ 2. If all pg updates in the message have been ignored, ignore the whole
+ message. Otherwise, let prepare handle the rest.
+
+ 3. Recheck if pool exists in the osdmap upon prepare
+ - We may have ignored this pg back in preprocess, but other pgs in the
+ message may have led the message to be passed on to prepare; ignore
+ pg update once more.
+ 4. Check if pool is pending removal and ignore pg update if so.
+
+ We delegate checking the pending value to prepare_pgtemp() because in this
+ case we should only ignore the update IFF the pending value is in fact
+ committed. Otherwise we should retry the message. prepare_pgtemp() is
+ the appropriate place to do so.
+
+ Fixes: 7116
+
+ Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ (cherry picked from commit f513f66f48383a07c70ca18a4dba6c2449ea9860)
+
+commit 3672fc49bea5efcef2069673c88fd8e526eeb7e5
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Jan 28 11:00:34 2014 -0800
+
+ OSDMonitor: use deepish_copy_from for remove_down_pg_temp
+
+ This is a backport of 368852f6c0a884b8fdc80a5cd6f9ab72e814d412.
+
+ Make a deep copy of the OSDMap to avoid clobbering the in-memory copy with
+ the call to apply_incremental.
+
+ Fixes: #7060
+ Signed-off-by: Sage Weil <sage@inktank.com>
+
+commit e6fef68ee51a2e3be6537086246ce860819788eb
+Author: Sage Weil <sage@inktank.com>
+Date: Fri Jan 24 11:03:26 2014 -0800
+
+ OSDMap: deepish_copy_from()
+
+ Make a deep(ish) copy of another OSDMap. Unfortunatley we can't make the
+ compiler-generated copy operator/constructors private until c++11. :(
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit bd54b9841b9255406e56cdc7269bddb419453304)
+
+commit 2528186c0dd327607b1e76a51581df72aeea52f2
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Jan 28 10:26:12 2014 -0800
+
+ buffer: make 0-length splice() a no-op
+
+ This was causing a problem in the Striper, but fixing it here will avoid
+ corner cases all over the tree. Note that we have to bail out before
+ the end-of-buffer check to avoid hitting that check when the bufferlist is
+ also empty.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: Greg Farnum <greg@inktank.com>
+ (cherry picked from commit ff5abfbdae07ae8a56fa83ebaa92000896f793c2)
+
+commit fe9539e118a830aa71bc5846ad2693543213fc59
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Jan 28 10:09:17 2014 -0800
+
+ osdc/Striper: test zero-length add_partial_result
+
+ If we add a partial result that is 0-length, we used to hit an assert in
+ buffer::list::splice(). Add a unit test to verify the fix.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ Reviewed-by: Greg Farnum <greg@inktank.com>
+ (cherry picked from commit 28c7388d320a47657c2e12c46907f1bf40672b08)
+
+commit 9801718e6e7a335d1aeffb7f3d958b012d8dd79c
+Author: Derek Yarnell <derek@umiacs.umd.edu>
+Date: Mon Jan 27 12:27:51 2014 -0700
+
+ packaging: apply udev hack rule to RHEL
+
+ In the RPM spec file there is a test to deploy the uuid hack udev rules
+ for older udev operating systems. This includes CentOS and RHEL, but the
+ check currently only is for CentOS, causing RHEL clients to get a bogus
+ osd rules file.
+
+ Adjust the conditional to apply to RHEL as well as CentOS. (The %{rhel}
+ macro is defined in both platforms' redhat-rpm-config package.)
+
+ Fixes http://tracker.ceph.com/issues/7245
+
+ Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
+ (cherry picked from commit 64a0b4fa563795bc22753940aa3a4a2946113109)
+
+commit 5817078ba9b2aa38f39e1f62d8d08e943646c0bb
+Merge: 9fa8d2d abf6441
+Author: Sage Weil <sage@inktank.com>
+Date: Thu Jan 23 07:12:37 2014 -0800
+
+ Merge pull request #1129 from ceph/wip-dumpling-backport-6620
+
+ mds: MDSMap: adjust buffer size for uint64 values with more than 5 chars
+
+commit abf64417bbc63b006c53a07262a5774d0d40550e
+Author: Joao Eduardo Luis <jecluis@gmail.com>
+Date: Thu Jan 23 11:36:16 2014 +0000
+
+ mds: MDSMap: adjust buffer size for uint64 values with more than 5 chars
+
+ Fixes: #6620
+
+ Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ (cherry picked from commit 0e8182edd850f061421777988974efbaa3575b9f)
+
+commit 9fa8d2d1bd4a8cf56fdebae484bee35c3930fb62
+Author: Sage Weil <sage@inktank.com>
+Date: Tue Jan 21 11:29:56 2014 -0800
+
+ mon/MDSMonitor: do not generate mdsmaps from already-laggy mds
+
+ There is one path where a mds that is not sending its beacon (e.g.,
+ because it is not running at all) will lead to proposal of new mdsmaps.
+ Fix it.
+
+ Backport: emperor, dumpling
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 584c2dd6bea3fe1a3c7f306874c054ce0cf0d2b5)
+
+commit a2e34b8d322e571600d6c0a3ff363f9910196f28
+Author: John Spray <john.spray@inktank.com>
+Date: Mon Jan 20 11:08:27 2014 +0000
+
+ Fix #7187: Include all summary items in JSON health output
+
+ Signed-off-by: John Spray <john.spray@inktank.com>
+ (cherry picked from commit fdf3b5520d150f14d90bdfc569b70c07b0579b38)
+
+commit ee9fc590a556354b54a174a4790c4142949d7409
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Mon Jan 6 18:32:42 2014 -0800
+
+ rgw: convert bucket info if needed
+
+ Fixes: #7110
+ In dumpling, the bucket info was separated into bucket entry point and
+ bucket instance objects. When setting bucket attrs we only ended up
+ updating the bucket instance object. However, pre-dumpling buckets still
+ keep everything at the entry-point object, so acl changes didn't affect
+ anything (because we never updated the entry point). This change just
+ converts the bucket info into the new format.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit a5f8cc7ec9ec8bef4fbc656066b4d3a08e5b215b)
+
+commit 69a99e6edd67aadaea77fb5ebcf46190dbfcdbc6
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 4 22:40:43 2014 -0800
+
+ osd: ignore OSDMap messages while we are initializing
+
+ The mon may occasionally send OSDMap messages to random OSDs, but is not
+ very descriminating in that we may not have authenticated yet. Ignore any
+ messages if that is the case; we will reqeust whatever we need during the
+ BOOTING state.
+
+ Fixes: #7093
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit f68de9f352d53e431b1108774e4a23adb003fe3f)
+
+commit 1545ddbd3b6dfac897d483bd58a4335d68b9b62a
+Author: Sage Weil <sage@inktank.com>
+Date: Sat Jan 4 22:43:26 2014 -0800
+
+ mon: only send messages to current OSDs
+
+ When choosing a random OSD to send a message to, verify not only that
+ the OSD id is up but that the session is for the same instance of that OSD
+ by checking that the address matches.
+
+ Fixes: #7093
+ Backport: emperor, dumpling
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit 98ed9ac5fed6eddf68f163086df72faabd9edcde)
+
+commit 4d88dd10bfab4e5fb45632245be5f79eeba73a30
+Author: Sage Weil <sage@inktank.com>
+Date: Mon Aug 26 13:58:47 2013 -0700
+
+ osd: discriminate based on connection messenger, not peer type
+
+ Replace ->get_source().is_osd() checks and instead see if it is the
+ cluster_messenger so that we do not confuse ourselves when we get
+ legit requests from other OSDs on our public interface.
+
+ NOTE: backporting this because a mixed cluster may send OSD requests
+ via the client interface, even though dumpling doesn't do this.
+
+ Signed-off-by: Sage Weil <sage@inktank.com>
+ (cherry picked from commit a6b04c5d8ba043727a2e39a62e9d4126485bcfeb)
+
+ Conflicts:
+
+ src/osd/OSD.cc
+
+commit 2354b957b7924af3e81f559d5c975262848c3bf6
+Author: Loic Dachary <loic@dachary.org>
+Date: Sun Dec 15 22:59:51 2013 +0100
+
+ qa: test for error when ceph osd rm is EBUSY
+
+ http://tracker.ceph.com/issues/6824 fixes #6824
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 31507c90f0161c4569a2cc634c0b5f671179440a)
+
+commit 10ad2e01f832ca9293a1bda1c82f7d318e8c3589
+Author: Loic Dachary <loic@dachary.org>
+Date: Sun Dec 15 16:27:02 2013 +0100
+
+ mon: set ceph osd (down|out|in|rm) error code on failure
+
+ Instead of always returning true, the error code is set if at least one
+ operation fails.
+
+ EINVAL if the OSD id is invalid (osd.foobar for instance).
+ EBUSY if trying to remove and OSD that is up.
+
+ When used with the ceph command line, it looks like this:
+
+ ceph -c ceph.conf osd rm osd.0
+ Error EBUSY: osd.0 is still up; must be down before removal.
+ kill PID_OF_osd.0
+ ceph -c ceph.conf osd down osd.0
+ marked down osd.0.
+ ceph -c ceph.conf osd rm osd.0 osd.1
+ Error EBUSY: removed osd.0, osd.1 is still up; must be down before removal.
+
+ http://tracker.ceph.com/issues/6824 fixes #6824
+
+ Signed-off-by: Loic Dachary <loic@dachary.org>
+ (cherry picked from commit 15b8616b13a327701c5d48c6cb7aeab8fcc4cafc)
+
+commit db82bfec50349783c3bb708c65cf89bceff7b2ca
+Author: Joao Eduardo Luis <joao.luis@inktank.com>
+Date: Tue Oct 29 20:30:37 2013 +0000
+
+ mon: OSDMonitor: fix some annoying whitespace
+
+ Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
+ (cherry picked from commit 42c4137cbfacad5654f02c6608cc0e81b45c06be)
+
+commit 1abb16988727a21dff61edca48bfcb05c60d26f2
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Dec 26 17:38:52 2013 -0800
+
+ librbd: call user completion after incrementing perfcounters
+
+ The perfcounters (and the ictx) are only valid while the image is
+ still open. If the librbd user gets the callback for its last I/O,
+ then closes the image, the ictx and its perfcounters will be
+ invalid. If the AioCompletion object is has not run the rest of its
+ complete() method yet, it will access these now-invalid addresses,
+ possibly leading to a crash.
+
+ The AioCompletion object is independent of the ictx and does not
+ access it again after incrementing perfcounters, so avoid this race by
+ calling the user's callback after this step. The AioCompletion object
+ will be cleaned up by the rest of complete_request(), independent of
+ the ImageCtx.
+
+ Fixes: #5426
+ Backport: dumpling, emperor
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 4cea7895da7331b84d8c6079851fdc0ff2f4afb1)
+
+commit 4dae50d8a0ffe3f3491eae62950fe46229aaa0e6
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Fri Dec 6 16:03:20 2013 -0800
+
+ objecter: don't take extra throttle budget for resent ops
+
+ These ops have already taken their budget in the original op_submit().
+ It will be returned via put_op_budget() when they complete.
+ If there were many localized reads of missing objects from replicas,
+ or cache pool redirects, this would cause the objecter to use up all
+ of its op throttle budget and hang.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 8d0180b1b7b48662daef199931efc7f2a6a1c431)
+
+ Conflicts:
+
+ src/osdc/Objecter.cc
+
+commit 4944618fe74e1875e37a5de9a5bfe3922f906942
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Dec 5 17:44:37 2013 -0800
+
+ rbd: check write return code during bench-write
+
+ This is allows rbd-bench to detect http://tracker.ceph.com/issues/6938
+ when combined with rapidly changing the mon osd full ratio.
+
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 3caf3effcb113f843b54e06099099909eb335453)
+
+commit 3a7a0353d7c8521a2c3c25778801d45f0ca10957
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Dec 5 17:36:33 2013 -0800
+
+ objecter: resend all writes after osdmap loses the full flag
+
+ Now that the osd does not respond if it gets a map with the full flag
+ set first, clients need to resend all writes.
+
+ Clients talking to old osds are still subject to the race condition,
+ so both sides must be upgraded to avoid it.
+
+ Refs: #6938
+ Backport: dumpling, emperor
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit e32874fc5aa6f59494766b7bbeb2b6ec3d8f190e)
+
+ Conflicts:
+
+ src/osdc/Objecter.h
+
+commit f4d0fc8afac1bcbea76f46744397a8462025f373
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Thu Dec 5 17:34:38 2013 -0800
+
+ osd: drop writes when full instead of returning an error
+
+ There's a race between the client and osd with a newly marked full
+ osdmap. If the client gets the new map first, it blocks writes and
+ everything works as expected, with no errors from the osd.
+
+ If the osd gets the map first, however, it will respond to any writes
+ with -ENOSPC. Clients will pass this up the stack, and not retry these
+ writes later. -ENOSPC isn't handled well by all clients. RBD, for
+ example, may pass it on to qemu or kernel rbd which will both
+ interpret it as EIO. Filesystems on top of rbd will not behave well
+ when they receive EIOs like this, especially if the cluster oscillates
+ between full and not full, so some writes succeed.
+
+ To fix this, never return ENOSPC from the osd because of a map marked
+ full, and rely on the client to retry all writes when the map is no
+ longer marked full.
+
+ Old clients talking to osds with this fix will hang instead of
+ propagating an error, but only if they run into this race
+ condition. ceph-fuse and rbd with caching enabled are not affected,
+ since the ObjectCacher will retry writes that return errors.
+
+ Refs: #6938
+ Backport: dumpling, emperor
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit 4111729dda7437c23f59e7100b3c4a9ec4101dd0)
+
+commit 2b109803b9434d2d495e65d6a045838ee3ebf169
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Wed Nov 6 16:55:52 2013 -0800
+
+ objecter: clean pause / unpause logic
+
+ op->paused holds now whether operation should be paused or not, and it's
+ being updated when scanning requests. No need to do a second scan.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 5fe3dc647bf936df8e1eb2892b53f44f68f19821)
+
+commit 7b229fca346b7ab60131b229591d35f63f64a6ad
+Author: Yehuda Sadeh <yehuda@inktank.com>
+Date: Wed Nov 6 16:15:47 2013 -0800
+
+ objecter: set op->paused in recalc_op_target(), resend in not paused
+
+ When going through scan_requests() in handle_osd_map() we need to make
+ sure that if an op should not be paused anymore then set it on the op
+ itself, and return NEED_RESEND. Otherwise we're going to miss reset of
+ the full flag.
+ Also in handle_osd_map(), make sure that op shouldn't be paused before
+ sending it. There's a lot of cleanup around that area that we should
+ probably be doing, make the code much more tight.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
+ (cherry picked from commit 98ab7d64a191371fa39d840c5f8e91cbaaa1d7b7)
+
+commit a3fdfd77c953a8f9ace4991630599e60f56abc4a
+Author: Josh Durgin <josh.durgin@inktank.com>
+Date: Wed Nov 6 10:46:37 2013 +0800
+
+ objecter: don't resend paused ops
+
+ Paused ops are meant to block on the client side until a new map that
+ unpauses them is recieved. If we send paused writes when the FULL flag
+ is set, we'll get -ENOSPC from the osds, which is not what Objecter
+ users expect. This may cause rbd without caching to produce an I/O
+ error instead of waiting for the cluster to have capacity.
+
+ Fixes: #6725
+ Backport: dumpling
+ Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
+ (cherry picked from commit c5c399d327cfc0d232d9ec7d49ababa914d0b21a)
+
+commit 78037886ae6ae278d8fb2db52d7767b8612313fe
+Merge: a60ac91 4e47a00
+Author: Sage Weil <sage@inktank.com>
+Date: Sun Dec 29 21:10:30 2013 -0800
+
+ Merge pull request #808 from ceph/wip-6152-dumpling
+
+ rgw: Fix S3 auth when using response-* query string params
+
+commit 4e47a003bb3adcee690067d4037c248a93023c20
+Author: Sylvain Munaut <s.munaut@whatever-company.com>
+Date: Thu Aug 29 16:17:30 2013 +0200
+
+ rgw: Fix S3 auth when using response-* query string params
+
+ Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
+ Signed-off-by: Sylvain Munaut <s.munaut@whatever-company.com>
+ (cherry picked from commit 7a7361d7e798d94796d4985e2e4b35af22463ae2)