summaryrefslogtreecommitdiff
path: root/src/qam/qam_files.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/qam/qam_files.c')
-rw-r--r--src/qam/qam_files.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/qam/qam_files.c b/src/qam/qam_files.c
index e9a9ff07..f5c7d2ec 100644
--- a/src/qam/qam_files.c
+++ b/src/qam/qam_files.c
@@ -1,7 +1,7 @@
/*-
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 1999, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015 Oracle and/or its affiliates. All rights reserved.
*
* $Id$
*/
@@ -445,6 +445,8 @@ __qam_fremove(dbp, pgnoaddr)
* sizeof(array->mpfarray[0]));
array->mpfarray[
array->hi_extent - array->low_extent].mpf = NULL;
+ array->mpfarray[
+ array->hi_extent - array->low_extent].pinref = 0;
if (array->low_extent != array->hi_extent)
array->low_extent++;
} else {
@@ -570,8 +572,11 @@ again:
for (i = first; i >= first && i <= stop; i += rec_extent) {
if ((ret = __qam_fprobe(dbc, QAM_RECNO_PAGE(dbp, i),
&fp->mpf, QAM_PROBE_MPF, dbp->priority, 0)) != 0) {
- if (ret == ENOENT)
+ if (ret == ENOENT) {
+ /* Missing extents are acceptable; skip them. */
+ ret = 0;
continue;
+ }
goto err;
}
fp->id = QAM_RECNO_EXTENT(dbp, i);