version 1.10.8.1, 2007/11/06 23:31:23 |
version 1.10.8.2, 2008/01/09 01:55:54 |
|
|
|
|
#include <sys/cdefs.h> |
#include <sys/cdefs.h> |
#ifndef lint |
#ifndef lint |
__RCSID("$NetBSD$"); |
__KERNEL_RCSID(0, "$NetBSD$"); |
#endif /* not lint */ |
#endif /* not lint */ |
|
|
|
|
Line 491 udf_lookup(void *v) |
|
Line 491 udf_lookup(void *v) |
|
mounted_ro = dvp->v_mount->mnt_flag & MNT_RDONLY; |
mounted_ro = dvp->v_mount->mnt_flag & MNT_RDONLY; |
|
|
/* check exec/dirread permissions first */ |
/* check exec/dirread permissions first */ |
error = VOP_ACCESS(dvp, VEXEC, cnp->cn_cred, cnp->cn_lwp); |
error = VOP_ACCESS(dvp, VEXEC, cnp->cn_cred); |
if (error) |
if (error) |
return error; |
return error; |
|
|
Line 572 udf_lookup(void *v) |
|
Line 572 udf_lookup(void *v) |
|
(nameiop == CREATE || nameiop == RENAME)) |
(nameiop == CREATE || nameiop == RENAME)) |
error = 0; |
error = 0; |
if (!error) { |
if (!error) { |
error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred, |
error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred); |
cnp->cn_lwp); |
|
if (!error) { |
if (!error) { |
/* keep the component name */ |
/* keep the component name */ |
cnp->cn_flags |= SAVENAME; |
cnp->cn_flags |= SAVENAME; |
Line 843 udf_close(void *v) |
|
Line 842 udf_close(void *v) |
|
DPRINTF(CALL, ("udf_close called\n")); |
DPRINTF(CALL, ("udf_close called\n")); |
udf_node = udf_node; /* shut up gcc */ |
udf_node = udf_node; /* shut up gcc */ |
|
|
simple_lock(&vp->v_interlock); |
mutex_enter(&vp->v_interlock); |
if (vp->v_usecount > 1) { |
if (vp->v_usecount > 1) { |
/* TODO update times */ |
/* TODO update times */ |
} |
} |
simple_unlock(&vp->v_interlock); |
mutex_exit(&vp->v_interlock); |
|
|
return 0; |
return 0; |
} |
} |