Don't consider ENOSPC as a fatal error when allocating an inode. Otherwise
running out of inodes marks the fs as having an error, potentially taking
the kernel down if we are in panic-on-error fs mode.
--- linux-ext3-2.4merge/fs/ext3/ialloc.c.=K0003=.orig Tue Aug 27 23:17:07 2002
+++ linux-ext3-2.4merge/fs/ext3/ialloc.c Tue Aug 27 23:19:57 2002
@@ -392,7 +392,7 @@
err = -ENOSPC;
if (!gdp)
- goto fail;
+ goto out;
err = -EIO;
bitmap_nr = load_inode_bitmap (sb, i);
@@ -523,9 +523,10 @@
return inode;
fail:
+ ext3_std_error(sb, err);
+out:
unlock_super(sb);
iput(inode);
- ext3_std_error(sb, err);
return ERR_PTR(err);
}