vfs_syscalls.c (31132) | vfs_syscalls.c (31144) |
---|---|
1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 | 1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 |
39 * $Id: vfs_syscalls.c,v 1.80 1997/11/06 19:29:30 phk Exp $ | 39 * $Id: vfs_syscalls.c,v 1.81 1997/11/12 05:42:17 julian Exp $ |
40 */ 41 42/* 43 * XXX - The following is required because of some magic done 44 * in getdirentries() below which is only done if the translucent 45 * filesystem `UNION' is compiled into the kernel. This is broken, 46 * but I don't have time to study the code deeply enough to understand 47 * what's going on and determine an appropriate fix. -GAW --- 208 unchanged lines hidden (view full) --- 256 * Set the mount level flags. 257 */ 258 if (SCARG(uap, flags) & MNT_RDONLY) 259 mp->mnt_flag |= MNT_RDONLY; 260 else if (mp->mnt_flag & MNT_RDONLY) 261 mp->mnt_kern_flag |= MNTK_WANTRDWR; 262 mp->mnt_flag &=~ (MNT_NOSUID | MNT_NOEXEC | MNT_NODEV | 263 MNT_SYNCHRONOUS | MNT_UNION | MNT_ASYNC | MNT_NOATIME | | 40 */ 41 42/* 43 * XXX - The following is required because of some magic done 44 * in getdirentries() below which is only done if the translucent 45 * filesystem `UNION' is compiled into the kernel. This is broken, 46 * but I don't have time to study the code deeply enough to understand 47 * what's going on and determine an appropriate fix. -GAW --- 208 unchanged lines hidden (view full) --- 256 * Set the mount level flags. 257 */ 258 if (SCARG(uap, flags) & MNT_RDONLY) 259 mp->mnt_flag |= MNT_RDONLY; 260 else if (mp->mnt_flag & MNT_RDONLY) 261 mp->mnt_kern_flag |= MNTK_WANTRDWR; 262 mp->mnt_flag &=~ (MNT_NOSUID | MNT_NOEXEC | MNT_NODEV | 263 MNT_SYNCHRONOUS | MNT_UNION | MNT_ASYNC | MNT_NOATIME | |
264 MNT_NOCLUSTERR | MNT_NOCLUSTERW); | 264 MNT_NOCLUSTERR | MNT_NOCLUSTERW | MNT_SUIDDIR); |
265 mp->mnt_flag |= SCARG(uap, flags) & (MNT_NOSUID | MNT_NOEXEC | 266 MNT_NODEV | MNT_SYNCHRONOUS | MNT_UNION | MNT_ASYNC | MNT_FORCE | | 265 mp->mnt_flag |= SCARG(uap, flags) & (MNT_NOSUID | MNT_NOEXEC | 266 MNT_NODEV | MNT_SYNCHRONOUS | MNT_UNION | MNT_ASYNC | MNT_FORCE | |
267 MNT_NOATIME | MNT_NOCLUSTERR | MNT_NOCLUSTERW); | 267 MNT_NOATIME | MNT_NOCLUSTERR | MNT_NOCLUSTERW | MNT_SUIDDIR); |
268 /* 269 * Mount the filesystem. 270 */ 271 error = VFS_MOUNT(mp, SCARG(uap, path), SCARG(uap, data), &nd, p); 272 if (mp->mnt_flag & MNT_UPDATE) { 273 vrele(vp); 274 if (mp->mnt_kern_flag & MNTK_WANTRDWR) 275 mp->mnt_flag &= ~MNT_RDONLY; --- 2548 unchanged lines hidden --- | 268 /* 269 * Mount the filesystem. 270 */ 271 error = VFS_MOUNT(mp, SCARG(uap, path), SCARG(uap, data), &nd, p); 272 if (mp->mnt_flag & MNT_UPDATE) { 273 vrele(vp); 274 if (mp->mnt_kern_flag & MNTK_WANTRDWR) 275 mp->mnt_flag &= ~MNT_RDONLY; --- 2548 unchanged lines hidden --- |