bluestore: Fix _setattr() with rare memory alignments
Fix an issue in BlueStore_setattr whereby if a buffer was contiguous and non-partial, then bluestore could completely drop the attribute.
setattr seems to be rarely used outside of new EC. In new EC it is only
used on non-primary shards, so this was only ever seen if the non-primary
happened to be on the same OSD as the primary - this is transient and rare
that scrubbing would actually catche the issue.
Fixes: https://tracker.ceph.com/issues/71623
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
(cherry picked from commit
d4e2d4977016bce22a4b9e779c5da54be2d4aaba)