1/* $Id: msdosfs_vnops.c,v 1.49 1997/10/16 20:32:31 phk Exp $ */
2/* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */
3
4/*-
5 * Copyright (C) 1994 Wolfgang Solfrank.
6 * Copyright (C) 1994 TooLs GmbH.
7 * All rights reserved.
8 * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
9 *
--- 79 unchanged lines hidden (view full) ---
89static int msdosfs_remove __P((struct vop_remove_args *));
90static int msdosfs_link __P((struct vop_link_args *));
91static int msdosfs_rename __P((struct vop_rename_args *));
92static int msdosfs_mkdir __P((struct vop_mkdir_args *));
93static int msdosfs_rmdir __P((struct vop_rmdir_args *));
94static int msdosfs_symlink __P((struct vop_symlink_args *));
95static int msdosfs_readdir __P((struct vop_readdir_args *));
96static int msdosfs_abortop __P((struct vop_abortop_args *));
97static int msdosfs_bmap __P((struct vop_bmap_args *));
98static int msdosfs_strategy __P((struct vop_strategy_args *));
99static int msdosfs_print __P((struct vop_print_args *));
100static int msdosfs_pathconf __P((struct vop_pathconf_args *ap));
101
102/*
103 * Some general notes:
104 *
105 * In the ufs filesystem the inodes, superblocks, and indirect blocks are
106 * read/written using the vnode for the filesystem. Blocks that represent
107 * the contents of a file are read/written using the vnode for the file
--- 1593 unchanged lines hidden (view full) ---
1701 struct componentname *a_cnp;
1702 } */ *ap;
1703{
1704 if ((ap->a_cnp->cn_flags & (HASBUF | SAVESTART)) == HASBUF)
1705 zfree(namei_zone, ap->a_cnp->cn_pnbuf);
1706 return 0;
1707}
1708
1709/*
1710 * vp - address of vnode file the file
1711 * bn - which cluster we are interested in mapping to a filesystem block number.
1712 * vpp - returns the vnode for the block special file holding the filesystem
1713 * containing the file of interest
1714 * bnp - address of where to return the filesystem relative block number
1715 */
1716static int
--- 121 unchanged lines hidden (view full) ---
1838 { &vop_access_desc, (vop_t *) msdosfs_access },
1839 { &vop_bmap_desc, (vop_t *) msdosfs_bmap },
1840 { &vop_cachedlookup_desc, (vop_t *) msdosfs_lookup },
1841 { &vop_close_desc, (vop_t *) msdosfs_close },
1842 { &vop_create_desc, (vop_t *) msdosfs_create },
1843 { &vop_fsync_desc, (vop_t *) msdosfs_fsync },
1844 { &vop_getattr_desc, (vop_t *) msdosfs_getattr },
1845 { &vop_inactive_desc, (vop_t *) msdosfs_inactive },
1846 { &vop_islocked_desc, (vop_t *) vop_stdislocked },
1847 { &vop_link_desc, (vop_t *) msdosfs_link },
1848 { &vop_lock_desc, (vop_t *) vop_stdlock },
1849 { &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
1850 { &vop_mkdir_desc, (vop_t *) msdosfs_mkdir },
1851 { &vop_mknod_desc, (vop_t *) msdosfs_mknod },
1852 { &vop_pathconf_desc, (vop_t *) msdosfs_pathconf },
1853 { &vop_print_desc, (vop_t *) msdosfs_print },
1854 { &vop_read_desc, (vop_t *) msdosfs_read },
1855 { &vop_readdir_desc, (vop_t *) msdosfs_readdir },
1856 { &vop_reclaim_desc, (vop_t *) msdosfs_reclaim },
1857 { &vop_remove_desc, (vop_t *) msdosfs_remove },
1858 { &vop_rename_desc, (vop_t *) msdosfs_rename },
1859 { &vop_rmdir_desc, (vop_t *) msdosfs_rmdir },
1860 { &vop_setattr_desc, (vop_t *) msdosfs_setattr },
1861 { &vop_strategy_desc, (vop_t *) msdosfs_strategy },
1862 { &vop_symlink_desc, (vop_t *) msdosfs_symlink },
1863 { &vop_unlock_desc, (vop_t *) vop_stdunlock },
1864 { &vop_write_desc, (vop_t *) msdosfs_write },
1865 { NULL, NULL }
1866};
1867static struct vnodeopv_desc msdosfs_vnodeop_opv_desc =
1868 { &msdosfs_vnodeop_p, msdosfs_vnodeop_entries };
1869
1870VNODEOP_SET(msdosfs_vnodeop_opv_desc);
2/* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */
3
4/*-
5 * Copyright (C) 1994 Wolfgang Solfrank.
6 * Copyright (C) 1994 TooLs GmbH.
7 * All rights reserved.
8 * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
9 *
--- 79 unchanged lines hidden (view full) ---
89static int msdosfs_remove __P((struct vop_remove_args *));
90static int msdosfs_link __P((struct vop_link_args *));
91static int msdosfs_rename __P((struct vop_rename_args *));
92static int msdosfs_mkdir __P((struct vop_mkdir_args *));
93static int msdosfs_rmdir __P((struct vop_rmdir_args *));
94static int msdosfs_symlink __P((struct vop_symlink_args *));
95static int msdosfs_readdir __P((struct vop_readdir_args *));
96static int msdosfs_abortop __P((struct vop_abortop_args *));
97static int msdosfs_bmap __P((struct vop_bmap_args *));
98static int msdosfs_strategy __P((struct vop_strategy_args *));
99static int msdosfs_print __P((struct vop_print_args *));
100static int msdosfs_pathconf __P((struct vop_pathconf_args *ap));
101
102/*
103 * Some general notes:
104 *
105 * In the ufs filesystem the inodes, superblocks, and indirect blocks are
106 * read/written using the vnode for the filesystem. Blocks that represent
107 * the contents of a file are read/written using the vnode for the file
--- 1593 unchanged lines hidden (view full) ---
1701 struct componentname *a_cnp;
1702 } */ *ap;
1703{
1704 if ((ap->a_cnp->cn_flags & (HASBUF | SAVESTART)) == HASBUF)
1705 zfree(namei_zone, ap->a_cnp->cn_pnbuf);
1706 return 0;
1707}
1708
1709/*
1710 * vp - address of vnode file the file
1711 * bn - which cluster we are interested in mapping to a filesystem block number.
1712 * vpp - returns the vnode for the block special file holding the filesystem
1713 * containing the file of interest
1714 * bnp - address of where to return the filesystem relative block number
1715 */
1716static int
--- 121 unchanged lines hidden (view full) ---
1838 { &vop_access_desc, (vop_t *) msdosfs_access },
1839 { &vop_bmap_desc, (vop_t *) msdosfs_bmap },
1840 { &vop_cachedlookup_desc, (vop_t *) msdosfs_lookup },
1841 { &vop_close_desc, (vop_t *) msdosfs_close },
1842 { &vop_create_desc, (vop_t *) msdosfs_create },
1843 { &vop_fsync_desc, (vop_t *) msdosfs_fsync },
1844 { &vop_getattr_desc, (vop_t *) msdosfs_getattr },
1845 { &vop_inactive_desc, (vop_t *) msdosfs_inactive },
1846 { &vop_islocked_desc, (vop_t *) vop_stdislocked },
1847 { &vop_link_desc, (vop_t *) msdosfs_link },
1848 { &vop_lock_desc, (vop_t *) vop_stdlock },
1849 { &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
1850 { &vop_mkdir_desc, (vop_t *) msdosfs_mkdir },
1851 { &vop_mknod_desc, (vop_t *) msdosfs_mknod },
1852 { &vop_pathconf_desc, (vop_t *) msdosfs_pathconf },
1853 { &vop_print_desc, (vop_t *) msdosfs_print },
1854 { &vop_read_desc, (vop_t *) msdosfs_read },
1855 { &vop_readdir_desc, (vop_t *) msdosfs_readdir },
1856 { &vop_reclaim_desc, (vop_t *) msdosfs_reclaim },
1857 { &vop_remove_desc, (vop_t *) msdosfs_remove },
1858 { &vop_rename_desc, (vop_t *) msdosfs_rename },
1859 { &vop_rmdir_desc, (vop_t *) msdosfs_rmdir },
1860 { &vop_setattr_desc, (vop_t *) msdosfs_setattr },
1861 { &vop_strategy_desc, (vop_t *) msdosfs_strategy },
1862 { &vop_symlink_desc, (vop_t *) msdosfs_symlink },
1863 { &vop_unlock_desc, (vop_t *) vop_stdunlock },
1864 { &vop_write_desc, (vop_t *) msdosfs_write },
1865 { NULL, NULL }
1866};
1867static struct vnodeopv_desc msdosfs_vnodeop_opv_desc =
1868 { &msdosfs_vnodeop_p, msdosfs_vnodeop_entries };
1869
1870VNODEOP_SET(msdosfs_vnodeop_opv_desc);