- struct vnode *n_vnode; /* vnode associated with this nfsnode */
- time_t n_attrstamp; /* Time stamp (sec) for attributes */
- struct vattr n_vattr; /* Vnode attribute cache */
- struct sillyrename *n_sillyrename; /* Ptr to silly rename struct */
- u_long n_size; /* Current size of file */
- time_t n_mtime; /* Prev modify time to maintain data cache consistency*/
- time_t n_ctime; /* Prev create time for name cache consistency*/
- int n_error; /* Save write error value */
- pid_t n_lockholder; /* holder of nfsnode lock */
- pid_t n_lockwaiter; /* most recent waiter for nfsnode lock */
- u_long n_direofoffset; /* Dir. EOF offset cache */
+ struct vnode *n_vnode; /* vnode associated with this node */
+ time_t n_attrstamp; /* Time stamp for cached attributes */
+ struct vattr n_vattr; /* Vnode attribute cache */
+ struct sillyrename *n_sillyrename; /* Ptr to silly rename struct */
+ u_long n_size; /* Current size of file */
+ int n_error; /* Save write error value */
+ u_long n_direofoffset; /* Dir. EOF offset cache */
+ union {
+ struct {
+ time_t un_mtime; /* Prev modify time. */
+ time_t un_ctime; /* Prev create time. */
+ } un_nfs;
+ struct {
+ u_quad_t un_brev; /* Modify rev when cached */
+ u_quad_t un_lrev; /* Modify rev for lease */
+ time_t un_expiry; /* Lease expiry time */
+ struct nfsnode *un_tnext; /* Nqnfs timer chain */
+ struct nfsnode *un_tprev;
+ } un_nqnfs;
+ } n_un;
+ struct sillyrename n_silly; /* Silly rename struct */
+ long n_spare[11]; /* Up to a power of 2 */