aboutsummaryrefslogtreecommitdiffstats
path: root/fs/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/internal.h')
-rw-r--r--fs/internal.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/fs/internal.h b/fs/internal.h
index 0663568b1247..b29c46e4e32f 100644
--- a/fs/internal.h
+++ b/fs/internal.h
@@ -12,6 +12,7 @@
12#include <linux/lglock.h> 12#include <linux/lglock.h>
13 13
14struct super_block; 14struct super_block;
15struct file_system_type;
15struct linux_binprm; 16struct linux_binprm;
16struct path; 17struct path;
17 18
@@ -61,10 +62,9 @@ extern int check_unsafe_exec(struct linux_binprm *);
61extern int copy_mount_options(const void __user *, unsigned long *); 62extern int copy_mount_options(const void __user *, unsigned long *);
62extern int copy_mount_string(const void __user *, char **); 63extern int copy_mount_string(const void __user *, char **);
63 64
64extern void free_vfsmnt(struct vfsmount *);
65extern struct vfsmount *alloc_vfsmnt(const char *);
66extern unsigned int mnt_get_count(struct vfsmount *mnt); 65extern unsigned int mnt_get_count(struct vfsmount *mnt);
67extern struct vfsmount *__lookup_mnt(struct vfsmount *, struct dentry *, int); 66extern struct vfsmount *__lookup_mnt(struct vfsmount *, struct dentry *, int);
67extern struct vfsmount *lookup_mnt(struct path *);
68extern void mnt_set_mountpoint(struct vfsmount *, struct dentry *, 68extern void mnt_set_mountpoint(struct vfsmount *, struct dentry *,
69 struct vfsmount *); 69 struct vfsmount *);
70extern void release_mounts(struct list_head *); 70extern void release_mounts(struct list_head *);
@@ -99,6 +99,8 @@ extern struct file *get_empty_filp(void);
99extern int do_remount_sb(struct super_block *, int, void *, int); 99extern int do_remount_sb(struct super_block *, int, void *, int);
100extern void __put_super(struct super_block *sb); 100extern void __put_super(struct super_block *sb);
101extern void put_super(struct super_block *sb); 101extern void put_super(struct super_block *sb);
102extern struct dentry *mount_fs(struct file_system_type *,
103 int, const char *, void *);
102 104
103/* 105/*
104 * open.c 106 * open.c
@@ -106,10 +108,30 @@ extern void put_super(struct super_block *sb);
106struct nameidata; 108struct nameidata;
107extern struct file *nameidata_to_filp(struct nameidata *); 109extern struct file *nameidata_to_filp(struct nameidata *);
108extern void release_open_intent(struct nameidata *); 110extern void release_open_intent(struct nameidata *);
111struct open_flags {
112 int open_flag;
113 int mode;
114 int acc_mode;
115 int intent;
116};
117extern struct file *do_filp_open(int dfd, const char *pathname,
118 const struct open_flags *op, int lookup_flags);
119extern struct file *do_file_open_root(struct dentry *, struct vfsmount *,
120 const char *, const struct open_flags *, int lookup_flags);
121
122extern long do_handle_open(int mountdirfd,
123 struct file_handle __user *ufh, int open_flag);
109 124
110/* 125/*
111 * inode.c 126 * inode.c
112 */ 127 */
128extern spinlock_t inode_sb_list_lock;
129
130/*
131 * fs-writeback.c
132 */
133extern void inode_wb_list_del(struct inode *inode);
134
113extern int get_nr_dirty_inodes(void); 135extern int get_nr_dirty_inodes(void);
114extern void evict_inodes(struct super_block *); 136extern void evict_inodes(struct super_block *);
115extern int invalidate_inodes(struct super_block *); 137extern int invalidate_inodes(struct super_block *, bool);