aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 51803528b095..2620a8c63571 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -300,6 +300,10 @@ struct inodes_stat_t {
300#define BLKTRACESTOP _IO(0x12,117) 300#define BLKTRACESTOP _IO(0x12,117)
301#define BLKTRACETEARDOWN _IO(0x12,118) 301#define BLKTRACETEARDOWN _IO(0x12,118)
302#define BLKDISCARD _IO(0x12,119) 302#define BLKDISCARD _IO(0x12,119)
303#define BLKIOMIN _IO(0x12,120)
304#define BLKIOOPT _IO(0x12,121)
305#define BLKALIGNOFF _IO(0x12,122)
306#define BLKPBSZGET _IO(0x12,123)
303 307
304#define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ 308#define BMAP_IOCTL 1 /* obsolete - kept for compatibility */
305#define FIBMAP _IO(0x00,1) /* bmap access */ 309#define FIBMAP _IO(0x00,1) /* bmap access */
@@ -595,6 +599,7 @@ struct address_space_operations {
595 int (*launder_page) (struct page *); 599 int (*launder_page) (struct page *);
596 int (*is_partially_uptodate) (struct page *, read_descriptor_t *, 600 int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
597 unsigned long); 601 unsigned long);
602 int (*error_remove_page)(struct address_space *, struct page *);
598}; 603};
599 604
600/* 605/*
@@ -640,7 +645,6 @@ struct block_device {
640 struct super_block * bd_super; 645 struct super_block * bd_super;
641 int bd_openers; 646 int bd_openers;
642 struct mutex bd_mutex; /* open/close mutex */ 647 struct mutex bd_mutex; /* open/close mutex */
643 struct semaphore bd_mount_sem;
644 struct list_head bd_inodes; 648 struct list_head bd_inodes;
645 void * bd_holder; 649 void * bd_holder;
646 int bd_holders; 650 int bd_holders;
@@ -1315,7 +1319,7 @@ struct super_block {
1315 unsigned long s_blocksize; 1319 unsigned long s_blocksize;
1316 unsigned char s_blocksize_bits; 1320 unsigned char s_blocksize_bits;
1317 unsigned char s_dirt; 1321 unsigned char s_dirt;
1318 unsigned long long s_maxbytes; /* Max file size */ 1322 loff_t s_maxbytes; /* Max file size */
1319 struct file_system_type *s_type; 1323 struct file_system_type *s_type;
1320 const struct super_operations *s_op; 1324 const struct super_operations *s_op;
1321 const struct dquot_operations *dq_op; 1325 const struct dquot_operations *dq_op;
@@ -2156,6 +2160,7 @@ extern ino_t iunique(struct super_block *, ino_t);
2156extern int inode_needs_sync(struct inode *inode); 2160extern int inode_needs_sync(struct inode *inode);
2157extern void generic_delete_inode(struct inode *inode); 2161extern void generic_delete_inode(struct inode *inode);
2158extern void generic_drop_inode(struct inode *inode); 2162extern void generic_drop_inode(struct inode *inode);
2163extern int generic_detach_inode(struct inode *inode);
2159 2164
2160extern struct inode *ilookup5_nowait(struct super_block *sb, 2165extern struct inode *ilookup5_nowait(struct super_block *sb,
2161 unsigned long hashval, int (*test)(struct inode *, void *), 2166 unsigned long hashval, int (*test)(struct inode *, void *),
@@ -2334,6 +2339,7 @@ extern void get_filesystem(struct file_system_type *fs);
2334extern void put_filesystem(struct file_system_type *fs); 2339extern void put_filesystem(struct file_system_type *fs);
2335extern struct file_system_type *get_fs_type(const char *name); 2340extern struct file_system_type *get_fs_type(const char *name);
2336extern struct super_block *get_super(struct block_device *); 2341extern struct super_block *get_super(struct block_device *);
2342extern struct super_block *get_active_super(struct block_device *bdev);
2337extern struct super_block *user_get_super(dev_t); 2343extern struct super_block *user_get_super(dev_t);
2338extern void drop_super(struct super_block *sb); 2344extern void drop_super(struct super_block *sb);
2339 2345
@@ -2381,7 +2387,8 @@ extern int buffer_migrate_page(struct address_space *,
2381#define buffer_migrate_page NULL 2387#define buffer_migrate_page NULL
2382#endif 2388#endif
2383 2389
2384extern int inode_change_ok(struct inode *, struct iattr *); 2390extern int inode_change_ok(const struct inode *, struct iattr *);
2391extern int inode_newsize_ok(const struct inode *, loff_t offset);
2385extern int __must_check inode_setattr(struct inode *, struct iattr *); 2392extern int __must_check inode_setattr(struct inode *, struct iattr *);
2386 2393
2387extern void file_update_time(struct file *file); 2394extern void file_update_time(struct file *file);
@@ -2443,7 +2450,7 @@ static int __fops ## _open(struct inode *inode, struct file *file) \
2443 __simple_attr_check_format(__fmt, 0ull); \ 2450 __simple_attr_check_format(__fmt, 0ull); \
2444 return simple_attr_open(inode, file, __get, __set, __fmt); \ 2451 return simple_attr_open(inode, file, __get, __set, __fmt); \
2445} \ 2452} \
2446static struct file_operations __fops = { \ 2453static const struct file_operations __fops = { \
2447 .owner = THIS_MODULE, \ 2454 .owner = THIS_MODULE, \
2448 .open = __fops ## _open, \ 2455 .open = __fops ## _open, \
2449 .release = simple_attr_release, \ 2456 .release = simple_attr_release, \
@@ -2467,7 +2474,7 @@ ssize_t simple_attr_write(struct file *file, const char __user *buf,
2467 size_t len, loff_t *ppos); 2474 size_t len, loff_t *ppos);
2468 2475
2469struct ctl_table; 2476struct ctl_table;
2470int proc_nr_files(struct ctl_table *table, int write, struct file *filp, 2477int proc_nr_files(struct ctl_table *table, int write,
2471 void __user *buffer, size_t *lenp, loff_t *ppos); 2478 void __user *buffer, size_t *lenp, loff_t *ppos);
2472 2479
2473int __init get_filesystem_list(char *buf); 2480int __init get_filesystem_list(char *buf);