Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id g182Exq12700 for linux-xfs-outgoing; Thu, 7 Feb 2002 18:14:59 -0800 Received: from deliverator.sgi.com (deliverator.sgi.com [204.94.214.10]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id g182ErA12677 for ; Thu, 7 Feb 2002 18:14:54 -0800 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via SMTP id SAA28336 for ; Thu, 7 Feb 2002 18:10:26 -0800 (PST) mail_from (ivanr@sgi.com) Received: from omen.melbourne.sgi.com (omen.melbourne.sgi.com [134.14.55.139]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id NAA09030; Fri, 8 Feb 2002 13:13:33 +1100 From: ivanr@sgi.com Received: from localhost (ivanr@localhost) by omen.melbourne.sgi.com (SGI-8.9.3/8.9.3) with ESMTP id NAA85947; Fri, 8 Feb 2002 13:13:32 +1100 (EST) X-Authentication-Warning: omen.melbourne.sgi.com: ivanr owned process doing -bs Date: Fri, 8 Feb 2002 13:13:31 +1100 X-X-Sender: ivanr@omen.melbourne.sgi.com To: "Bernhard R. Erdmann" cc: Linux XFS Mailing List Subject: Re: xfsrestore dumps core on cumulative restore with -B (dirattr.c:945) In-Reply-To: <3C5BEA25.AAB5D7FE@berdmann.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-xfs@oss.sgi.com Precedence: bulk On Sat, 2 Feb 2002, Bernhard R. Erdmann wrote: > I discovered a bug in xfsrestore 1.1.14 - it dumps core when the last > level of a cumlative dump is restored using the option "-B" to set mode > on . of the dumped filesystem. I couldn't reproduce the problem here, but judging by your core file, the following patch should avoid the core dump. I shall have a chat to Tim (the xfsrestore expert) next week, and see if we can get a better solution. --- /usr/tmp/TmpDir.13642-0/cmd/xfsdump/restore/tree.c_1.12 Fri Feb 8 13:10:00 2002 +++ cmd/xfsdump/restore/tree.c Fri Feb 8 10:56:56 2002 @@ -2461,6 +2461,9 @@ struct fsxattr fsxattr; /* can we get rid of this? */ intgen_t rval; + if ( dah == DAH_NULL ) + return; + fsxattr.fsx_xflags = dirattr_get_xflags( dah ); fsxattr.fsx_extsize = dirattr_get_extsize( dah ); Ivan -- Ivan Rayner ivanr@sgi.com