null_vfsops.c (138412) | null_vfsops.c (138483) |
---|---|
1/* 2 * Copyright (c) 1992, 1993, 1995 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software donated to Berkeley by 6 * Jan-Simon Pendry. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 18 unchanged lines hidden (view full) --- 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 * @(#)null_vfsops.c 8.2 (Berkeley) 1/21/94 33 * 34 * @(#)lofs_vfsops.c 1.2 (Berkeley) 6/18/92 | 1/* 2 * Copyright (c) 1992, 1993, 1995 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software donated to Berkeley by 6 * Jan-Simon Pendry. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 18 unchanged lines hidden (view full) --- 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 * @(#)null_vfsops.c 8.2 (Berkeley) 1/21/94 33 * 34 * @(#)lofs_vfsops.c 1.2 (Berkeley) 6/18/92 |
35 * $FreeBSD: head/sys/fs/nullfs/null_vfsops.c 138412 2004-12-05 22:41:02Z phk $ | 35 * $FreeBSD: head/sys/fs/nullfs/null_vfsops.c 138483 2004-12-06 20:02:13Z phk $ |
36 */ 37 38/* 39 * Null Layer 40 * (See null_vnops.c for a description of what this does.) 41 */ 42 43#include <sys/param.h> --- 29 unchanged lines hidden (view full) --- 73static int 74nullfs_mount(struct mount *mp, struct thread *td) 75{ 76 int error = 0; 77 struct vnode *lowerrootvp, *vp; 78 struct vnode *nullm_rootvp; 79 struct null_mount *xmp; 80 char *target; | 36 */ 37 38/* 39 * Null Layer 40 * (See null_vnops.c for a description of what this does.) 41 */ 42 43#include <sys/param.h> --- 29 unchanged lines hidden (view full) --- 73static int 74nullfs_mount(struct mount *mp, struct thread *td) 75{ 76 int error = 0; 77 struct vnode *lowerrootvp, *vp; 78 struct vnode *nullm_rootvp; 79 struct null_mount *xmp; 80 char *target; |
81 size_t size; | |
82 int isvnunlocked = 0, len; 83 struct nameidata nd, *ndp = &nd; 84 85 NULLFSDEBUG("nullfs_mount(mp = %p)\n", (void *)mp); 86 87 if (mp->mnt_flag & MNT_ROOTFS) 88 return (EOPNOTSUPP); 89 /* --- 89 unchanged lines hidden (view full) --- 179 */ 180 VOP_UNLOCK(vp, 0, td); 181 182 if (NULLVPTOLOWERVP(nullm_rootvp)->v_mount->mnt_flag & MNT_LOCAL) 183 mp->mnt_flag |= MNT_LOCAL; 184 mp->mnt_data = (qaddr_t) xmp; 185 vfs_getnewfsid(mp); 186 | 81 int isvnunlocked = 0, len; 82 struct nameidata nd, *ndp = &nd; 83 84 NULLFSDEBUG("nullfs_mount(mp = %p)\n", (void *)mp); 85 86 if (mp->mnt_flag & MNT_ROOTFS) 87 return (EOPNOTSUPP); 88 /* --- 89 unchanged lines hidden (view full) --- 178 */ 179 VOP_UNLOCK(vp, 0, td); 180 181 if (NULLVPTOLOWERVP(nullm_rootvp)->v_mount->mnt_flag & MNT_LOCAL) 182 mp->mnt_flag |= MNT_LOCAL; 183 mp->mnt_data = (qaddr_t) xmp; 184 vfs_getnewfsid(mp); 185 |
187 (void) copystr(target, mp->mnt_stat.f_mntfromname, 188 MNAMELEN - 1, &size); 189 bzero(mp->mnt_stat.f_mntfromname + size, MNAMELEN - size); 190 (void)nullfs_statfs(mp, &mp->mnt_stat, td); | 186 vfs_mountedfrom(mp, target); 187 |
191 NULLFSDEBUG("nullfs_mount: lower %s, alias at %s\n", 192 mp->mnt_stat.f_mntfromname, mp->mnt_stat.f_mntonname); 193 return (0); 194} 195 196/* 197 * Free reference to null layer 198 */ --- 198 unchanged lines hidden --- | 188 NULLFSDEBUG("nullfs_mount: lower %s, alias at %s\n", 189 mp->mnt_stat.f_mntfromname, mp->mnt_stat.f_mntonname); 190 return (0); 191} 192 193/* 194 * Free reference to null layer 195 */ --- 198 unchanged lines hidden --- |