|
|
1.1 root 1: /*
2: * linux/fs/ext/blkdev.c
3: *
1.1.1.2 root 4: * Copyright (C) 1992 Remy Card ([email protected])
1.1 root 5: *
6: * from
7: *
8: * linux/fs/minix/blkdev.c
9: *
1.1.1.2 root 10: * Copyright (C) 1991, 1992 Linus Torvalds
1.1 root 11: */
12:
13: #include <linux/sched.h>
14: #include <linux/ext_fs.h>
15: #include <linux/tty.h>
16: #include <linux/stat.h>
17: #include <linux/fcntl.h>
1.1.1.2 root 18: #include <linux/errno.h>
1.1 root 19:
20: /*
21: * Called every time an ext block special file is opened
22: */
23: static int blkdev_open(struct inode * inode, struct file * filp)
24: {
25: int i;
26:
27: i = MAJOR(inode->i_rdev);
28: if (i < MAX_BLKDEV) {
29: filp->f_op = blkdev_fops[i];
30: if (filp->f_op && filp->f_op->open)
31: return filp->f_op->open(inode,filp);
32: }
33: return 0;
34: }
35:
36: /*
37: * Dummy default file-operations: the only thing this does
38: * is contain the open that then fills in the correct operations
39: * depending on the special file...
40: */
41: static struct file_operations def_blk_fops = {
42: NULL, /* lseek */
43: NULL, /* read */
44: NULL, /* write */
45: NULL, /* readdir */
46: NULL, /* select */
47: NULL, /* ioctl */
48: blkdev_open, /* open */
49: NULL, /* release */
50: };
51:
52: struct inode_operations ext_blkdev_inode_operations = {
53: &def_blk_fops, /* default file operations */
54: NULL, /* create */
55: NULL, /* lookup */
56: NULL, /* link */
57: NULL, /* unlink */
58: NULL, /* symlink */
59: NULL, /* mkdir */
60: NULL, /* rmdir */
61: NULL, /* mknod */
62: NULL, /* rename */
63: NULL, /* readlink */
64: NULL, /* follow_link */
1.1.1.3 ! root 65: NULL, /* bmap */
! 66: NULL /* truncate */
1.1 root 67: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.