Deleted Added
full compact
smbfs_vnops.c (182371) smbfs_vnops.c (184413)
1/*-
2 * Copyright (c) 2000-2001 Boris Popov
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 15 unchanged lines hidden (view full) ---

24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
1/*-
2 * Copyright (c) 2000-2001 Boris Popov
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 15 unchanged lines hidden (view full) ---

24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
32 * $FreeBSD: head/sys/fs/smbfs/smbfs_vnops.c 182371 2008-08-28 15:23:18Z attilio $
32 * $FreeBSD: head/sys/fs/smbfs/smbfs_vnops.c 184413 2008-10-28 13:44:11Z trasz $
33 */
34#include <sys/param.h>
35#include <sys/systm.h>
36#include <sys/namei.h>
37#include <sys/kernel.h>
38#include <sys/proc.h>
39#include <sys/bio.h>
40#include <sys/buf.h>

--- 77 unchanged lines hidden (view full) ---

118 .vop_symlink = smbfs_symlink,
119 .vop_write = smbfs_write,
120};
121
122static int
123smbfs_access(ap)
124 struct vop_access_args /* {
125 struct vnode *a_vp;
33 */
34#include <sys/param.h>
35#include <sys/systm.h>
36#include <sys/namei.h>
37#include <sys/kernel.h>
38#include <sys/proc.h>
39#include <sys/bio.h>
40#include <sys/buf.h>

--- 77 unchanged lines hidden (view full) ---

118 .vop_symlink = smbfs_symlink,
119 .vop_write = smbfs_write,
120};
121
122static int
123smbfs_access(ap)
124 struct vop_access_args /* {
125 struct vnode *a_vp;
126 int a_mode;
126 accmode_t a_accmode;
127 struct ucred *a_cred;
128 struct thread *a_td;
129 } */ *ap;
130{
131 struct vnode *vp = ap->a_vp;
127 struct ucred *a_cred;
128 struct thread *a_td;
129 } */ *ap;
130{
131 struct vnode *vp = ap->a_vp;
132 mode_t mode = ap->a_mode;
132 accmode_t accmode = ap->a_accmode;
133 mode_t mpmode;
134 struct smbmount *smp = VTOSMBFS(vp);
135
136 SMBVDEBUG("\n");
133 mode_t mpmode;
134 struct smbmount *smp = VTOSMBFS(vp);
135
136 SMBVDEBUG("\n");
137 if ((mode & VWRITE) && (vp->v_mount->mnt_flag & MNT_RDONLY)) {
137 if ((accmode & VWRITE) && (vp->v_mount->mnt_flag & MNT_RDONLY)) {
138 switch (vp->v_type) {
139 case VREG: case VDIR: case VLNK:
140 return EROFS;
141 default:
142 break;
143 }
144 }
145 mpmode = vp->v_type == VREG ? smp->sm_file_mode : smp->sm_dir_mode;
146 return (vaccess(vp->v_type, mpmode, smp->sm_uid,
138 switch (vp->v_type) {
139 case VREG: case VDIR: case VLNK:
140 return EROFS;
141 default:
142 break;
143 }
144 }
145 mpmode = vp->v_type == VREG ? smp->sm_file_mode : smp->sm_dir_mode;
146 return (vaccess(vp->v_type, mpmode, smp->sm_uid,
147 smp->sm_gid, ap->a_mode, ap->a_cred, NULL));
147 smp->sm_gid, ap->a_accmode, ap->a_cred, NULL));
148}
149
150/* ARGSUSED */
151static int
152smbfs_open(ap)
153 struct vop_open_args /* {
154 struct vnode *a_vp;
155 int a_mode;

--- 1119 unchanged lines hidden ---
148}
149
150/* ARGSUSED */
151static int
152smbfs_open(ap)
153 struct vop_open_args /* {
154 struct vnode *a_vp;
155 int a_mode;

--- 1119 unchanged lines hidden ---