This works for me, and is what I'm going with unless
anybody objects. I'm returning -1 instead of calling
abort(), and the error message is now CRASHDEBUG(1)
because it tends to spew way too many of them over the
course of one readmem() call, not to mention that the
contents of the message are of little use to anybody
but an LKCD developer. I'm really only interested in
knowing that the dumpfile access failed, and this patch
accomplishes that without shutting down the crash session.
Dave
Index: lkcd_common.c
===================================================================
RCS file: /nfs/projects/cvs/crash/lkcd_common.c,v
retrieving revision 1.29
diff -u -r1.29 lkcd_common.c
--- lkcd_common.c 15 Nov 2007 15:44:38 -0000 1.29
+++ lkcd_common.c 16 Nov 2007 20:18:05 -0000
@@ -708,14 +708,15 @@
if (lkcd->zones[ii].start == zone) {
if (lkcd->zones[ii].pages[page].offset != 0) {
if (lkcd->zones[ii].pages[page].offset != off) {
- error(INFO, "conflicting page: zone %lld, "
+ if (CRASHDEBUG(1))
+ error(INFO, "LKCD: conflicting page: zone %lld, "
"page %lld: %lld, %lld != %lld\n",
(unsigned long long)zone,
(unsigned long long)page,
(unsigned long long)paddr,
(unsigned long long)off,
(unsigned long long)lkcd->zones[ii].pages[page].offset);
- abort();
+ return -1;
}
ret = 0;
} else {