diff options
Diffstat (limited to 'usr/src/uts/common/cpr/cpr_main.c')
-rw-r--r-- | usr/src/uts/common/cpr/cpr_main.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/usr/src/uts/common/cpr/cpr_main.c b/usr/src/uts/common/cpr/cpr_main.c index 22e1b702f7..31295e1b2c 100644 --- a/usr/src/uts/common/cpr/cpr_main.c +++ b/usr/src/uts/common/cpr/cpr_main.c @@ -70,6 +70,7 @@ extern void (*srn_signal)(int, int); extern void init_cpu_syscall(struct cpu *); extern void i_cpr_pre_resume_cpus(); extern void i_cpr_post_resume_cpus(); +extern int cpr_is_ufs(struct vfs *); extern int pm_powering_down; extern kmutex_t srn_clone_lock; @@ -336,8 +337,14 @@ cpr_ufs_logging(int enable) if (error = cpr_open_deffile(FREAD, &vp)) return (error); - cpr_log_status(enable, &def_status, vp); vfsp = vp->v_vfsp; + if (!cpr_is_ufs(vfsp)) { + (void) VOP_CLOSE(vp, FREAD, 1, (offset_t)0, CRED(), NULL); + VN_RELE(vp); + return (0); + } + + cpr_log_status(enable, &def_status, vp); (void) VOP_CLOSE(vp, FREAD, 1, (offset_t)0, CRED(), NULL); VN_RELE(vp); |