Date: Mon, 16 Jun 2008 11:27:53 +0200 From: Kris Kennaway <kris@FreeBSD.org> To: Martin Cracauer <cracauer@cons.org> Cc: freebsd-fs@FreeBSD.ORG, cracauer@FreeBSD.ORG, freebsd-stable@FreeBSD.ORG, maxim@FreeBSD.ORG Subject: Re: infinite loop when copying to ext2fs Message-ID: <48563219.9070306@FreeBSD.org> In-Reply-To: <20080616034258.GA94873@cons.org> References: <20080118120140.2a8170a0@dev> <47921931.9050606@FreeBSD.org> <47921AE2.1060004@FreeBSD.org> <20080301220924.72bf355d@dev.citybikes.cz> <47C9C912.1020700@FreeBSD.org> <20080616034258.GA94873@cons.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Martin Cracauer wrote: > Kris Kennaway wrote on Sat, Mar 01, 2008 at 10:22:26PM +0100: >> Jakub Siroky wrote: >>> I've just confirmed the same situation on 6.2-RELEASE amd64/GENERIC. I >>> did not noticed it before because I started using ext2fs extensively >>> some months ago. >>> >>> Regards, >>> Jakub >>> >>> On Sat, 19 Jan 2008 16:44:34 +0100 >>> Kris Kennaway <kris@FreeBSD.org> wrote: >>> >>>> Kris Kennaway wrote: >>>>> Jakub Siroky wrote: >>>>>> I have two large ext2fs partitions (368 and 313GB) to hold data >>>>>> shared between several OSes. While there were no problems on >>>>>> 6-STABLE branch I was quite disappointed after upgrade to >>>>>> 7-STABLE. Whenever I copy/write to ext2fs partition the system >>>>>> freezes totally without crashdump. So I set debugging settings to >>>>>> kernel config (DEBUG,WITNESS,..) and in console I reproduced error >>>>>> situation ending with full screen of unstoppable running text with >>>>>> lot of memory addresses and a few recognisable words: 'new block >>>>>> bit set for ext already' - again with no crashdump. Then I have >>>>>> formatted 1GB partition with ext2fs and the problem on this small >>>>>> partition appears only sometimes. >>>>> OK, I am able to reproduce this. >>>>> >>>>> Kris >>>>> >>>> Is anyone able to look at this? I could not spot a candidate change >>>> that has not been merged to 6.x. >>>> >>>> Kris >>> >> Sounds like it may have been broken by the change to ext2_bitops.h by >> cracauer. Can you confirm whether backing out 1.2.2.1 fixes it? > > I don't think my change can cause a new endless loop. > > I only reversed the order of tests to ensure we don't overrun a page > bounddary (into possibly unmapped space). > > - while(*p == ~0U && ofs < sz) { > + while(ofs < sz && *p == ~0U) { > > It is, however, likely that the code was buggy in the first place. > Linux has replaced all this (the allocation code). > > Also note that the code I fixed is amd64 only. If the endless loop > appears on i386 it's something else. > > Martin It is amd64 only. I am able to reproduce using the method in the original mails, can you? Kris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48563219.9070306>