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); |