2002-08-28 15:42:14

by Stephen C. Tweedie

[permalink] [raw]
Subject: [Patch 2/8] 2.4.20-pre4/ext3: Fix out-of-inodes handling

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);
}