]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/osd/pg: add `record_error` bool to failure_func
authorMatan Breizman <mbreizma@redhat.com>
Sun, 19 Nov 2023 09:35:21 +0000 (09:35 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 19 Nov 2023 09:58:50 +0000 (09:58 +0000)
commit11d2c6675779956166c7b51892459c6841ff16ba
treea4c493f03c0bab8b6806311e3335f9b47affa62f
parent74965cb4dd9a681b16c0aa18abfe49f69d1b0257
crimson/osd/pg: add `record_error` bool to failure_func

```
submit_error_log records the result of an IO into the pg log so that we can return
the same error code if the client resends the request.
This should only be relevant for logical errors resulting from the target object state
-- for example, EEXIST returned on an exclusive create -- because there is application
logic built to rely on them.
In classic, the only such site is if the return value from do_osd_ops is negative
(or the transaction is empty) -- see PrimaryLogPG::prepare_transaction,
specifically where we set update_log_only to true.

We do not want to record space usage errors or errors specific to conditions on the primary
OSD such as IO errors -- submit_error_log isn't a catch-all error path.
```

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/osd/pg.cc