]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: reject unaligned writes on ec pools
authorSamuel Just <sam.just@inktank.com>
Thu, 6 Feb 2014 04:05:04 +0000 (20:05 -0800)
committerSamuel Just <sam.just@inktank.com>
Mon, 17 Feb 2014 22:24:55 +0000 (14:24 -0800)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc

index 5ed51da0c25cfe9efe62dcd4b7cca4ef65d5c28a..46db4b76cd776b54ad5b3739b97fc1709da635b5 100644 (file)
@@ -3476,6 +3476,12 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
          break;
        }
 
+       if (pool.info.requires_aligned_append() &&
+           (op.extent.offset % pool.info.required_alignment() != 0)) {
+         result = -EOPNOTSUPP;
+         break;
+       }
+
        if (!obs.exists) {
          ctx->mod_desc.create();
        } else if (op.extent.offset == oi.size) {