changeset 10655:1fc5061b760c

6838326 ufs: VFS_VGET() can return a vnode for a removed file in transit
author batschul <Frank.Batschulat@Sun.COM>
date Sat, 26 Sep 2009 05:04:14 -0600
parents ff1ef49164ba
children 217544b3cf73
files usr/src/uts/common/fs/ufs/ufs_vfsops.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/fs/ufs/ufs_vfsops.c	Fri Sep 25 19:43:05 2009 -0700
+++ b/usr/src/uts/common/fs/ufs/ufs_vfsops.c	Sat Sep 26 05:04:14 2009 -0600
@@ -19,7 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -2053,7 +2053,7 @@
 	 * it to the caller, presumably NFS, as it's no longer valid.
 	 */
 	if (ip->i_gen != ufid->ufid_gen || ip->i_mode == 0 ||
-	    (ip->i_flag & IDEL)) {
+	    (ip->i_nlink <= 0)) {
 		VN_RELE(ITOV(ip));
 		error = EINVAL;
 		goto errout;