{
int error;
- if ((error = vn_lock(vp, LK_EXCLUSIVE | LK_RETRY)) == 0) {
+ error = vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
+ if (error == 0) {
error = VOP_CLOSE(vp, flags);
vn_unlock(vp);
}
break;
default:
return (EBADF);
- };
+ }
sb->st_mode = mode;
if (vap->va_nlink > (nlink_t)-1)
sb->st_nlink = (nlink_t)-1;
* because device read and write calls may bypass the filesystem.
*/
if (vp->v_type == VCHR || vp->v_type == VBLK) {
- if ((dev = vp->v_rdev) != NULL) {
+ dev = vp->v_rdev;
+ if (dev != NULL) {
if (dev->si_lastread) {
sb->st_atimespec.tv_sec = dev->si_lastread;
sb->st_atimespec.tv_nsec = 0;
* stat() call, aka v_rdev == NULL), how are we supposed
* to get a valid block size out of it?
*/
- cdev_t dev;
-
- if ((dev = vp->v_rdev) == NULL) {
- if (vp->v_type == VCHR)
- dev = get_dev(vp->v_umajor, vp->v_uminor);
+ dev = vp->v_rdev;
+ if (dev == NULL && vp->v_type == VCHR) {
+ dev = get_dev(vp->v_umajor, vp->v_uminor);
}
sb->st_blksize = dev->si_bsize_best;
if (sb->st_blksize < dev->si_bsize_phys)
case VREG:
case VDIR:
if (com == FIONREAD) {
- if ((error = VOP_GETATTR(vp, &vattr)) != 0)
+ error = VOP_GETATTR(vp, &vattr);
+ if (error)
break;
*(int *)data = vattr.va_size - fp->f_offset;
error = 0;
fp->f_ops = &badfileops;
error = vn_close(((struct vnode *)fp->f_data), fp->f_flag);
rel_mplock();
- return(error);
+ return (error);
}
/*