-------- Original Message --------
Subject: UPDATE 871460 - TAKE - xfsdump -I core dump when one of the
inventory/*StObj was corrupted
Date: Thu, 24 Oct 2002 07:53:08 -0700 (PDT)
From: pv@xxxxxxxxxxxxx (alkirkco@xxxxxxx)
Reply-To: sgi.bugs.snlinux@xxxxxxxxxxxxxxxxx
To: alkirkco@xxxxxxx
CC: sgi.bugs.xfs@xxxxxxx, sgilinux1-triage@xxxxxxx
View Incident:
http://co-op.engr.sgi.com/BugWorks/code/bwxquery.cgi?search=Search&wlong=1&view_type=Bug&wi=871460
*CC List : sgi.bugs.xfs@xxxxxxx Status : closed
*Priority : 3 Assigned Engineer : alkirkco
Submitter : alkirkco *Classification : bug
Opened Date : 10/24/02 *Category : software
*Modified User : alkirkco *Modified User Domain : sgi.com
*Description :
==========================
ADDITIONAL INFORMATION (UPDATE)
From: alkirkco@xxxxxxx (BugWorks)
Date: Oct 24 2002 07:53:07AM
==========================
ACTIONS:
Classification: mod -> bug
Priority: 4 -> 3
--------------------------
This fix is for a bug reported in IRIX xfsdump in PV 855537.
The fix was checked into IRIX 6.5.19 m&f earlier today. The
same fix has just been checked into the Linux slinx tree as
modid xfs-cmds:slinx:130979a.
Targets:
--------
sbin/xfsdump
sbin/xfsrestore
Source files affected:
----------------------
eoe/cmd/xfs/dump/inventory/inv_stobj.c
Code Diff:
================================================================================
eoe/cmd/xfs/dump/inventory/inv_stobj.c
================================================================================
barney 65% p_rdiff -u inv_stobj.c
--- /usr/tmp/TmpDir.22172-0/cmd/xfsdump/inventory/inv_stobj.c_1.7 Thu Oct
24 09:20:27 2002
+++ cmd/xfsdump/inventory/inv_stobj.c Thu Oct 24 09:20:02 2002
@@ -1264,9 +1264,15 @@
}
/* copy the mediafile into the exported structure */
- stobj_convert_mfile(
&ises->s_streams[i].st_mediafiles[j],
- &mf);
-
+ if (ises->s_streams[i].st_mediafiles) {
+ stobj_convert_mfile(
&ises->s_streams[i].st_mediafiles[j],
+ &mf);
+ } else {
+ mlog(MLOG_ERROR, "Failed to get data from media
file: "
+ "possible file corruption\n");
+ mlog_exit_hint(RV_CORRUPT);
+ return -1;
+ }
}
}
|