From 11481170f5117e0e2ef1f90d68e2c376dacbffaa Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Sat, 13 May 2023 23:59:20 +0300 Subject: [PATCH] Add a FIXME about ENOSPC --- src/osd_primary_write.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/osd_primary_write.cpp b/src/osd_primary_write.cpp index 167dd6f4..3e7bf56c 100644 --- a/src/osd_primary_write.cpp +++ b/src/osd_primary_write.cpp @@ -197,6 +197,11 @@ resume_5: } if (op_data->errors > 0) { + // FIXME: Handle ENOSPC. If one of the subops fail with ENOSPC here, + // next writes to the same object will also fail because they'll try + // to overwrite the same version number which will result in EEXIST. + // To fix it, we should mark the object as degraded for replicas, + // and rollback successful part updates in case of EC. pg_cancel_write_queue(pg, cur_op, op_data->oid, op_data->errcode); return; }