Deleted Added
full compact
ext2_vnops.c (68307) ext2_vnops.c (76167)
1/*
2 * modified for EXT2FS support in Lites 1.1
3 *
4 * Aug 1995, Godmar Back (gback@cs.utah.edu)
5 * University of Utah, Department of Computer Science
6 */
7/*
8 * Copyright (c) 1982, 1986, 1989, 1993

--- 29 unchanged lines hidden (view full) ---

38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
40 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
41 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
42 * SUCH DAMAGE.
43 *
44 * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95
45 * @(#)ext2_vnops.c 8.7 (Berkeley) 2/3/94
1/*
2 * modified for EXT2FS support in Lites 1.1
3 *
4 * Aug 1995, Godmar Back (gback@cs.utah.edu)
5 * University of Utah, Department of Computer Science
6 */
7/*
8 * Copyright (c) 1982, 1986, 1989, 1993

--- 29 unchanged lines hidden (view full) ---

38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
40 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
41 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
42 * SUCH DAMAGE.
43 *
44 * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95
45 * @(#)ext2_vnops.c 8.7 (Berkeley) 2/3/94
46 * $FreeBSD: head/sys/gnu/fs/ext2fs/ext2_vnops.c 68307 2000-11-04 08:10:56Z bde $
46 * $FreeBSD: head/sys/gnu/fs/ext2fs/ext2_vnops.c 76167 2001-05-01 08:34:45Z phk $
47 */
48
49#include "opt_quota.h"
50#include "opt_suiddir.h"
51
52#include <sys/param.h>
53#include <sys/systm.h>
54#include <sys/resourcevar.h>

--- 32 unchanged lines hidden (view full) ---

87static int ext2_remove __P((struct vop_remove_args *));
88static int ext2_link __P((struct vop_link_args *));
89static int ext2_rename __P((struct vop_rename_args *));
90static int ext2_mkdir __P((struct vop_mkdir_args *));
91static int ext2_rmdir __P((struct vop_rmdir_args *));
92static int ext2_create __P((struct vop_create_args *));
93static int ext2_mknod __P((struct vop_mknod_args *));
94static int ext2_symlink __P((struct vop_symlink_args *));
47 */
48
49#include "opt_quota.h"
50#include "opt_suiddir.h"
51
52#include <sys/param.h>
53#include <sys/systm.h>
54#include <sys/resourcevar.h>

--- 32 unchanged lines hidden (view full) ---

87static int ext2_remove __P((struct vop_remove_args *));
88static int ext2_link __P((struct vop_link_args *));
89static int ext2_rename __P((struct vop_rename_args *));
90static int ext2_mkdir __P((struct vop_mkdir_args *));
91static int ext2_rmdir __P((struct vop_rmdir_args *));
92static int ext2_create __P((struct vop_create_args *));
93static int ext2_mknod __P((struct vop_mknod_args *));
94static int ext2_symlink __P((struct vop_symlink_args *));
95static int ext2_getpages __P((struct vop_getpages_args *));
96static int ext2_putpages __P((struct vop_putpages_args *));
97
98/* Global vfs data structures for ufs. */
99vop_t **ext2_vnodeop_p;
100static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
101 { &vop_default_desc, (vop_t *) ufs_vnoperate },
102 { &vop_cachedlookup_desc, (vop_t *) ext2_lookup },
103 { &vop_fsync_desc, (vop_t *) ext2_fsync },
104 { &vop_inactive_desc, (vop_t *) ext2_inactive },

--- 5 unchanged lines hidden (view full) ---

110 { &vop_remove_desc, (vop_t *) ext2_remove },
111 { &vop_link_desc, (vop_t *) ext2_link },
112 { &vop_rename_desc, (vop_t *) ext2_rename },
113 { &vop_mkdir_desc, (vop_t *) ext2_mkdir },
114 { &vop_rmdir_desc, (vop_t *) ext2_rmdir },
115 { &vop_create_desc, (vop_t *) ext2_create },
116 { &vop_mknod_desc, (vop_t *) ext2_mknod },
117 { &vop_symlink_desc, (vop_t *) ext2_symlink },
95
96/* Global vfs data structures for ufs. */
97vop_t **ext2_vnodeop_p;
98static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
99 { &vop_default_desc, (vop_t *) ufs_vnoperate },
100 { &vop_cachedlookup_desc, (vop_t *) ext2_lookup },
101 { &vop_fsync_desc, (vop_t *) ext2_fsync },
102 { &vop_inactive_desc, (vop_t *) ext2_inactive },

--- 5 unchanged lines hidden (view full) ---

108 { &vop_remove_desc, (vop_t *) ext2_remove },
109 { &vop_link_desc, (vop_t *) ext2_link },
110 { &vop_rename_desc, (vop_t *) ext2_rename },
111 { &vop_mkdir_desc, (vop_t *) ext2_mkdir },
112 { &vop_rmdir_desc, (vop_t *) ext2_rmdir },
113 { &vop_create_desc, (vop_t *) ext2_create },
114 { &vop_mknod_desc, (vop_t *) ext2_mknod },
115 { &vop_symlink_desc, (vop_t *) ext2_symlink },
118 { &vop_getpages_desc, (vop_t *) ext2_getpages },
119 { &vop_putpages_desc, (vop_t *) ext2_putpages },
120 { NULL, NULL }
121};
122static struct vnodeopv_desc ext2fs_vnodeop_opv_desc =
123 { &ext2_vnodeop_p, ext2_vnodeop_entries };
124
125vop_t **ext2_specop_p;
126static struct vnodeopv_entry_desc ext2_specop_entries[] = {
127 { &vop_default_desc, (vop_t *) ufs_vnoperatespec },

--- 1053 unchanged lines hidden (view full) ---

1181 * Write error occurred trying to update the inode
1182 * or the directory so must deallocate the inode.
1183 */
1184 ip->i_nlink = 0;
1185 ip->i_flag |= IN_CHANGE;
1186 vput(tvp);
1187 return (error);
1188}
116 { NULL, NULL }
117};
118static struct vnodeopv_desc ext2fs_vnodeop_opv_desc =
119 { &ext2_vnodeop_p, ext2_vnodeop_entries };
120
121vop_t **ext2_specop_p;
122static struct vnodeopv_entry_desc ext2_specop_entries[] = {
123 { &vop_default_desc, (vop_t *) ufs_vnoperatespec },

--- 1053 unchanged lines hidden (view full) ---

1177 * Write error occurred trying to update the inode
1178 * or the directory so must deallocate the inode.
1179 */
1180 ip->i_nlink = 0;
1181 ip->i_flag |= IN_CHANGE;
1182 vput(tvp);
1183 return (error);
1184}
1189
1190/*
1191 * get page routine
1192 *
1193 * XXX By default, wimp out... note that a_offset is ignored (and always
1194 * XXX has been).
1195 */
1196static int
1197ext2_getpages(ap)
1198 struct vop_getpages_args *ap;
1199{
1200 return (vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
1201 ap->a_reqpage));
1202}
1203
1204/*
1205 * put page routine
1206 *
1207 * XXX By default, wimp out... note that a_offset is ignored (and always
1208 * XXX has been).
1209 */
1210static int
1211ext2_putpages(ap)
1212 struct vop_putpages_args *ap;
1213{
1214 return (vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
1215 ap->a_sync, ap->a_rtvals));
1216}