From owner-freebsd-hackers Mon Sep 27 21: 7:33 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from mg-20425427-16.ricochet.net (mg-20425427-16.ricochet.net [204.254.27.16]) by hub.freebsd.org (Postfix) with ESMTP id D96F815011 for ; Mon, 27 Sep 1999 21:07:27 -0700 (PDT) (envelope-from gurney_j@efn.org) Received: (from jmg@localhost) by mg-20425427-16.ricochet.net (8.9.1/8.8.7) id VAA06143; Mon, 27 Sep 1999 21:07:09 -0700 (PDT) Message-ID: <19990927210703.25786@hydrogen.fircrest.net> Date: Mon, 27 Sep 1999 21:07:03 -0700 From: John-Mark Gurney To: andrew@ugh.net.au Cc: Jan Pechanec , freebsd-hackers@FreeBSD.ORG Subject: Re: Corrupt File System References: <19990927110332.31201@hydrogen.fircrest.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.69 In-Reply-To: ; from andrew@ugh.net.au on Tue, Sep 28, 1999 at 01:43:37PM +1000 Reply-To: John-Mark Gurney Organization: Cu Networking X-Operating-System: FreeBSD 3.0-RELEASE i386 X-PGP-Fingerprint: B7 EC EF F8 AE ED A7 31 96 7A 22 B3 D8 56 36 F4 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG andrew@ugh.net.au scribbled this message on Sep 28: > On Mon, 27 Sep 1999, John-Mark Gurney wrote: > > > that's why I wrote ffsrecov... but you should be able to recover the fs's > > assuming you haven't writen anything to the slice of the disk that > > contained your data... > > I tried it on both the var and usr partitions..not that var is too > important but it is much smaller. With var it dumps up to inode 136 and > core dumps with sig11: > > #0 0x280baa02 in memcpy () > #1 0xefbfda2c in ?? () interesting, this must be getinode, as that is what is called at 450.. if this is the case, then it could be that my size calculation is messed up around the for loop, the block is out of range, I didn't allocate enough data (shouldn't happen, if it does, the inode is corrupt), or I didn't map enough of file system... (to small of size for the partition) > #2 0x8049f31 in dumpall (pi={fs = 0x280d6000, map = 0x280d4000, st = { > st_dev = 131077, st_ino = 1420575, st_mode = 33188, st_nlink = 1, > st_uid = 0, st_gid = 5, st_rdev = 5866536, st_atimespec = { > tv_sec = 938523740, tv_nsec = 0}, st_mtimespec = { > tv_sec = 895067625, tv_nsec = 0}, st_ctimespec = { > tv_sec = 895067625, tv_nsec = 0}, st_size = 0x0000000001400000, > st_blocks = 0x000000000000a030, st_blksize = 8192, st_flags = 0, > st_gen = 1796484062, st_lspare = -188160832, st_qspare = { > 0xf01be1a0f4c8e4c0, 0xf01be75800000002}}}) at main.c:450 > #3 0x8048e0e in main (argc=1, argv=0xefbfdc5c) at main.c:179 > #4 0x80489a9 in _start () > > With usr I have the problem with the image being greater than 2Gb and so > mmap fails. yeh, I know about this... I'm thinking about writing a bit of code that mmap's a cylindar group as needed, and then if an mmap fails, it will throw the oldest cylindar group away (I could even do a really stupid linked list for this)... > Any ideas? > > Thanks for all your help, it's hard to say... I'd need to get a fuller dump of ffsrecov at the segfault, like a dump of the inode that it's segfaulting on... -- John-Mark Gurney Voice: +1 408 975 9651 Cu Networking "The soul contains in itself the event that shall presently befall it. The event is only the actualizing of its thought." -- Ralph Waldo Emerson To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message