* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
* This code is derived from software contributed to Berkeley by
* Jan-Simon Pendry at Imperial College, London.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* @(#)ufs_ops.c 5.3 (Berkeley) 5/12/91
* $Id: ufs_ops.c,v 5.2.1.2 91/05/07 22:18:38 jsp Alpha $
typedef nfs_fh fhandle_t
;
* UFS needs local filesystem and device.
static char *ufs_match
P((am_opts
*fo
));
static char *ufs_match(fo
)
plog(XLOG_USER
, "ufs: no device specified");
dlog("UFS: mounting device \"%s\" on \"%s\"",
fo
->opt_dev
, fo
->opt_fs
);
* Determine magic cookie to put in mtab
return strdup(fo
->opt_dev
);
static mount_ufs(dir
, fs_name
, opts
)
struct ufs_args ufs_args
;
* Figure out the name of the file system type.
char *type
= MOUNT_TYPE_UFS
;
int type
= MOUNT_TYPE_UFS
;
bzero((voidp
) &ufs_args
, sizeof(ufs_args
)); /* Paranoid */
* Fill in the mount structure
mnt
.mnt_fsname
= fs_name
;
mnt
.mnt_type
= MTAB_TYPE_UFS
;
flags
= compute_mount_flags(&mnt
);
ufs_args
.ufs_flags
= flags
;
ufs_args
.ufs_pgthresh
= 64; /* 64K - XXX */
ufs_args
.fspec
= fs_name
;
* Call generic mount routine
return mount_fs(&mnt
, flags
, (caddr_t
) &ufs_args
, 0, type
);
static int ufs_fmount(mf
)
error
= mount_ufs(mf
->mf_mount
, mf
->mf_info
, mf
->mf_mopts
);
plog(XLOG_ERROR
, "mount_ufs: %m");
static int ufs_fumount(mf
)
return UMOUNT_FS(mf
->mf_mount
);
#ifdef FLUSH_KERNEL_NAME_CACHE
FS_MKMNT
|FS_NOTIMEOUT
|FS_UBACKGROUND
|FS_AMQINFO
#else /* FLUSH_KERNEL_NAME_CACHE */
FS_MKMNT
|FS_NOTIMEOUT
|FS_UBACKGROUND
|FS_AMQINFO
#endif /* FLUSH_KERNEL_NAME_CACHE */