Project

General

Profile

Actions

Fix #7890

open

erasure-code: last stripe is not truncated

Added by Loïc Dachary about 10 years ago. Updated over 4 years ago.

Status:
New
Priority:
High
Assignee:
-
Category:
OSD
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

When encoding a 10 bytes object with osd_pool_erasure_code_stripe_width = 2048 and k=2 + m=1, the last strip should be truncated to 5 bytes ( 10 / 2 ) when stored on disk and kept to 2048 when in memory. test/erasure-code/test-erasure-code.sh shows that the file is not truncated which inflates the storage being used instead of deflating it.

-rw-r--r-- 1 loic loic 2048 mars  27 17:46 SOMETHING__head_847441D7__3_ffffffffffffffff_2
-rw-r--r-- 1 loic loic 2048 mars  27 17:46 SOMETHING__head_847441D7__3_ffffffffffffffff_1
-rw-r--r-- 1 loic loic 2048 mars  27 17:46 SOMETHING__head_847441D7__3_ffffffffffffffff_0
Actions

Also available in: Atom PDF