5 * Daniel Pirkl <daniel.pirkl@email.cz>
6 * Charles University, Faculty of Mathematics and Physics
10 * linux/fs/ext2/file.c
12 * Copyright (C) 1992, 1993, 1994, 1995
13 * Remy Card (card@masi.ibp.fr)
14 * Laboratoire MASI - Institut Blaise Pascal
15 * Universite Pierre et Marie Curie (Paris VI)
19 * linux/fs/minix/file.c
21 * Copyright (C) 1991, 1992 Linus Torvalds
23 * ext2 fs regular file handling primitives
26 #include <asm/uaccess.h>
27 #include <asm/system.h>
29 #include <linux/errno.h>
31 #include <linux/ufs_fs.h>
32 #include <linux/fcntl.h>
33 #include <linux/sched.h>
34 #include <linux/stat.h>
35 #include <linux/locks.h>
37 #include <linux/pagemap.h>
40 * Make sure the offset never goes beyond the 32-bit mark..
42 static long long ufs_file_lseek(
48 struct inode
*inode
= file
->f_dentry
->d_inode
;
52 offset
+= inode
->i_size
;
55 offset
+= file
->f_pos
;
58 /* make sure the offset fits in 32 bits */
59 if (((unsigned long long) offset
>> 32) == 0) {
60 if (offset
!= file
->f_pos
) {
63 file
->f_version
= ++event
;
71 * We have mostly NULL's here: the current defaults are ok for
74 struct file_operations ufs_file_operations
= {
75 llseek
: ufs_file_lseek
,
76 read
: generic_file_read
,
77 write
: generic_file_write
,
78 mmap
: generic_file_mmap
,
81 struct inode_operations ufs_file_inode_operations
= {
82 truncate
: ufs_truncate
,