UBIFS: return EROFS in case of broken commit
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Thu, 26 May 2011 13:57:14 +0000 (16:57 +0300)
committerArtem Bityutskiy <dedekind1@gmail.com>
Mon, 4 Jul 2011 07:54:26 +0000 (10:54 +0300)
If commit failed and it is in broken state, UBIFS switches to R/O mode. Most
operations return -EROFS in this case, except of commit which returns -EINVAL.
Make it return -EROFS too for consistency. This is also important for our power
cut emulation testing.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
fs/ubifs/commit.c

index 87cd0ea..8ab03d1 100644 (file)
@@ -418,7 +418,7 @@ int ubifs_run_commit(struct ubifs_info *c)
 
        spin_lock(&c->cs_lock);
        if (c->cmt_state == COMMIT_BROKEN) {
-               err = -EINVAL;
+               err = -EROFS;
                goto out;
        }
 
@@ -444,7 +444,7 @@ int ubifs_run_commit(struct ubifs_info *c)
         * re-check it.
         */
        if (c->cmt_state == COMMIT_BROKEN) {
-               err = -EINVAL;
+               err = -EROFS;
                goto out_cmt_unlock;
        }