diff options
author | batschul <none@none> | 2007-10-12 07:22:21 -0700 |
---|---|---|
committer | batschul <none@none> | 2007-10-12 07:22:21 -0700 |
commit | 52d549430a19e69ddf8ff7ed6d045200cb07d7f6 (patch) | |
tree | 655a55d606c2b29060b980da6a89202d7e58220e | |
parent | 442d23f49355a5d0694c758975be57af39f91a61 (diff) | |
download | illumos-joyent-52d549430a19e69ddf8ff7ed6d045200cb07d7f6.tar.gz |
6459880 snv_46;panic: v_pages list not all clean; running tsufs testsuite on x64 systems
-rw-r--r-- | usr/src/uts/common/fs/ufs/ufs_acl.c | 1 | ||||
-rw-r--r-- | usr/src/uts/common/fs/ufs/ufs_inode.c | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/ufs/ufs_acl.c b/usr/src/uts/common/fs/ufs/ufs_acl.c index cbcc38129a..ce1d2f1677 100644 --- a/usr/src/uts/common/fs/ufs/ufs_acl.c +++ b/usr/src/uts/common/fs/ufs/ufs_acl.c @@ -231,6 +231,7 @@ loop: sip->i_seq++; sip->i_mode = (o_mode_t)IFSHAD; ITOV(sip)->v_type = VREG; + ufs_reset_vnode(ITOV(sip)); sip->i_nlink = 1; sip->i_uid = crgetuid(cr); sip->i_suid = (ulong_t)sip->i_uid > (ulong_t)USHRT_MAX ? diff --git a/usr/src/uts/common/fs/ufs/ufs_inode.c b/usr/src/uts/common/fs/ufs/ufs_inode.c index 76db353cca..09f0d70648 100644 --- a/usr/src/uts/common/fs/ufs/ufs_inode.c +++ b/usr/src/uts/common/fs/ufs/ufs_inode.c @@ -622,9 +622,15 @@ again: } /* - * finish initializing the vnode + * Finish initializing the vnode, special handling for shadow inodes + * because IFTOVT() will produce a v_type of VNON which is not what we + * want, set v_type to VREG explicitly in that case. */ - vp->v_type = IFTOVT((mode_t)ip->i_mode); + if (ftype == IFSHAD) { + vp->v_type = VREG; + } else { + vp->v_type = IFTOVT((mode_t)ip->i_mode); + } ufs_reset_vnode(vp); |