An ext3 update which also applies to linux-2.4.16 is available at http://www.zip.com.au/~akpm/linux/ext3/ Quite a lot of miscellany here. It would be appreciated if interested parties could please test it in preparation for sending upstream. Thanks. Changelog: - Merged several ext2 sync-up patches from Christoph Hellwig - Drop the big kernel lock across the call to block_prepare_write. This was causing excessive contention on large SMP machines. Thanks to Anton ("dbench") Blanchard for finding this. - Fixed a couple of potential kmap leaks on error paths. There is some question whether the core kernel should be changed so that this is not necessary, but it is right for current kernels. - Fixed bugs concerning the use of bit operations on 32 bit quantities, which could cause problems on 64-bit hardware. Thanks davem. - Fix failure to return EFBIG when an attempt is made to lengthen an ext3 file to more than the maximum file size via ftruncate(). - Current ext3 can cause an assertion failure and take down the machine when an I/O error is encountered while mapping journal blocks in preparation for writing to the journal. Fix from Stephen turns the filesystem readonly when this occurs. - ext3 is presently marking data dirty itself, which defeats the core kernel's dirty buffer balancing. Take that out and let the generic layer mark the buffers dirty. This change, along with core kernel changes in 2.4.17-pre2 can potentially reduce system congestion under heavy write loads. - Update Documentation/Changes to reflect requirement for e2fsprogs version (1.25) - Update Documentation/Locking to describe the two address_space methods which ext3 introduced.
On Sun, Dec 02, 2001 at 09:51:01PM -0800, Andrew Morton wrote:> > An ext3 update which also applies to linux-2.4.16 is available at >It seems something broken between 2.4.15-pre2 and this update - I am seeing filesystem corruption: Procmail moans about "locked" mailboxes - Opening them shows that the last mail originates about 4 hours ago although there are coming mails every minute. procmail: Extraneous locallockfile ignored procmail: Error while writing to "countpl/20011205" procmail: Truncated file to former size procmail: Error while writing to "archive/received-200112" procmail: Truncated file to former size From flo@mediaways.net Wed Dec 5 13:25:37 2001 Subject: Cron <nwmgmt@mgr1> /aol/bin/count.pl Folder: /home/flo/Mail/inbox (flo@ping)~# ls -la Mail/countpl/20011205 Mail/archive/received-200112 -rw------- 1 flo flo 51200000 Dec 5 13:25 Mail/archive/received-200112 -rw------- 1 flo flo 51200000 Dec 5 13:25 Mail/countpl/20011205 The last lines of the countpl/20011205 file contain 0 - Cut'n'pasted from "most". 0x030D3C20: 3E0A4461 74653A20 5765642C 20203520 >.Date: Wed, 5 0x030D3C30: 44656320 32303031 2030393A 32303A32 Dec 2001 09:20:2 0x030D3C40: 32202B30 30303020 28474D54 290A0A45 2 +0000 (GMT)..E 0x030D3C50: 52522020 31373938 3520322E 72646967 RR 17985 2.rdig 0x030D3C60: 2E756B20 3A203632 2E35352E 382E3132 .uk : 62.55.8.12 0x030D3C70: 36206661 696C6564 20776169 74696E67 6 failed waiting 0x030D3C80: 20666F72 20706167 696E6720 72657175 for paging requ 0x030D3C90: 65737420 696E206C 32747020 73657373 est in l2tp sess 0x030D3CA0: 696F6E20 7461626C 650A0A00 00000000 ion table....... 0x030D3CB0: 00000000 00000000 00000000 00000000 ................ 0x030D3CC0: 00000000 00000000 00000000 00000000 ................ 0x030D3CD0: 00000000 00000000 00000000 00000000 ................ 0x030D3CE0: 00000000 00000000 00000000 00000000 ................ 0x030D3CF0: 00000000 00000000 00000000 00000000 ................ 0x030D3D00: 00000000 00000000 00000000 00000000 ................ 0x030D3D10: 00000000 00000000 00000000 00000000 ................ 0x030D3D20: 00000000 00000000 00000000 00000000 ................ 0x030D3D30: 00000000 00000000 00000000 00000000 ................ 0x030D3D40: 00000000 00000000 00000000 00000000 ................ 0x030D3D50: 00000000 00000000 00000000 00000000 ................ 0x030D3D60: 00000000 00000000 00000000 00000000 ................ 0x030D3D70: 00000000 00000000 00000000 00000000 ................ 0x030D3D80: 00000000 00000000 00000000 00000000 ................ 0x030D3D90: 00000000 00000000 00000000 00000000 ................ 0x030D3DA0: 00000000 00000000 00000000 00000000 ................ 0x030D3DB0: 00000000 00000000 00000000 00000000 ................ 0x030D3DC0: 00000000 00000000 00000000 00000000 ................ 0x030D3DD0: 00000000 00000000 00000000 00000000 ................ 0x030D3DE0: 00000000 00000000 00000000 00000000 ................ 0x030D3DF0: 00000000 00000000 00000000 00000000 ................ 0x030D3E00: 00000000 00000000 00000000 00000000 ................ 0x030D3E10: 00000000 00000000 00000000 00000000 ................ 0x030D3E20: 00000000 00000000 00000000 00000000 ................ 0x030D3E30: 00000000 00000000 00000000 00000000 ................ 0x030D3E40: 00000000 00000000 00000000 00000000 ................ 0x030D3E50: 00000000 00000000 00000000 00000000 ................ 0x030D3E60: 00000000 00000000 00000000 00000000 ................ 0x030D3E70: 00000000 00000000 00000000 00000000 ................ 0x030D3E80: 00000000 00000000 00000000 00000000 ................ 0x030D3E90: 00000000 00000000 00000000 00000000 ................ 0x030D3EA0: 00000000 00000000 00000000 00000000 ................ 0x030D3EB0: 00000000 00000000 00000000 00000000 ................ 0x030D3EC0: 00000000 00000000 00000000 00000000 ................ 0x030D3ED0: 00000000 00000000 00000000 00000000 ................ 0x030D3EE0: 00000000 00000000 00000000 00000000 ................ 0x030D3EF0: 00000000 00000000 00000000 00000000 ................ 0x030D3F00: 00000000 00000000 00000000 00000000 ................ 0x030D3F10: 00000000 00000000 00000000 00000000 ................ 0x030D3F20: 00000000 00000000 00000000 00000000 ................ 0x030D3F30: 00000000 00000000 00000000 00000000 ................ 0x030D3F40: 00000000 00000000 00000000 00000000 ................ 0x030D3F50: 00000000 00000000 00000000 00000000 ................ 0x030D3F60: 00000000 00000000 00000000 00000000 ................ 0x030D3F70: 00000000 00000000 00000000 00000000 ................ 0x030D3F80: 00000000 00000000 00000000 00000000 ................ 0x030D3F90: 00000000 00000000 00000000 00000000 ................ 0x030D3FA0: 00000000 00000000 00000000 00000000 ................ 0x030D3FB0: 00000000 00000000 00000000 00000000 ................ 0x030D3FC0: 00000000 00000000 00000000 00000000 ................ 0x030D3FD0: 00000000 00000000 00000000 00000000 ................ 0x030D3FE0: 00000000 00000000 00000000 00000000 ................ 0x030D3FF0: 00000000 00000000 00000000 00000000 ................ 0x030D4000: I am backing out the 2417 changes now - I already did a forced fsck which (e2fs 1.25) which didnt find anything abnormal. (flo@ping)~# uname -a Linux ping.mediaways.net 2.4.16 #1 Tue Dec 4 19:42:30 CET 2001 i686 unknown Flo -- Florian Lohoff flo@rfc822.org +49-5201-669912 Nine nineth on september the 9th Welcome to the new billenium
On Mon, 2001-12-03 at 00:51, Andrew Morton wrote:> An ext3 update which also applies to linux-2.4.16 is available at > > http://www.zip.com.au/~akpm/linux/ext3/ > > Quite a lot of miscellany here. It would be appreciated if interested > parties could please test it in preparation for sending upstream. Thanks.Running 2.4.17-pre4 + preempt-kernel + ext3-0.9.16. System survived a preliminary stress test, involving I/O and VM pressure, with no problems. Seems solid here. Also, subjectively the combination of 2.4.17-pre2+ and this ext3 patch yields better performance under load. Can't comment which provide the benefit without testing, but hey, it's the user experience that counts. Robert Love