From owner-freebsd-questions@FreeBSD.ORG Tue Feb 17 05:04:09 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4490C16A4CE; Tue, 17 Feb 2004 05:04:09 -0800 (PST) Received: from smtp-01.500mhz.net (as9-3-7.sbn.s.bonet.se [217.215.99.19]) by mx1.FreeBSD.org (Postfix) with ESMTP id 094A043D1D; Tue, 17 Feb 2004 05:04:09 -0800 (PST) (envelope-from s@ux.se) Received: from localhost (unknown [127.0.0.1]) by smtp-01.500mhz.net (Postfix) with ESMTP id 06A79147D23; Tue, 17 Feb 2004 13:04:08 +0000 (GMT) Received: from smtp-01.500mhz.net ([127.0.0.1]) by localhost (yabba.500mhz.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 00528-08; Tue, 17 Feb 2004 14:04:06 +0100 (CET) Received: from yabba.500mhz.net (yabba.500mhz.net [192.168.0.75]) by smtp-01.500mhz.net (Postfix) with ESMTP id 2E9E4147C61; Tue, 17 Feb 2004 14:04:06 +0100 (CET) Date: Tue, 17 Feb 2004 14:04:06 +0100 (CET) From: Stefan Krantz X-X-Sender: stefan@yabba.500mhz.net To: Tim Robbins In-Reply-To: <20040217112251.GA25431@cat.robbins.dropbear.id.au> Message-ID: <20040217140218.H900@yabba.500mhz.net> References: <20040217103909.N73217@yabba.500mhz.net> <20040217100822.GA13286@xor.obsecurity.org> <20040217102121.GA13632@xor.obsecurity.org> <20040217112251.GA25431@cat.robbins.dropbear.id.au> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by amavisd-new at 500mhz.net cc: bde@FreeBSD.org cc: freebsd-questions@FreeBSD.org cc: Kris Kennaway Subject: Re: Anyway to extract a large file from EXT2FS filesystem? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Feb 2004 13:04:09 -0000 > > > > > I would like to extract a large (11GB) tar file on an ext3 filesystem. But > > > > > it shows only to be about 3gb large: > > > > > > > > > > yabba# ls -la pictures.tar > > > > > -rw-r--r-- 1 root wheel 3317055488 Feb 15 19:03 pictures.tar > > > > > > > > > > Is there any possible way to extract the file? > > > > > > > > It shouldn't be appearing truncated. Are you certain that this size > > > > is incorrect, and the file has a different size when viewed from > > > > another OS? > > > > > > Yes. Yesterday I tested the archive with "tar tvf" (11gb) in > > > Linux and it tested OK. In FBSD it says "unexpected EOF". > > > > > > If I could i would just boot linux and split the file. But I can nolonger > > > boot linux =/ (migrated to fbsd 5.2 ;). > > > > I'm CC'ing tjr and bde, who might have some idea about the problem. > > Try this patch and let me know how it goes. You'll have to specify > the file name of /sys/gnu/ext2fs/ext2_inode_cnv.c to patch(1) manually, > then either buildkernel or rebuild only ext2fs.ko. If the file shows > up with the correct size in a directory listing, make sure you can actually > read data past 4 GB. > > ==== //depot/user/tjr/freebsd-tjr/src/sys/gnu/ext2fs/ext2_inode_cnv.c#1 - /p4/tjr/src/sys/gnu/ext2fs/ext2_inode_cnv.c ==== > @@ -77,6 +77,8 @@ > */ > ip->i_mode = ei->i_links_count ? ei->i_mode : 0; > ip->i_size = ei->i_size; > + if (S_ISREG(ip->i_mode)) > + ip->i_size |= ((u_int64_t)ei->i_size_high) << 32; > ip->i_atime = ei->i_atime; > ip->i_mtime = ei->i_mtime; > ip->i_ctime = ei->i_ctime; > @@ -112,6 +114,8 @@ > */ > ei->i_dtime = ei->i_links_count ? 0 : ip->i_mtime; > ei->i_size = ip->i_size; > + if (S_ISREG(ip->i_mode)) > + ei->i_size_high = ip->i_size >> 32; > ei->i_atime = ip->i_atime; > ei->i_mtime = ip->i_mtime; > ei->i_ctime = ip->i_ctime; This patch worked great! yabba# ls -l pictures.tar -rw-r--r-- 1 root wheel 11906990080 Feb 15 19:03 pictures.tar and extracting the file worked aswell. Thanks a million! Regards, Stefan