union_vnops.c (29362) | union_vnops.c (30431) |
---|---|
1/* 2 * Copyright (c) 1992, 1993, 1994, 1995 Jan-Simon Pendry. 3 * Copyright (c) 1992, 1993, 1994, 1995 4 * The Regents of the University of California. All rights reserved. 5 * 6 * This code is derived from software contributed to Berkeley by 7 * Jan-Simon Pendry. 8 * --- 21 unchanged lines hidden (view full) --- 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * @(#)union_vnops.c 8.32 (Berkeley) 6/23/95 | 1/* 2 * Copyright (c) 1992, 1993, 1994, 1995 Jan-Simon Pendry. 3 * Copyright (c) 1992, 1993, 1994, 1995 4 * The Regents of the University of California. All rights reserved. 5 * 6 * This code is derived from software contributed to Berkeley by 7 * Jan-Simon Pendry. 8 * --- 21 unchanged lines hidden (view full) --- 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * @(#)union_vnops.c 8.32 (Berkeley) 6/23/95 |
38 * $Id: union_vnops.c,v 1.41 1997/09/07 06:46:34 bde Exp $ | 38 * $Id: union_vnops.c,v 1.42 1997/09/14 02:58:04 peter Exp $ |
39 */ 40 41#include <sys/param.h> 42#include <sys/systm.h> 43#include <sys/proc.h> 44#include <sys/fcntl.h> 45#include <sys/stat.h> 46#include <sys/kernel.h> --- 1703 unchanged lines hidden (view full) --- 1750 return (error); 1751} 1752 1753/* 1754 * Global vfs data structures 1755 */ 1756vop_t **union_vnodeop_p; 1757static struct vnodeopv_entry_desc union_vnodeop_entries[] = { | 39 */ 40 41#include <sys/param.h> 42#include <sys/systm.h> 43#include <sys/proc.h> 44#include <sys/fcntl.h> 45#include <sys/stat.h> 46#include <sys/kernel.h> --- 1703 unchanged lines hidden (view full) --- 1750 return (error); 1751} 1752 1753/* 1754 * Global vfs data structures 1755 */ 1756vop_t **union_vnodeop_p; 1757static struct vnodeopv_entry_desc union_vnodeop_entries[] = { |
1758 { &vop_default_desc, (vop_t *)vn_default_error }, 1759 { &vop_lookup_desc, (vop_t *)union_lookup }, /* lookup */ 1760/* XXX: vop_cachedlookup */ 1761 { &vop_create_desc, (vop_t *)union_create }, /* create */ 1762 { &vop_whiteout_desc, (vop_t *)union_whiteout }, /* whiteout */ 1763 { &vop_mknod_desc, (vop_t *)union_mknod }, /* mknod */ 1764 { &vop_open_desc, (vop_t *)union_open }, /* open */ 1765 { &vop_close_desc, (vop_t *)union_close }, /* close */ 1766 { &vop_access_desc, (vop_t *)union_access }, /* access */ 1767 { &vop_getattr_desc, (vop_t *)union_getattr }, /* getattr */ 1768 { &vop_setattr_desc, (vop_t *)union_setattr }, /* setattr */ 1769 { &vop_read_desc, (vop_t *)union_read }, /* read */ 1770 { &vop_write_desc, (vop_t *)union_write }, /* write */ 1771 { &vop_lease_desc, (vop_t *)union_lease }, /* lease */ 1772 { &vop_ioctl_desc, (vop_t *)union_ioctl }, /* ioctl */ 1773 { &vop_poll_desc, (vop_t *)union_poll }, /* poll */ 1774 { &vop_revoke_desc, (vop_t *)union_revoke }, /* revoke */ 1775 { &vop_mmap_desc, (vop_t *)union_mmap }, /* mmap */ 1776 { &vop_fsync_desc, (vop_t *)union_fsync }, /* fsync */ 1777 { &vop_seek_desc, (vop_t *)union_seek }, /* seek */ 1778 { &vop_remove_desc, (vop_t *)union_remove }, /* remove */ 1779 { &vop_link_desc, (vop_t *)union_link }, /* link */ 1780 { &vop_rename_desc, (vop_t *)union_rename }, /* rename */ 1781 { &vop_mkdir_desc, (vop_t *)union_mkdir }, /* mkdir */ 1782 { &vop_rmdir_desc, (vop_t *)union_rmdir }, /* rmdir */ 1783 { &vop_symlink_desc, (vop_t *)union_symlink }, /* symlink */ 1784 { &vop_readdir_desc, (vop_t *)union_readdir }, /* readdir */ 1785 { &vop_readlink_desc, (vop_t *)union_readlink }, /* readlink */ 1786 { &vop_abortop_desc, (vop_t *)union_abortop }, /* abortop */ 1787 { &vop_inactive_desc, (vop_t *)union_inactive }, /* inactive */ 1788 { &vop_reclaim_desc, (vop_t *)union_reclaim }, /* reclaim */ 1789 { &vop_lock_desc, (vop_t *)union_lock }, /* lock */ 1790 { &vop_unlock_desc, (vop_t *)union_unlock }, /* unlock */ 1791 { &vop_bmap_desc, (vop_t *)union_bmap }, /* bmap */ 1792 { &vop_strategy_desc, (vop_t *)union_strategy }, /* strategy */ 1793 { &vop_print_desc, (vop_t *)union_print }, /* print */ 1794 { &vop_islocked_desc, (vop_t *)union_islocked }, /* islocked */ 1795 { &vop_pathconf_desc, (vop_t *)union_pathconf }, /* pathconf */ 1796 { &vop_advlock_desc, (vop_t *)union_advlock }, /* advlock */ 1797#ifdef notdef 1798 { &vop_blkatoff_desc, (vop_t *)union_blkatoff }, /* blkatoff */ 1799 { &vop_valloc_desc, (vop_t *)union_valloc }, /* valloc */ 1800/* XXX: vop_reallocblks */ 1801 { &vop_vfree_desc, (vop_t *)union_vfree }, /* vfree */ 1802 { &vop_truncate_desc, (vop_t *)union_truncate }, /* truncate */ 1803 { &vop_update_desc, (vop_t *)union_update }, /* update */ 1804/* XXX: vop_getpages */ 1805/* XXX: vop_putpages */ 1806 { &vop_bwrite_desc, (vop_t *)union_bwrite }, /* bwrite */ 1807#endif | 1758 { &vop_default_desc, (vop_t *) vn_default_error }, 1759 { &vop_abortop_desc, (vop_t *) union_abortop }, 1760 { &vop_access_desc, (vop_t *) union_access }, 1761 { &vop_advlock_desc, (vop_t *) union_advlock }, 1762 { &vop_bmap_desc, (vop_t *) union_bmap }, 1763 { &vop_close_desc, (vop_t *) union_close }, 1764 { &vop_create_desc, (vop_t *) union_create }, 1765 { &vop_fsync_desc, (vop_t *) union_fsync }, 1766 { &vop_getattr_desc, (vop_t *) union_getattr }, 1767 { &vop_inactive_desc, (vop_t *) union_inactive }, 1768 { &vop_ioctl_desc, (vop_t *) union_ioctl }, 1769 { &vop_islocked_desc, (vop_t *) union_islocked }, 1770 { &vop_lease_desc, (vop_t *) union_lease }, 1771 { &vop_link_desc, (vop_t *) union_link }, 1772 { &vop_lock_desc, (vop_t *) union_lock }, 1773 { &vop_lookup_desc, (vop_t *) union_lookup }, 1774 { &vop_mkdir_desc, (vop_t *) union_mkdir }, 1775 { &vop_mknod_desc, (vop_t *) union_mknod }, 1776 { &vop_mmap_desc, (vop_t *) union_mmap }, 1777 { &vop_open_desc, (vop_t *) union_open }, 1778 { &vop_pathconf_desc, (vop_t *) union_pathconf }, 1779 { &vop_poll_desc, (vop_t *) union_poll }, 1780 { &vop_print_desc, (vop_t *) union_print }, 1781 { &vop_read_desc, (vop_t *) union_read }, 1782 { &vop_readdir_desc, (vop_t *) union_readdir }, 1783 { &vop_readlink_desc, (vop_t *) union_readlink }, 1784 { &vop_reclaim_desc, (vop_t *) union_reclaim }, 1785 { &vop_remove_desc, (vop_t *) union_remove }, 1786 { &vop_rename_desc, (vop_t *) union_rename }, 1787 { &vop_revoke_desc, (vop_t *) union_revoke }, 1788 { &vop_rmdir_desc, (vop_t *) union_rmdir }, 1789 { &vop_seek_desc, (vop_t *) union_seek }, 1790 { &vop_setattr_desc, (vop_t *) union_setattr }, 1791 { &vop_strategy_desc, (vop_t *) union_strategy }, 1792 { &vop_symlink_desc, (vop_t *) union_symlink }, 1793 { &vop_unlock_desc, (vop_t *) union_unlock }, 1794 { &vop_whiteout_desc, (vop_t *) union_whiteout }, 1795 { &vop_write_desc, (vop_t *) union_write }, |
1808 { NULL, NULL } 1809}; 1810static struct vnodeopv_desc union_vnodeop_opv_desc = 1811 { &union_vnodeop_p, union_vnodeop_entries }; 1812 1813VNODEOP_SET(union_vnodeop_opv_desc); | 1796 { NULL, NULL } 1797}; 1798static struct vnodeopv_desc union_vnodeop_opv_desc = 1799 { &union_vnodeop_p, union_vnodeop_entries }; 1800 1801VNODEOP_SET(union_vnodeop_opv_desc); |