equal
deleted
inserted
replaced
17 * information: Portions Copyright [yyyy] [name of copyright owner] |
17 * information: Portions Copyright [yyyy] [name of copyright owner] |
18 * |
18 * |
19 * CDDL HEADER END |
19 * CDDL HEADER END |
20 */ |
20 */ |
21 /* |
21 /* |
22 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. |
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. |
23 * Use is subject to license terms. |
23 * Use is subject to license terms. |
24 */ |
24 */ |
25 |
25 |
26 #pragma ident "%Z%%M% %I% %E% SMI" |
26 #pragma ident "%Z%%M% %I% %E% SMI" |
27 |
27 |
49 */ |
49 */ |
50 |
50 |
51 static int ctfs_adir_do_readdir(vnode_t *, void *, int *, offset_t *, |
51 static int ctfs_adir_do_readdir(vnode_t *, void *, int *, offset_t *, |
52 offset_t *, void *, int); |
52 offset_t *, void *, int); |
53 static int ctfs_adir_do_lookup(vnode_t *, const char *, vnode_t **, ino64_t *, |
53 static int ctfs_adir_do_lookup(vnode_t *, const char *, vnode_t **, ino64_t *, |
54 cred_t *); |
54 cred_t *, int, int *, pathname_t *); |
55 |
55 |
56 /* |
56 /* |
57 * ctfs_create_adirnode |
57 * ctfs_create_adirnode |
58 */ |
58 */ |
59 /* ARGSUSED */ |
59 /* ARGSUSED */ |
96 } |
96 } |
97 |
97 |
98 /* ARGSUSED */ |
98 /* ARGSUSED */ |
99 static int |
99 static int |
100 ctfs_adir_do_lookup(vnode_t *vp, const char *nm, vnode_t **vpp, ino64_t *inop, |
100 ctfs_adir_do_lookup(vnode_t *vp, const char *nm, vnode_t **vpp, ino64_t *inop, |
101 cred_t *cr) |
101 cred_t *cr, int flags, int *deflags, pathname_t *rpnp) |
102 { |
102 { |
103 int i; |
103 int i; |
104 contract_t *ct; |
104 contract_t *ct; |
105 |
105 |
106 i = stoi((char **)&nm); |
106 i = stoi((char **)&nm); |
125 { |
125 { |
126 uint64_t zuniqid; |
126 uint64_t zuniqid; |
127 ctid_t next; |
127 ctid_t next; |
128 struct dirent64 *odp = dp; |
128 struct dirent64 *odp = dp; |
129 |
129 |
130 /* ctfs does not support V_RDDIR_ENTFLAGS */ |
130 ASSERT(!(flags & V_RDDIR_ENTFLAGS)); |
131 if (flags & V_RDDIR_ENTFLAGS) |
|
132 return (ENOTSUP); |
|
133 |
131 |
134 zuniqid = VTOZONE(vp)->zone_uniqid; |
132 zuniqid = VTOZONE(vp)->zone_uniqid; |
135 next = contract_lookup(zuniqid, *offp); |
133 next = contract_lookup(zuniqid, *offp); |
136 |
134 |
137 if (next == -1) { |
135 if (next == -1) { |