398 #define VISSWAPFS 0x20000 /* vnode is being used for swapfs */
399
400 /*
401 * The mdb memstat command assumes that IS_SWAPFSVP only uses the
402 * vnode's v_flag field. If this changes, cache the additional
403 * fields in mdb; see vn_get in mdb/common/modules/genunix/memory.c
404 */
405 #define IS_SWAPFSVP(vp) (((vp)->v_flag & VISSWAPFS) != 0)
406
407 #define V_SYSATTR 0x40000 /* vnode is a GFS system attribute */
408
409 /*
410 * Indication that VOP_LOOKUP operations on this vnode may yield results from a
411 * different VFS instance. The main use of this is to suppress v_path
412 * calculation logic when filesystems such as procfs emit results which defy
413 * expectations about normal VFS behavior.
414 */
415 #define VTRAVERSE 0x80000
416
417 /*
418 * Vnode attributes. A bit-mask is supplied as part of the
419 * structure to indicate the attributes the caller wants to
420 * set (setattr) or extract (getattr).
421 */
422
423 /*
424 * Note that va_nodeid and va_nblocks are 64bit data type.
425 * We support large files over NFSV3. With Solaris client and
426 * Server that generates 64bit ino's and sizes these fields
427 * will overflow if they are 32 bit sizes.
428 */
429
430 typedef struct vattr {
431 uint_t va_mask; /* bit-mask of attributes */
432 vtype_t va_type; /* vnode type (for create) */
433 mode_t va_mode; /* file access mode */
434 uid_t va_uid; /* owner user id */
435 gid_t va_gid; /* owner group id */
436 dev_t va_fsid; /* file system id (dev for now) */
437 u_longlong_t va_nodeid; /* node id */
|
398 #define VISSWAPFS 0x20000 /* vnode is being used for swapfs */
399
400 /*
401 * The mdb memstat command assumes that IS_SWAPFSVP only uses the
402 * vnode's v_flag field. If this changes, cache the additional
403 * fields in mdb; see vn_get in mdb/common/modules/genunix/memory.c
404 */
405 #define IS_SWAPFSVP(vp) (((vp)->v_flag & VISSWAPFS) != 0)
406
407 #define V_SYSATTR 0x40000 /* vnode is a GFS system attribute */
408
409 /*
410 * Indication that VOP_LOOKUP operations on this vnode may yield results from a
411 * different VFS instance. The main use of this is to suppress v_path
412 * calculation logic when filesystems such as procfs emit results which defy
413 * expectations about normal VFS behavior.
414 */
415 #define VTRAVERSE 0x80000
416
417 /*
418 * Indicates the vnode is a zone's root ("/" in-zone). A zone's root does NOT
419 * have to be a filesystem root, even if many zone brands guaranteed that.
420 */
421 #define VZONEROOT 0x100000
422
423
424 /*
425 * Vnode attributes. A bit-mask is supplied as part of the
426 * structure to indicate the attributes the caller wants to
427 * set (setattr) or extract (getattr).
428 */
429
430 /*
431 * Note that va_nodeid and va_nblocks are 64bit data type.
432 * We support large files over NFSV3. With Solaris client and
433 * Server that generates 64bit ino's and sizes these fields
434 * will overflow if they are 32 bit sizes.
435 */
436
437 typedef struct vattr {
438 uint_t va_mask; /* bit-mask of attributes */
439 vtype_t va_type; /* vnode type (for create) */
440 mode_t va_mode; /* file access mode */
441 uid_t va_uid; /* owner user id */
442 gid_t va_gid; /* owner group id */
443 dev_t va_fsid; /* file system id (dev for now) */
444 u_longlong_t va_nodeid; /* node id */
|