--- /usr/tmp/TmpDir.788-0/linux/fs/xfs/xfs_vfsops.c_1.264 Wed May 10 09:36:03 2000 +++ linux/fs/xfs/xfs_vfsops.c Wed May 10 09:35:59 2000 @@ -476,7 +476,6 @@ struct cred *cr) { xfs_mount_t *mp; - vnode_t *ddevvp = NULL, *rdevvp = NULL, *ldevvp = NULL; int error = 0; int vfs_flags; size_t n; @@ -526,7 +525,6 @@ } if (logdev != 0) { if (logdev == ddev) { - ldevvp = NULL; mp->m_logdev_targ = mp->m_ddev_targ; } else { /* Ensure that logdev isn't already mounted */ @@ -580,8 +578,6 @@ else strcpy(mp->m_fsname, "/"); } - } else { - ldevvp = NULL; } if (rtdev != 0) { if (rtdev == ddev || rtdev == logdev) { @@ -739,17 +735,16 @@ * Be careful not to clobber the value of 'error' here. */ error3: - if (ldevvp) { + /* It's impossible to get here before buftargs are filled */ + xfs_binval(mp->m_ddev_targ); + linvfs_release_inode(mp->m_ddev_targ.inode); + if (logdev && logdev != ddev) { xfs_binval(mp->m_logdev_targ); linvfs_release_inode(mp->m_logdev_targ.inode); } - if (rdevvp) { + if (rtdev != 0) { xfs_binval(mp->m_rtdev_targ); linvfs_release_inode(mp->m_rtdev_targ.inode); - } - if (ddevvp) { - xfs_binval(mp->m_ddev_targ); - linvfs_release_inode(mp->m_ddev_targ.inode); } if (error) { #ifdef CELL_CAPABLE