aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-06-24 08:41:41 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-06-24 13:07:53 -0400
commit816724e65c72a90a44fbad0ef0b59b186c85fa90 (patch)
tree421fa29aedff988e392f92780637553e275d37a0 /include/linux/fs.h
parent70ac4385a13f78bc478f26d317511893741b05bd (diff)
parentd384ea691fe4ea8c2dd5b9b8d9042eb181776f18 (diff)
Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
Conflicts: fs/nfs/inode.c fs/super.c Fix conflicts between patch 'NFS: Split fs/nfs/inode.c' and patch 'VFS: Permit filesystem to override root dentry on mount'
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h42
1 files changed, 24 insertions, 18 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 2d5a112e8404..2d8b348c1192 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -376,7 +376,8 @@ struct address_space_operations {
376 struct page* (*get_xip_page)(struct address_space *, sector_t, 376 struct page* (*get_xip_page)(struct address_space *, sector_t,
377 int); 377 int);
378 /* migrate the contents of a page to the specified target */ 378 /* migrate the contents of a page to the specified target */
379 int (*migratepage) (struct page *, struct page *); 379 int (*migratepage) (struct address_space *,
380 struct page *, struct page *);
380}; 381};
381 382
382struct backing_dev_info; 383struct backing_dev_info;
@@ -682,6 +683,7 @@ extern spinlock_t files_lock;
682#define FL_FLOCK 2 683#define FL_FLOCK 2
683#define FL_ACCESS 8 /* not trying to lock, just looking */ 684#define FL_ACCESS 8 /* not trying to lock, just looking */
684#define FL_LEASE 32 /* lease held on this file */ 685#define FL_LEASE 32 /* lease held on this file */
686#define FL_CLOSE 64 /* unlock on close */
685#define FL_SLEEP 128 /* A blocking lock */ 687#define FL_SLEEP 128 /* A blocking lock */
686 688
687/* 689/*
@@ -774,7 +776,6 @@ extern int posix_lock_file_conf(struct file *, struct file_lock *, struct file_l
774extern int posix_lock_file(struct file *, struct file_lock *); 776extern int posix_lock_file(struct file *, struct file_lock *);
775extern int posix_lock_file_wait(struct file *, struct file_lock *); 777extern int posix_lock_file_wait(struct file *, struct file_lock *);
776extern int posix_unblock_lock(struct file *, struct file_lock *); 778extern int posix_unblock_lock(struct file *, struct file_lock *);
777extern int posix_locks_deadlock(struct file_lock *, struct file_lock *);
778extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl); 779extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl);
779extern int __break_lease(struct inode *inode, unsigned int flags); 780extern int __break_lease(struct inode *inode, unsigned int flags);
780extern void lease_get_mtime(struct inode *, struct timespec *time); 781extern void lease_get_mtime(struct inode *, struct timespec *time);
@@ -782,7 +783,6 @@ extern int setlease(struct file *, long, struct file_lock **);
782extern int lease_modify(struct file_lock **, int); 783extern int lease_modify(struct file_lock **, int);
783extern int lock_may_read(struct inode *, loff_t start, unsigned long count); 784extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
784extern int lock_may_write(struct inode *, loff_t start, unsigned long count); 785extern int lock_may_write(struct inode *, loff_t start, unsigned long count);
785extern void steal_locks(fl_owner_t from);
786 786
787struct fasync_struct { 787struct fasync_struct {
788 int magic; 788 int magic;
@@ -1025,7 +1025,7 @@ struct file_operations {
1025 long (*compat_ioctl) (struct file *, unsigned int, unsigned long); 1025 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
1026 int (*mmap) (struct file *, struct vm_area_struct *); 1026 int (*mmap) (struct file *, struct vm_area_struct *);
1027 int (*open) (struct inode *, struct file *); 1027 int (*open) (struct inode *, struct file *);
1028 int (*flush) (struct file *); 1028 int (*flush) (struct file *, fl_owner_t id);
1029 int (*release) (struct inode *, struct file *); 1029 int (*release) (struct inode *, struct file *);
1030 int (*fsync) (struct file *, struct dentry *, int datasync); 1030 int (*fsync) (struct file *, struct dentry *, int datasync);
1031 int (*aio_fsync) (struct kiocb *, int datasync); 1031 int (*aio_fsync) (struct kiocb *, int datasync);
@@ -1097,7 +1097,7 @@ struct super_operations {
1097 int (*sync_fs)(struct super_block *sb, int wait); 1097 int (*sync_fs)(struct super_block *sb, int wait);
1098 void (*write_super_lockfs) (struct super_block *); 1098 void (*write_super_lockfs) (struct super_block *);
1099 void (*unlockfs) (struct super_block *); 1099 void (*unlockfs) (struct super_block *);
1100 int (*statfs) (struct super_block *, struct kstatfs *); 1100 int (*statfs) (struct dentry *, struct kstatfs *);
1101 int (*remount_fs) (struct super_block *, int *, char *); 1101 int (*remount_fs) (struct super_block *, int *, char *);
1102 void (*clear_inode) (struct inode *); 1102 void (*clear_inode) (struct inode *);
1103 void (*umount_begin) (struct vfsmount *, int); 1103 void (*umount_begin) (struct vfsmount *, int);
@@ -1270,23 +1270,26 @@ find_exported_dentry(struct super_block *sb, void *obj, void *parent,
1270struct file_system_type { 1270struct file_system_type {
1271 const char *name; 1271 const char *name;
1272 int fs_flags; 1272 int fs_flags;
1273 struct super_block *(*get_sb) (struct file_system_type *, int, 1273 int (*get_sb) (struct file_system_type *, int,
1274 const char *, void *); 1274 const char *, void *, struct vfsmount *);
1275 void (*kill_sb) (struct super_block *); 1275 void (*kill_sb) (struct super_block *);
1276 struct module *owner; 1276 struct module *owner;
1277 struct file_system_type * next; 1277 struct file_system_type * next;
1278 struct list_head fs_supers; 1278 struct list_head fs_supers;
1279}; 1279};
1280 1280
1281struct super_block *get_sb_bdev(struct file_system_type *fs_type, 1281extern int get_sb_bdev(struct file_system_type *fs_type,
1282 int flags, const char *dev_name, void *data, 1282 int flags, const char *dev_name, void *data,
1283 int (*fill_super)(struct super_block *, void *, int)); 1283 int (*fill_super)(struct super_block *, void *, int),
1284struct super_block *get_sb_single(struct file_system_type *fs_type, 1284 struct vfsmount *mnt);
1285extern int get_sb_single(struct file_system_type *fs_type,
1285 int flags, void *data, 1286 int flags, void *data,
1286 int (*fill_super)(struct super_block *, void *, int)); 1287 int (*fill_super)(struct super_block *, void *, int),
1287struct super_block *get_sb_nodev(struct file_system_type *fs_type, 1288 struct vfsmount *mnt);
1289extern int get_sb_nodev(struct file_system_type *fs_type,
1288 int flags, void *data, 1290 int flags, void *data,
1289 int (*fill_super)(struct super_block *, void *, int)); 1291 int (*fill_super)(struct super_block *, void *, int),
1292 struct vfsmount *mnt);
1290void generic_shutdown_super(struct super_block *sb); 1293void generic_shutdown_super(struct super_block *sb);
1291void kill_block_super(struct super_block *sb); 1294void kill_block_super(struct super_block *sb);
1292void kill_anon_super(struct super_block *sb); 1295void kill_anon_super(struct super_block *sb);
@@ -1297,8 +1300,10 @@ struct super_block *sget(struct file_system_type *type,
1297 int (*test)(struct super_block *,void *), 1300 int (*test)(struct super_block *,void *),
1298 int (*set)(struct super_block *,void *), 1301 int (*set)(struct super_block *,void *),
1299 void *data); 1302 void *data);
1300struct super_block *get_sb_pseudo(struct file_system_type *, char *, 1303extern int get_sb_pseudo(struct file_system_type *, char *,
1301 struct super_operations *ops, unsigned long); 1304 struct super_operations *ops, unsigned long,
1305 struct vfsmount *mnt);
1306extern int simple_set_mnt(struct vfsmount *mnt, struct super_block *sb);
1302int __put_super(struct super_block *sb); 1307int __put_super(struct super_block *sb);
1303int __put_super_and_need_restart(struct super_block *sb); 1308int __put_super_and_need_restart(struct super_block *sb);
1304void unnamed_dev_init(void); 1309void unnamed_dev_init(void);
@@ -1321,7 +1326,7 @@ extern struct vfsmount *copy_tree(struct vfsmount *, struct dentry *, int);
1321extern void mnt_set_mountpoint(struct vfsmount *, struct dentry *, 1326extern void mnt_set_mountpoint(struct vfsmount *, struct dentry *,
1322 struct vfsmount *); 1327 struct vfsmount *);
1323 1328
1324extern int vfs_statfs(struct super_block *, struct kstatfs *); 1329extern int vfs_statfs(struct dentry *, struct kstatfs *);
1325 1330
1326/* /sys/fs */ 1331/* /sys/fs */
1327extern struct subsystem fs_subsys; 1332extern struct subsystem fs_subsys;
@@ -1742,7 +1747,7 @@ extern int dcache_dir_close(struct inode *, struct file *);
1742extern loff_t dcache_dir_lseek(struct file *, loff_t, int); 1747extern loff_t dcache_dir_lseek(struct file *, loff_t, int);
1743extern int dcache_readdir(struct file *, void *, filldir_t); 1748extern int dcache_readdir(struct file *, void *, filldir_t);
1744extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *); 1749extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *);
1745extern int simple_statfs(struct super_block *, struct kstatfs *); 1750extern int simple_statfs(struct dentry *, struct kstatfs *);
1746extern int simple_link(struct dentry *, struct inode *, struct dentry *); 1751extern int simple_link(struct dentry *, struct inode *, struct dentry *);
1747extern int simple_unlink(struct inode *, struct dentry *); 1752extern int simple_unlink(struct inode *, struct dentry *);
1748extern int simple_rmdir(struct inode *, struct dentry *); 1753extern int simple_rmdir(struct inode *, struct dentry *);
@@ -1768,7 +1773,8 @@ extern void simple_release_fs(struct vfsmount **mount, int *count);
1768extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t); 1773extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t);
1769 1774
1770#ifdef CONFIG_MIGRATION 1775#ifdef CONFIG_MIGRATION
1771extern int buffer_migrate_page(struct page *, struct page *); 1776extern int buffer_migrate_page(struct address_space *,
1777 struct page *, struct page *);
1772#else 1778#else
1773#define buffer_migrate_page NULL 1779#define buffer_migrate_page NULL
1774#endif 1780#endif