185 ASSERT(np != NULL);
186 vp = SMBTOV(np);
187
188 /*
189 * Files in an XATTR dir are also XATTR.
190 */
191 if (dnp->n_flag & N_XATTR) {
192 mutex_enter(&np->r_statelock);
193 np->n_flag |= N_XATTR;
194 mutex_exit(&np->r_statelock);
195 }
196
197 /* BSD symlink hack removed (smb_symmagic) */
198
199 *vpp = vp;
200
201 return (0);
202 }
203
204 /*
205 * smbfs_attrcache_enter, smbfs_attrcache_lookup replaced by
206 * code more closely resembling NFS. See smbfs_client.c
207 */
208
209 /*
210 * Update the local notion of the mtime of some directory.
211 * See comments re. r_mtime in smbfs_node.h
212 */
213 void
214 smbfs_attr_touchdir(struct smbnode *dnp)
215 {
216
217 mutex_enter(&dnp->r_statelock);
218
219 /*
220 * Now that we keep the client's notion of mtime
221 * separately from the server, this is easy.
222 */
223 dnp->r_mtime = gethrtime();
224
225 /*
226 * Invalidate the cache, so that we go to the wire
227 * to check that the server doesn't have a better
228 * timestamp next time we care.
229 */
|
185 ASSERT(np != NULL);
186 vp = SMBTOV(np);
187
188 /*
189 * Files in an XATTR dir are also XATTR.
190 */
191 if (dnp->n_flag & N_XATTR) {
192 mutex_enter(&np->r_statelock);
193 np->n_flag |= N_XATTR;
194 mutex_exit(&np->r_statelock);
195 }
196
197 /* BSD symlink hack removed (smb_symmagic) */
198
199 *vpp = vp;
200
201 return (0);
202 }
203
204 /*
205 * Update the local notion of the mtime of some directory.
206 * See comments re. r_mtime in smbfs_node.h
207 */
208 void
209 smbfs_attr_touchdir(struct smbnode *dnp)
210 {
211
212 mutex_enter(&dnp->r_statelock);
213
214 /*
215 * Now that we keep the client's notion of mtime
216 * separately from the server, this is easy.
217 */
218 dnp->r_mtime = gethrtime();
219
220 /*
221 * Invalidate the cache, so that we go to the wire
222 * to check that the server doesn't have a better
223 * timestamp next time we care.
224 */
|