common/crc32c_intel_fast: avoid reading partial trailing word

The optimized intel code reads in word-sized chunks, knowing that the
allocator will only hand out memory in word-sized increments.   This makes
valgrind unhappy.  Whitelisting doesn't work because for some reason there
is no caller context (probably because of some interaction with yasm?).

Instead, just use the baseline code for the last few bytes.  This should
not be significant.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 39c89dcfed0587f822e2226f2de8e4092449af29)

Conflicts:
	src/test/common/test_crc32c.cc
qa: workunits: mon: test snaps ops using rbd.

Regression test for #6047

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
(cherry picked from commit b2b0f202ea8a0028e7e27664b3ea6b9b8cdafe6e)
ceph_json: use different string constructor for parser buffer

Fixes: #6397
Previous implementation did not user the constructor with the length
param.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: don't append NULL char before json parsing

Parser handles that by itself.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Merge pull request #657 from ceph/wip-6397

Wip 6397

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
ceph.in: fix missing exception variable in failure to open -o file

Fixes: #6424
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Merge pull request #658 from dmick/next

ceph.in: fix missing exception variable in failure to open -o file

Reviewed-by: Sage Weil <sage@inktank.com>
Merge remote-tracking branch 'gh/next'

Conflicts:
	src/common/crc32c_intel_fast.c