diff --git a/sys/vfs/hammer/hammer_vfsops.c b/sys/vfs/hammer/hammer_vfsops.c index fd1e7d1..08dd391 100644 --- a/sys/vfs/hammer/hammer_vfsops.c +++ b/sys/vfs/hammer/hammer_vfsops.c @@ -784,16 +784,21 @@ hammer_vfs_mount(struct mount *mp, char *mntpt, caddr_t data, goto done; vput(rootvp); /*vn_unlock(hmp->rootvp);*/ - if (hmp->ronly == 0) + if (hmp->ronly == 0) { error = hammer_recover_stage2(hmp, rootvol); - /* - * If the stage2 recovery fails be sure to clean out all cached - * vnodes before throwing away the mount structure or bad things - * will happen. - */ - if (error) - vflush(mp, 0, 0); + /* + * If the stage2 recovery fails be sure to clean out all cached + * vnodes before throwing away the mount structure or bad things + * will happen. + */ + if (error) { + vflush(mp, 0, 0); + kprintf("HAMMER: Ignoring errors from " + "REDO scan and allowing R/W mount\n"); + error = 0; + } + } done: hammer_rel_volume(rootvol, 0);