Import 2.3.9pre7
[davej-history.git] / fs / minix / file.c
blob14d478bde77f57257e70771f981c06f9ee82d081
1 /*
2 * linux/fs/minix/file.c
4 * Copyright (C) 1991, 1992 Linus Torvalds
6 * minix regular file handling primitives
7 */
9 #include <linux/sched.h>
10 #include <linux/minix_fs.h>
11 #include <linux/kernel.h>
12 #include <linux/errno.h>
13 #include <linux/fcntl.h>
14 #include <linux/stat.h>
15 #include <linux/locks.h>
16 #include <linux/mm.h>
17 #include <linux/pagemap.h>
19 #include <asm/uaccess.h>
20 #include <asm/system.h>
22 #define NBUF 32
24 #define MIN(a,b) (((a)<(b))?(a):(b))
25 #define MAX(a,b) (((a)>(b))?(a):(b))
27 #include <linux/fs.h>
28 #include <linux/minix_fs.h>
31 * Write to a file (through the page cache).
33 static ssize_t
34 minix_file_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
36 return generic_file_write(file, buf, count,
37 ppos, block_write_partial_page);
41 * We have mostly NULLs here: the current defaults are OK for
42 * the minix filesystem.
44 static struct file_operations minix_file_operations = {
45 NULL, /* lseek - default */
46 generic_file_read, /* read */
47 minix_file_write, /* write */
48 NULL, /* readdir - bad */
49 NULL, /* poll - default */
50 NULL, /* ioctl - default */
51 generic_file_mmap, /* mmap */
52 NULL, /* no special open is needed */
53 NULL, /* flush */
54 NULL, /* release */
55 minix_sync_file, /* fsync */
56 NULL, /* fasync */
57 NULL, /* check_media_change */
58 NULL /* revalidate */
61 struct inode_operations minix_file_inode_operations = {
62 &minix_file_operations, /* default file operations */
63 NULL, /* create */
64 NULL, /* lookup */
65 NULL, /* link */
66 NULL, /* unlink */
67 NULL, /* symlink */
68 NULL, /* mkdir */
69 NULL, /* rmdir */
70 NULL, /* mknod */
71 NULL, /* rename */
72 NULL, /* readlink */
73 NULL, /* follow_link */
74 minix_get_block, /* get_block */
75 block_read_full_page, /* readpage */
76 block_write_full_page, /* writepage */
77 block_flushpage, /* flushpage */
78 minix_truncate, /* truncate */
79 NULL, /* permission */
80 NULL, /* smap */
81 NULL, /* revalidate */