[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: ext3 behaviour when no space on disk
- From: Nigel Metheringham <Nigel Metheringham dev InTechnology co uk>
- To: Andrew Morton <akpm zip com au>
- Cc: Andreas Dilger <adilger clusterfs com>,Duncan Sands <duncan sands wanadoo fr>, ext3-users redhat com
- Subject: Re: ext3 behaviour when no space on disk
- Date: 12 Jun 2002 12:12:30 +0100
On Tue, 2002-06-04 at 00:06, Andrew Morton wrote:
> Memory fails me... But no, we shouldn't be treating ENOSPC in that
> manner. How about this?
I'm getting some similar interesting errors to this - unfortunately I
don't now have the Oops listing (too many things died on the box).
This is on a 2.4.19-pre3 box - too early to have Stephen's last batch of
updates applied, so I am building that now.
However there are some:-
kernel: EXT3-fs error (device ida0(72,8)) in ext3_new_inode: error 28
[device is a compaq RAID controller], error 28 is ENOSPC.
I see in ialloc.c that there is already some special treatment for
ENOSPC that would skip around the ext3_std_error call, but then ENOSPC
is also used for other purposes ("Free inodes count corrupted in group
%d")....
In my case I think I probably am hitting the limit of inodes on the
system - after getting the box back into action it was 80% inodes used
all in one directory and the app may well have chewed some more.
Is conditionalising the ext3_std_error call like in Andrew's patch a
sensible thing to do in this case? I've attached the equivalent patch
(against 2.4.19-pre10-ac2).
Nigel.
--
[ Nigel Metheringham Nigel Metheringham InTechnology co uk ]
[ - Comments in this message are my own and not ITO opinion/policy - ]
# Prevent ext3_std_error being called on inode ENOSPC
#
# To apply this patch:
# STEP 1: Chdir to the source directory.
# STEP 2: Run the 'applypatch' program with this patch file as input.
#
# If you do not have 'applypatch', it is part of the 'makepatch' package
# that you can fetch from the Comprehensive Perl Archive Network:
# http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz
# In the above URL, 'x' should be 2 or higher.
#
# To apply this patch without the use of 'applypatch':
# STEP 1: Chdir to the source directory.
# STEP 2: Run the 'patch' program with this file as input.
#
#### End of Preamble ####
#### Patch data follows ####
diff -u 'zkernel-2.4.18.orig/linux/fs/ext3/ialloc.c' 'zkernel-2.4.18/linux/fs/ext3/ialloc.c'
Index: ./fs/ext3/ialloc.c
--- ./fs/ext3/ialloc.c Wed Jun 12 11:23:42 2002
+++ ./fs/ext3/ialloc.c Wed Jun 12 11:57:10 2002
@@ -523,7 +523,8 @@
return inode;
fail:
- ext3_std_error(sb, err);
+ if (err != -ENOSPC)
+ ext3_std_error(sb, err);
out:
unlock_super(sb);
iput(inode);
#### End of Patch data ####
#### ApplyPatch data follows ####
# Data version : 1.0
# Date generated : Wed Jun 12 12:05:17 2002
# Generated by : makepatch 2.00
# Recurse directories : Yes
# Excluded files : (\A|.*/)CVS(/.*|\Z)
# (\A|.*/)RCS(/.*|\Z)
# ,v\Z
# (\A|.*/)SCCS(/.*|\Z)
# (\A|.*/)[sp]\..+\Z
# p 'fs/ext3/ialloc.c' 19634 1023879430 0100644
#### End of ApplyPatch data ####
#### End of Patch kit [created: Wed Jun 12 12:05:17 2002] ####
#### Checksum: 48 1599 53305 ####
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]