summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_extattr.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2006-02-06 10:15:27 +0000
committerjeff <jeff@FreeBSD.org>2006-02-06 10:15:27 +0000
commit05c6b40c0d429243e6e525bbfe4fd2e75fc84a69 (patch)
treec19d74eaa247a44cddc34c233a35de9994cbf8c8 /sys/kern/vfs_extattr.c
parent547663461ebb0b04e7a6f950dc04ee2aa11cda73 (diff)
downloadFreeBSD-src-05c6b40c0d429243e6e525bbfe4fd2e75fc84a69.zip
FreeBSD-src-05c6b40c0d429243e6e525bbfe4fd2e75fc84a69.tar.gz
- Don't check v_mount for NULL to determine if a vnode has been recycled.
Use the more appropriate VI_DOOMED flag instead. Sponsored by: Isilon Systems, Inc. MFC After: 1 week
Diffstat (limited to 'sys/kern/vfs_extattr.c')
-rw-r--r--sys/kern/vfs_extattr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c
index 035ba92..dcd3696 100644
--- a/sys/kern/vfs_extattr.c
+++ b/sys/kern/vfs_extattr.c
@@ -318,14 +318,16 @@ kern_fstatfs(struct thread *td, int fd, struct statfs *buf)
struct file *fp;
struct mount *mp;
struct statfs *sp, sb;
+ struct vnode *vp;
int error;
error = getvnode(td->td_proc->p_fd, fd, &fp);
if (error)
return (error);
- mp = fp->f_vnode->v_mount;
+ vp = fp->f_vnode;
+ mp = vp->v_mount;
fdrop(fp, td);
- if (mp == NULL)
+ if (vp->v_iflag & VI_DOOMED)
return (EBADF);
mtx_lock(&Giant);
#ifdef MAC
OpenPOWER on IntegriCloud