Add a new field to in-core znode, z_rdev, to represent device nodes.
PR: kern/159010 Reviewed by: mm@ Approved by: re (kib) MFC after: 2 weeks
This commit is contained in:
parent
7b4f570ca1
commit
b1ad061e42
@ -209,6 +209,7 @@ typedef struct znode {
|
||||
boolean_t z_is_sa; /* are we native sa? */
|
||||
/* FreeBSD-specific field. */
|
||||
struct task z_task;
|
||||
dev_t z_rdev;
|
||||
} znode_t;
|
||||
|
||||
|
||||
|
@ -2694,7 +2694,7 @@ zfs_getattr(vnode_t *vp, vattr_t *vap, int flags, cred_t *cr,
|
||||
vap->va_nlink = MIN(links, UINT32_MAX); /* nlink_t limit! */
|
||||
vap->va_size = zp->z_size;
|
||||
vap->va_fsid = vp->v_mount->mnt_stat.f_fsid.val[0];
|
||||
// vap->va_rdev = zfs_cmpldev(pzp->zp_rdev);
|
||||
vap->va_rdev = zp->z_rdev;
|
||||
vap->va_seq = zp->z_seq;
|
||||
vap->va_flags = 0; /* FreeBSD: Reset chflags(2) flags. */
|
||||
|
||||
|
@ -700,6 +700,16 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz,
|
||||
case VDIR:
|
||||
zp->z_zn_prefetch = B_TRUE; /* z_prefetch default is enabled */
|
||||
break;
|
||||
case VBLK:
|
||||
case VCHR:
|
||||
{
|
||||
uint64_t rdev;
|
||||
VERIFY(sa_lookup(zp->z_sa_hdl, SA_ZPL_RDEV(zfsvfs),
|
||||
&rdev, sizeof (rdev)) == 0);
|
||||
|
||||
zp->z_rdev = zfs_cmpldev(rdev);
|
||||
}
|
||||
break;
|
||||
case VFIFO:
|
||||
vp->v_op = &zfs_fifoops;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user