static int xattr_file_pathconf(vnode_t *vp, int cmd, ulong_t *valp, cred_t *cr, caller_context_t *ct) { switch (cmd) { case _PC_XATTR_EXISTS: case _PC_SATTR_ENABLED: case _PC_SATTR_EXISTS: *valp = 0; return (0); default: return (fs_pathconf(vp, cmd, valp, cr, ct)); } }
static int zfsctl_pathconf(vnode_t *vp, int cmd, ulong_t *valp, cred_t *cr, caller_context_t *ct) { /* * We only care about ACL_ENABLED so that libsec can * display ACL correctly and not default to POSIX draft. */ if (cmd == _PC_ACL_ENABLED) { *valp = _ACL_ACE_ENABLED; return (0); } return (fs_pathconf(vp, cmd, valp, cr, ct)); }
static int bootfs_pathconf(vnode_t *vp, int cmd, ulong_t *valp, cred_t *cr, caller_context_t *ct) { int ret; switch (cmd) { case _PC_TIMESTAMP_RESOLUTION: *valp = 1L; ret = 0; break; default: ret = fs_pathconf(vp, cmd, valp, cr, ct); } return (ret); }
static int devfs_pathconf(vnode_t *vp, int cmd, ulong_t *valp, cred_t *cr) { switch (cmd) { case _PC_ACL_ENABLED: /* * We rely on the underlying filesystem for ACLs, * so direct the query for ACL support there. * ACL support isn't relative to the file * and we can't guarantee that the dv node * has an attribute node, so any valid * attribute node will suffice. */ ASSERT(dvroot); ASSERT(dvroot->dv_attrvp); return (VOP_PATHCONF(dvroot->dv_attrvp, cmd, valp, cr)); /*NOTREACHED*/ } return (fs_pathconf(vp, cmd, valp, cr)); }