diff options
author | jeff <jeff@FreeBSD.org> | 2006-02-06 10:15:27 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2006-02-06 10:15:27 +0000 |
commit | 05c6b40c0d429243e6e525bbfe4fd2e75fc84a69 (patch) | |
tree | c19d74eaa247a44cddc34c233a35de9994cbf8c8 /sys/kern/vfs_extattr.c | |
parent | 547663461ebb0b04e7a6f950dc04ee2aa11cda73 (diff) | |
download | FreeBSD-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.c | 6 |
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 |