2.4.0test1 - VFS return EIO instead of (eg) ENOSPACE

From: Ph. Marek (marek@mail.bmlv.gv.at)
Date: Mon May 29 2000 - 01:44:20 EST


Hi everybody,

I ran across a problem in the weekend.

My fs was nearly full; users were denied using any more space (uid 0 could get some).

BUT:
mkdir sample
gave EIO and
echo agaga > test
got NO error return (didn't test with program for error-on-close - sorry).

I think that at least the errorcode in mkdir is wrong - in fs/ext2/namei.c:ext2_mkdir the errorcode gets rewritten to EIO - even if it was already set!! (to ENOSPACE or anything else)
So I suggest something like

fs/ext2/namei.c:437
+ err=0;
        inode = ext2_new_inode (dir, S_IFDIR, &err);
fs/ext2/namei.c:440
- return -EIO;
+ return err || -EIO;
fs/ext2/namei.c:451
- return -EIO;
+ return err || -EIO;

I didn't look in the other fs-code - maybe there are similar problems.

Regards,

Phil

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:20 EST