The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/fs/sysvbfs/sysvbfs.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: sysvbfs.c,v 1.2.8.1 2007/02/17 23:27:45 tron Exp $     */
    2 
    3 /*-
    4  * Copyright (c) 2004 The NetBSD Foundation, Inc.
    5  * All rights reserved.
    6  *
    7  * This code is derived from software contributed to The NetBSD Foundation
    8  * by UCHIYAMA Yasushi.
    9  *
   10  * Redistribution and use in source and binary forms, with or without
   11  * modification, are permitted provided that the following conditions
   12  * are met:
   13  * 1. Redistributions of source code must retain the above copyright
   14  *    notice, this list of conditions and the following disclaimer.
   15  * 2. Redistributions in binary form must reproduce the above copyright
   16  *    notice, this list of conditions and the following disclaimer in the
   17  *    documentation and/or other materials provided with the distribution.
   18  * 3. All advertising materials mentioning features or use of this software
   19  *    must display the following acknowledgement:
   20  *        This product includes software developed by the NetBSD
   21  *        Foundation, Inc. and its contributors.
   22  * 4. Neither the name of The NetBSD Foundation nor the names of its
   23  *    contributors may be used to endorse or promote products derived
   24  *    from this software without specific prior written permission.
   25  *
   26  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   27  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   28  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   29  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   30  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   31  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   32  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   33  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   34  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   35  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   36  * POSSIBILITY OF SUCH DAMAGE.
   37  */
   38 
   39 #include <sys/cdefs.h>
   40 __KERNEL_RCSID(0, "$NetBSD: sysvbfs.c,v 1.2.8.1 2007/02/17 23:27:45 tron Exp $");
   41 
   42 #include <sys/resource.h>
   43 #include <sys/param.h>
   44 #include <sys/vnode.h>
   45 #include <sys/mount.h>
   46 #include <miscfs/genfs/genfs.h>
   47 #include <miscfs/genfs/genfs_node.h>
   48 #include <fs/sysvbfs/sysvbfs.h>
   49 
   50 /* External interfaces */
   51 
   52 int (**sysvbfs_vnodeop_p)(void *);      /* filled by getnewvnode (vnode.h) */
   53 
   54 const struct vnodeopv_entry_desc sysvbfs_vnodeop_entries[] = {
   55         { &vop_default_desc, vn_default_error },
   56         { &vop_lookup_desc, sysvbfs_lookup },           /* lookup */
   57         { &vop_create_desc, sysvbfs_create },           /* create */
   58         { &vop_mknod_desc, genfs_eopnotsupp },          /* mknod */
   59         { &vop_open_desc, sysvbfs_open },               /* open */
   60         { &vop_close_desc, sysvbfs_close },             /* close */
   61         { &vop_access_desc, sysvbfs_access },           /* access */
   62         { &vop_getattr_desc, sysvbfs_getattr },         /* getattr */
   63         { &vop_setattr_desc, sysvbfs_setattr },         /* setattr */
   64         { &vop_read_desc, sysvbfs_read },               /* read */
   65         { &vop_write_desc, sysvbfs_write },             /* write */
   66         { &vop_lease_desc, genfs_lease_check },         /* lease */
   67         { &vop_fcntl_desc, genfs_fcntl },               /* fcntl */
   68         { &vop_ioctl_desc, genfs_enoioctl },            /* ioctl */
   69         { &vop_poll_desc, genfs_poll },                 /* poll */
   70         { &vop_kqfilter_desc, genfs_kqfilter },         /* kqfilter */
   71         { &vop_revoke_desc, genfs_revoke },             /* revoke */
   72         { &vop_mmap_desc, genfs_mmap },                 /* mmap */
   73         { &vop_fsync_desc, sysvbfs_fsync },             /* fsync */
   74         { &vop_seek_desc, genfs_seek },                 /* seek */
   75         { &vop_remove_desc, sysvbfs_remove },           /* remove */
   76         { &vop_link_desc, genfs_eopnotsupp },           /* link */
   77         { &vop_rename_desc, sysvbfs_rename },           /* rename */
   78         { &vop_mkdir_desc, genfs_eopnotsupp },          /* mkdir */
   79         { &vop_rmdir_desc, genfs_eopnotsupp },          /* rmdir */
   80         { &vop_symlink_desc, genfs_eopnotsupp },        /* symlink */
   81         { &vop_readdir_desc, sysvbfs_readdir },         /* readdir */
   82         { &vop_readlink_desc, genfs_eopnotsupp },       /* readlink */
   83         { &vop_abortop_desc, genfs_abortop },           /* abortop */
   84         { &vop_inactive_desc, sysvbfs_inactive },       /* inactive */
   85         { &vop_reclaim_desc, sysvbfs_reclaim },         /* reclaim */
   86         { &vop_lock_desc, genfs_lock },                 /* lock */
   87         { &vop_unlock_desc, genfs_unlock },             /* unlock */
   88         { &vop_bmap_desc, sysvbfs_bmap },               /* bmap */
   89         { &vop_strategy_desc, sysvbfs_strategy },       /* strategy */
   90         { &vop_print_desc, sysvbfs_print },             /* print */
   91         { &vop_islocked_desc, genfs_islocked },         /* islocked */
   92         { &vop_pathconf_desc, sysvbfs_pathconf },       /* pathconf */
   93         { &vop_advlock_desc, sysvbfs_advlock },         /* advlock */
   94         { &vop_bwrite_desc, vn_bwrite },                /* bwrite */
   95         { &vop_getpages_desc, genfs_getpages },         /* getpages */
   96         { &vop_putpages_desc, genfs_putpages },         /* putpages */
   97         { NULL, NULL }
   98 };
   99 
  100 const struct vnodeopv_desc sysvbfs_vnodeop_opv_desc = {
  101         &sysvbfs_vnodeop_p,
  102         sysvbfs_vnodeop_entries
  103 };
  104 
  105 const struct vnodeopv_desc *sysvbfs_vnodeopv_descs[] = {
  106         &sysvbfs_vnodeop_opv_desc,
  107         NULL,
  108 };
  109 
  110 const struct genfs_ops sysvbfs_genfsops = {
  111         .gop_size = genfs_size,
  112         .gop_alloc = sysvbfs_gop_alloc,
  113         .gop_write = genfs_gop_write,
  114 };
  115 
  116 struct vfsops sysvbfs_vfsops = {
  117         MOUNT_SYSVBFS,
  118         sysvbfs_mount,
  119         sysvbfs_start,
  120         sysvbfs_unmount,
  121         sysvbfs_root,
  122         sysvbfs_quotactl,
  123         sysvbfs_statvfs,
  124         sysvbfs_sync,
  125         sysvbfs_vget,
  126         sysvbfs_fhtovp,
  127         sysvbfs_vptofh,
  128         sysvbfs_init,
  129         sysvbfs_reinit,
  130         sysvbfs_done,
  131         NULL,                   /* vfs_mountroot */
  132         (int (*)(struct mount *, struct vnode *, struct timespec *))
  133             eopnotsupp,         /* snapshot */
  134         vfs_stdextattrctl,
  135         sysvbfs_vnodeopv_descs,
  136         0,
  137         { NULL, NULL }
  138 };
  139 VFS_ATTACH(sysvbfs_vfsops);

Cache object: 01205b08c95ff5f6089c3247f64341e5


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.