Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e48a1e5 authored by Stephen Crane's avatar Stephen Crane Committed by Automerger Merge Worker
Browse files

storageproxy: Report fsync failures with a distinct error code am: cf458bae

parents 19ddf449 cf458bae
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -70,6 +70,9 @@ enum storage_cmd {
 * @STORAGE_ERR_TRANSACT        returned by various operations to indicate that current transaction
 *                              is in error state. Such state could be only cleared by sending
 *                              STORAGE_END_TRANSACTION message.
 * @STORAGE_ERR_SYNC_FAILURE    indicates that the current operation failed to sync
 *                              to disk. Only returned if STORAGE_MSG_FLAG_PRE_COMMIT or
 *                              STORAGE_MSG_FLAG_POST_COMMIT was set for the request.
 */
enum storage_err {
	STORAGE_NO_ERROR          = 0,
@@ -80,6 +83,7 @@ enum storage_err {
	STORAGE_ERR_NOT_FOUND     = 5,
	STORAGE_ERR_EXIST         = 6,
	STORAGE_ERR_TRANSACT      = 7,
	STORAGE_ERR_SYNC_FAILURE  = 8,
};

/**
+1 −1
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ static int handle_req(struct storage_msg* msg, const void* req, size_t req_len)
    if (msg->flags & STORAGE_MSG_FLAG_PRE_COMMIT) {
        rc = storage_sync_checkpoint();
        if (rc < 0) {
            msg->result = STORAGE_ERR_GENERIC;
            msg->result = STORAGE_ERR_SYNC_FAILURE;
            return ipc_respond(msg, NULL, 0);
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -410,7 +410,7 @@ int storage_file_write(struct storage_msg *msg,
    if (msg->flags & STORAGE_MSG_FLAG_POST_COMMIT) {
        rc = storage_sync_checkpoint();
        if (rc < 0) {
            msg->result = STORAGE_ERR_GENERIC;
            msg->result = STORAGE_ERR_SYNC_FAILURE;
            goto err_response;
        }
    }