summaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-09-19 19:15:08 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-09-19 19:15:08 +0000
commit03ba4131783cc9e872f8bb26a03f15bc11f27564 (patch)
tree88db8dba75ae06ba3bad08e42c5e52efc162535c /include/linux/fs.h
parent257730f99381dd26e10b832fce4c94cae7ac1176 (diff)
- Merge with Linux 2.1.121.
- Bugfixes.
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 69fa35c3c..8a2b4478f 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -39,16 +39,17 @@ struct poll_table_struct;
#undef NR_OPEN
#define NR_OPEN 1024
-#define NR_SUPER 64
#define BLOCK_SIZE_BITS 10
#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
/* And dynamically-tunable limits and defaults: */
extern int max_inodes;
extern int max_files, nr_files, nr_free_files;
+extern int max_super_blocks, nr_super_blocks;
#define NR_FILE 4096 /* this can well be larger on a larger system */
#define NR_RESERVED_FILES 10 /* reserved for root */
+#define NR_SUPER 256
#define MAY_EXEC 1
#define MAY_WRITE 2
@@ -271,6 +272,7 @@ static inline int buffer_protected(struct buffer_head * bh)
#include <linux/smb_fs_i.h>
#include <linux/hfs_fs_i.h>
#include <linux/adfs_fs_i.h>
+#include <linux/qnx4_fs_i.h>
#include <linux/efs_fs_i.h>
/*
@@ -381,6 +383,7 @@ struct inode {
struct smb_inode_info smbfs_i;
struct hfs_inode_info hfs_i;
struct adfs_inode_info adfs_i;
+ struct qnx4_inode_info qnx4_i;
struct efs_inode_info efs_i;
struct socket socket_i;
void *generic_ip;
@@ -402,6 +405,7 @@ static inline void mark_inode_dirty(struct inode *inode)
struct fown_struct {
int pid; /* pid or -pgrp where SIGIO should be sent */
uid_t uid, euid; /* uid/euid of process setting the owner */
+ int signum; /* posix.1b rt signal to be delivered on IO */
};
struct file {
@@ -511,13 +515,14 @@ extern inline int locks_verify_area(int read_write, struct inode *inode,
struct fasync_struct {
int magic;
+ int fa_fd;
struct fasync_struct *fa_next; /* singly linked list */
struct file *fa_file;
};
#define FASYNC_MAGIC 0x4601
-extern int fasync_helper(struct file *, int, struct fasync_struct **);
+extern int fasync_helper(int, struct file *, int, struct fasync_struct **);
#include <linux/minix_fs_sb.h>
#include <linux/ext2_fs_sb.h>
@@ -534,8 +539,13 @@ extern int fasync_helper(struct file *, int, struct fasync_struct **);
#include <linux/smb_fs_sb.h>
#include <linux/hfs_fs_sb.h>
#include <linux/adfs_fs_sb.h>
+#include <linux/qnx4_fs_sb.h>
+extern struct list_head super_blocks;
+
+#define sb_entry(list) list_entry((list), struct super_block, s_list)
struct super_block {
+ struct list_head s_list; /* Keep this first */
kdev_t s_dev;
unsigned long s_blocksize;
unsigned char s_blocksize_bits;
@@ -572,6 +582,7 @@ struct super_block {
struct smb_sb_info smbfs_sb;
struct hfs_sb_info hfs_sb;
struct adfs_sb_info adfs_sb;
+ struct qnx4_sb_info qnx4_sb;
void *generic_sbp;
} u;
};
@@ -593,9 +604,10 @@ struct file_operations {
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
int (*mmap) (struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
+ int (*flush) (struct file *);
int (*release) (struct inode *, struct file *);
int (*fsync) (struct file *, struct dentry *);
- int (*fasync) (struct file *, int);
+ int (*fasync) (int, struct file *, int);
int (*check_media_change) (kdev_t dev);
int (*revalidate) (kdev_t dev);
int (*lock) (struct file *, int, struct file_lock *);
@@ -667,7 +679,6 @@ asmlinkage int sys_close(unsigned int); /* yes, it's really unsigned */
extern int do_truncate(struct dentry *, unsigned long);
extern int get_unused_fd(void);
extern void put_unused_fd(unsigned int);
-extern int __fput(struct file *);
extern int close_fp(struct file *, fl_owner_t id);
extern char * getname(const char * filename);
@@ -708,7 +719,6 @@ extern int fs_may_remount_ro(struct super_block *);
extern int fs_may_mount(kdev_t dev);
extern struct file *inuse_filps;
-extern struct super_block super_blocks[NR_SUPER];
extern void refile_buffer(struct buffer_head * buf);
extern void set_writetime(struct buffer_head * buf, int flag);