ffs_vnops.c (164248) | ffs_vnops.c (166774) |
---|---|
1/*- 2 * Copyright (c) 2002, 2003 Networks Associates Technology, Inc. 3 * All rights reserved. 4 * 5 * This software was developed for the FreeBSD Project by Marshall 6 * Kirk McKusick and Network Associates Laboratories, the Security 7 * Research Division of Network Associates, Inc. under DARPA/SPAWAR 8 * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS --- 48 unchanged lines hidden (view full) --- 57 * SUCH DAMAGE. 58 * 59 * from: @(#)ufs_readwrite.c 8.11 (Berkeley) 5/8/95 60 * from: $FreeBSD: .../ufs/ufs_readwrite.c,v 1.96 2002/08/12 09:22:11 phk ... 61 * @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95 62 */ 63 64#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2002, 2003 Networks Associates Technology, Inc. 3 * All rights reserved. 4 * 5 * This software was developed for the FreeBSD Project by Marshall 6 * Kirk McKusick and Network Associates Laboratories, the Security 7 * Research Division of Network Associates, Inc. under DARPA/SPAWAR 8 * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS --- 48 unchanged lines hidden (view full) --- 57 * SUCH DAMAGE. 58 * 59 * from: @(#)ufs_readwrite.c 8.11 (Berkeley) 5/8/95 60 * from: $FreeBSD: .../ufs/ufs_readwrite.c,v 1.96 2002/08/12 09:22:11 phk ... 61 * @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95 62 */ 63 64#include <sys/cdefs.h> |
65__FBSDID("$FreeBSD: head/sys/ufs/ffs/ffs_vnops.c 164248 2006-11-13 05:51:22Z kmacy $"); | 65__FBSDID("$FreeBSD: head/sys/ufs/ffs/ffs_vnops.c 166774 2007-02-15 22:08:35Z pjd $"); |
66 67#include <sys/param.h> 68#include <sys/bio.h> 69#include <sys/systm.h> 70#include <sys/buf.h> 71#include <sys/conf.h> 72#include <sys/extattr.h> 73#include <sys/kernel.h> --- 39 unchanged lines hidden (view full) --- 113 struct ucred *cred); 114static vop_strategy_t ffsext_strategy; 115static vop_closeextattr_t ffs_closeextattr; 116static vop_deleteextattr_t ffs_deleteextattr; 117static vop_getextattr_t ffs_getextattr; 118static vop_listextattr_t ffs_listextattr; 119static vop_openextattr_t ffs_openextattr; 120static vop_setextattr_t ffs_setextattr; | 66 67#include <sys/param.h> 68#include <sys/bio.h> 69#include <sys/systm.h> 70#include <sys/buf.h> 71#include <sys/conf.h> 72#include <sys/extattr.h> 73#include <sys/kernel.h> --- 39 unchanged lines hidden (view full) --- 113 struct ucred *cred); 114static vop_strategy_t ffsext_strategy; 115static vop_closeextattr_t ffs_closeextattr; 116static vop_deleteextattr_t ffs_deleteextattr; 117static vop_getextattr_t ffs_getextattr; 118static vop_listextattr_t ffs_listextattr; 119static vop_openextattr_t ffs_openextattr; 120static vop_setextattr_t ffs_setextattr; |
121static vop_vptofh_t ffs_vptofh; |
|
121 122 123/* Global vfs data structures for ufs. */ 124struct vop_vector ffs_vnodeops1 = { 125 .vop_default = &ufs_vnodeops, 126 .vop_fsync = ffs_fsync, 127 .vop_getpages = ffs_getpages, 128 ._vop_lock = ffs_lock, 129 .vop_read = ffs_read, 130 .vop_reallocblks = ffs_reallocblks, 131 .vop_write = ffs_write, | 122 123 124/* Global vfs data structures for ufs. */ 125struct vop_vector ffs_vnodeops1 = { 126 .vop_default = &ufs_vnodeops, 127 .vop_fsync = ffs_fsync, 128 .vop_getpages = ffs_getpages, 129 ._vop_lock = ffs_lock, 130 .vop_read = ffs_read, 131 .vop_reallocblks = ffs_reallocblks, 132 .vop_write = ffs_write, |
133 .vop_vptofh = ffs_vptofh, |
|
132}; 133 134struct vop_vector ffs_fifoops1 = { 135 .vop_default = &ufs_fifoops, 136 .vop_fsync = ffs_fsync, 137 .vop_reallocblks = ffs_reallocblks, /* XXX: really ??? */ | 134}; 135 136struct vop_vector ffs_fifoops1 = { 137 .vop_default = &ufs_fifoops, 138 .vop_fsync = ffs_fsync, 139 .vop_reallocblks = ffs_reallocblks, /* XXX: really ??? */ |
140 .vop_vptofh = ffs_vptofh, |
|
138}; 139 140/* Global vfs data structures for ufs. */ 141struct vop_vector ffs_vnodeops2 = { 142 .vop_default = &ufs_vnodeops, 143 .vop_fsync = ffs_fsync, 144 .vop_getpages = ffs_getpages, 145 ._vop_lock = ffs_lock, 146 .vop_read = ffs_read, 147 .vop_reallocblks = ffs_reallocblks, 148 .vop_write = ffs_write, 149 .vop_closeextattr = ffs_closeextattr, 150 .vop_deleteextattr = ffs_deleteextattr, 151 .vop_getextattr = ffs_getextattr, 152 .vop_listextattr = ffs_listextattr, 153 .vop_openextattr = ffs_openextattr, 154 .vop_setextattr = ffs_setextattr, | 141}; 142 143/* Global vfs data structures for ufs. */ 144struct vop_vector ffs_vnodeops2 = { 145 .vop_default = &ufs_vnodeops, 146 .vop_fsync = ffs_fsync, 147 .vop_getpages = ffs_getpages, 148 ._vop_lock = ffs_lock, 149 .vop_read = ffs_read, 150 .vop_reallocblks = ffs_reallocblks, 151 .vop_write = ffs_write, 152 .vop_closeextattr = ffs_closeextattr, 153 .vop_deleteextattr = ffs_deleteextattr, 154 .vop_getextattr = ffs_getextattr, 155 .vop_listextattr = ffs_listextattr, 156 .vop_openextattr = ffs_openextattr, 157 .vop_setextattr = ffs_setextattr, |
158 .vop_vptofh = ffs_vptofh, |
|
155}; 156 157struct vop_vector ffs_fifoops2 = { 158 .vop_default = &ufs_fifoops, 159 .vop_fsync = ffs_fsync, 160 ._vop_lock = ffs_lock, 161 .vop_reallocblks = ffs_reallocblks, 162 .vop_strategy = ffsext_strategy, 163 .vop_closeextattr = ffs_closeextattr, 164 .vop_deleteextattr = ffs_deleteextattr, 165 .vop_getextattr = ffs_getextattr, 166 .vop_listextattr = ffs_listextattr, 167 .vop_openextattr = ffs_openextattr, 168 .vop_setextattr = ffs_setextattr, | 159}; 160 161struct vop_vector ffs_fifoops2 = { 162 .vop_default = &ufs_fifoops, 163 .vop_fsync = ffs_fsync, 164 ._vop_lock = ffs_lock, 165 .vop_reallocblks = ffs_reallocblks, 166 .vop_strategy = ffsext_strategy, 167 .vop_closeextattr = ffs_closeextattr, 168 .vop_deleteextattr = ffs_deleteextattr, 169 .vop_getextattr = ffs_getextattr, 170 .vop_listextattr = ffs_listextattr, 171 .vop_openextattr = ffs_openextattr, 172 .vop_setextattr = ffs_setextattr, |
173 .vop_vptofh = ffs_vptofh, |
|
169}; 170 171/* 172 * Synch an open file. 173 */ 174/* ARGSUSED */ 175static int 176ffs_fsync(struct vop_fsync_args *ap) --- 1508 unchanged lines hidden (view full) --- 1685 p = ip->i_ea_area; 1686 ip->i_ea_area = eae; 1687 ip->i_ea_len = easize; 1688 free(p, M_TEMP); 1689 if (stand_alone) 1690 error = ffs_close_ea(ap->a_vp, 1, ap->a_cred, ap->a_td); 1691 return(error); 1692} | 174}; 175 176/* 177 * Synch an open file. 178 */ 179/* ARGSUSED */ 180static int 181ffs_fsync(struct vop_fsync_args *ap) --- 1508 unchanged lines hidden (view full) --- 1690 p = ip->i_ea_area; 1691 ip->i_ea_area = eae; 1692 ip->i_ea_len = easize; 1693 free(p, M_TEMP); 1694 if (stand_alone) 1695 error = ffs_close_ea(ap->a_vp, 1, ap->a_cred, ap->a_td); 1696 return(error); 1697} |
1698 1699/* 1700 * Vnode pointer to File handle 1701 */ 1702static int 1703ffs_vptofh(struct vop_vptofh_args *ap) 1704/* 1705vop_vptofh { 1706 IN struct vnode *a_vp; 1707 IN struct fid *a_fhp; 1708}; 1709*/ 1710{ 1711 struct inode *ip; 1712 struct ufid *ufhp; 1713 1714 ip = VTOI(ap->a_vp); 1715 ufhp = (struct ufid *)ap->a_fhp; 1716 ufhp->ufid_len = sizeof(struct ufid); 1717 ufhp->ufid_ino = ip->i_number; 1718 ufhp->ufid_gen = ip->i_gen; 1719 return (0); 1720} |
|