--=-a+vH8GfNC+r/qMRekhdB Content-Type: text/plain Content-Transfer-Encoding: 7bit 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 - ] --=-a+vH8GfNC+r/qMRekhdB Content-Disposition: attachment; filename=ext3-enospc.patch Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; name=ext3-enospc.patch; charset=ISO-8859-1 # Prevent ext3_std_error being called on inode ENOSPC #=20 # 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; =20 fail: - ext3_std_error(sb, err); + if (err !=3D -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 #### --=-a+vH8GfNC+r/qMRekhdB--