[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: What will happen when disk(ext3) is full while i continue to operate files ?



Hi,

On Fri, Sep 20, 2002 at 11:25:09AM +0200, Duncan Sands wrote:

> The problem is that it is quite tricky to recover from this.

Actually, mounting with "errors=continue" should let the filesystem
ignore the failure.

> What
> you need to do is delete files on the disk in order to have some
> free inodes.  Then you can apply a kernel patch to fix the bug
> (Andrew Morton sent me this patch against 2.5.20:

The official patch in 2.4 is attached.

Cheers,
 Stephen
---------------------
PatchSet 827
Date: 2002/04/10 18:02:19
Author: sct
Log:
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.

Members: 
	fs/ext3/ialloc.c:1.19.4.4->1.19.4.5 [ext3-1_0-branch]

--- linux-ext3-2.4merge/fs/ext3/ialloc.c.=K0001=.orig	Sat Aug 17 20:09:51 2002
+++ linux-ext3-2.4merge/fs/ext3/ialloc.c	Mon Aug 19 18:48:50 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);
 }
 

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]