Blame view
fs/internal.h
4.67 KB
07f3f05c1
|
1 2 3 4 5 6 7 8 9 10 |
/* fs/ internal definitions * * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. * Written by David Howells (dhowells@redhat.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ |
5e6d12b2c
|
11 |
struct super_block; |
9d412a43c
|
12 |
struct file_system_type; |
ae259a9c8
|
13 |
struct iomap; |
befb503ca
|
14 |
struct iomap_ops; |
a6f76f23d
|
15 |
struct linux_binprm; |
3e93cd671
|
16 |
struct path; |
c71053659
|
17 |
struct mount; |
503c358cf
|
18 |
struct shrink_control; |
5e6d12b2c
|
19 |
|
07f3f05c1
|
20 21 22 |
/* * block_dev.c */ |
9361401eb
|
23 |
#ifdef CONFIG_BLOCK |
07f3f05c1
|
24 |
extern void __init bdev_cache_init(void); |
5cee5815d
|
25 |
extern int __sync_blockdev(struct block_device *bdev, int wait); |
9361401eb
|
26 |
#else |
5e6d12b2c
|
27 28 29 |
static inline void bdev_cache_init(void) { } |
9361401eb
|
30 |
|
5cee5815d
|
31 32 33 34 |
static inline int __sync_blockdev(struct block_device *bdev, int wait) { return 0; } |
9361401eb
|
35 |
#endif |
7b0de42d7
|
36 |
|
07f3f05c1
|
37 |
/* |
4db96b71e
|
38 39 40 |
* buffer.c */ extern void guard_bio_eod(int rw, struct bio *bio); |
ae259a9c8
|
41 42 |
extern int __block_write_begin_int(struct page *page, loff_t pos, unsigned len, get_block_t *get_block, struct iomap *iomap); |
4db96b71e
|
43 44 |
/* |
07f3f05c1
|
45 46 47 48 49 |
* char_dev.c */ extern void __init chrdev_init(void); /* |
0bdaea901
|
50 51 |
* namei.c */ |
197df04c7
|
52 53 54 |
extern int user_path_mountpoint_at(int, const char __user *, unsigned int, struct path *); extern int vfs_path_lookup(struct dentry *, struct vfsmount *, const char *, unsigned int, struct path *); |
0bdaea901
|
55 56 |
/* |
07f3f05c1
|
57 58 |
* namespace.c */ |
b40ef8696
|
59 |
extern void *copy_mount_options(const void __user *); |
b8850d1fa
|
60 |
extern char *copy_mount_string(const void __user *); |
6d59e7f58
|
61 |
|
0f60f240d
|
62 |
extern struct vfsmount *lookup_mnt(struct path *); |
19a167af7
|
63 |
extern int finish_automount(struct vfsmount *, struct path *); |
6d59e7f58
|
64 |
|
4ed5e82fe
|
65 |
extern int sb_prepare_remount_readonly(struct super_block *); |
f03c65993
|
66 |
|
6d59e7f58
|
67 |
extern void __init mnt_init(void); |
3e93cd671
|
68 |
|
eb04c2828
|
69 70 71 72 |
extern int __mnt_want_write(struct vfsmount *); extern int __mnt_want_write_file(struct file *); extern void __mnt_drop_write(struct vfsmount *); extern void __mnt_drop_write_file(struct file *); |
47cd813f2
|
73 |
|
3e93cd671
|
74 75 76 |
/* * fs_struct.c */ |
dcf787f39
|
77 |
extern void chroot_fs_refs(const struct path *, const struct path *); |
864d7c4c0
|
78 79 80 81 |
/* * file_table.c */ |
e81e3f4dc
|
82 |
extern struct file *get_empty_filp(void); |
62c6943b4
|
83 84 85 86 87 |
/* * super.c */ extern int do_remount_sb(struct super_block *, int, void *, int); |
eb6ef3df4
|
88 |
extern bool trylock_super(struct super_block *sb); |
9d412a43c
|
89 90 |
extern struct dentry *mount_fs(struct file_system_type *, int, const char *, void *); |
cf31e70d6
|
91 |
extern struct super_block *user_get_super(dev_t); |
482928d59
|
92 93 94 95 |
/* * open.c */ |
47c805dc2
|
96 97 |
struct open_flags { int open_flag; |
a218d0fdc
|
98 |
umode_t mode; |
47c805dc2
|
99 100 |
int acc_mode; int intent; |
f9652e10c
|
101 |
int lookup_flags; |
47c805dc2
|
102 |
}; |
669abf4e5
|
103 |
extern struct file *do_filp_open(int dfd, struct filename *pathname, |
f9652e10c
|
104 |
const struct open_flags *op); |
73d049a40
|
105 |
extern struct file *do_file_open_root(struct dentry *, struct vfsmount *, |
f9652e10c
|
106 |
const char *, const struct open_flags *); |
a8dade34e
|
107 |
|
becfd1f37
|
108 109 |
extern long do_handle_open(int mountdirfd, struct file_handle __user *ufh, int open_flag); |
90ad1a8ec
|
110 |
extern int open_check_o_direct(struct file *f); |
4bacc9c92
|
111 |
extern int vfs_open(const struct path *, struct file *, const struct cred *); |
9a08c352d
|
112 |
extern struct file *filp_clone_open(struct file *); |
becfd1f37
|
113 |
|
a8dade34e
|
114 115 116 |
/* * inode.c */ |
503c358cf
|
117 |
extern long prune_icache_sb(struct super_block *sb, struct shrink_control *sc); |
4eff96dd5
|
118 |
extern void inode_add_lru(struct inode *inode); |
f0fce87c3
|
119 |
extern int dentry_needs_remove_privs(struct dentry *dentry); |
55fa6091d
|
120 |
|
598e3c8f7
|
121 122 123 124 125 126 127 128 |
extern bool __atime_needs_update(const struct path *, struct inode *, bool); static inline bool atime_needs_update_rcu(const struct path *path, struct inode *inode) { return __atime_needs_update(path, inode, true); } extern bool atime_needs_update_rcu(const struct path *, struct inode *); |
a66979aba
|
129 130 131 |
/* * fs-writeback.c */ |
c7f540849
|
132 |
extern void inode_io_list_del(struct inode *inode); |
a66979aba
|
133 |
|
3942c07cc
|
134 |
extern long get_nr_dirty_inodes(void); |
a4cdbd8bf
|
135 |
extern void evict_inodes(struct super_block *); |
93b270f76
|
136 |
extern int invalidate_inodes(struct super_block *, bool); |
a4464dbc0
|
137 138 139 140 141 |
/* * dcache.c */ extern struct dentry *__d_alloc(struct super_block *, const struct qstr *); |
eed810076
|
142 |
extern int d_set_mounted(struct dentry *dentry); |
503c358cf
|
143 |
extern long prune_dcache_sb(struct super_block *sb, struct shrink_control *sc); |
ba65dc5ef
|
144 |
extern struct dentry *d_alloc_cursor(struct dentry *); |
06ae43f34
|
145 146 147 148 |
/* * read_write.c */ |
68d70d03f
|
149 |
extern int rw_verify_area(int, struct file *, const loff_t *, size_t); |
599a0ac14
|
150 151 152 153 154 |
/* * pipe.c */ extern const struct file_operations pipefifo_fops; |
8fa1f1c2b
|
155 156 157 158 |
/* * fs_pin.c */ |
fdab684d7
|
159 |
extern void group_pin_kill(struct hlist_head *p); |
8fa1f1c2b
|
160 |
extern void mnt_pin_kill(struct mount *m); |
e149ed2b8
|
161 162 163 164 |
/* * fs/nsfs.c */ |
be218aa2e
|
165 |
extern const struct dentry_operations ns_dentry_operations; |
66cf191f3
|
166 167 168 169 170 171 172 |
/* * fs/ioctl.c */ extern int do_vfs_ioctl(struct file *file, unsigned int fd, unsigned int cmd, unsigned long arg); extern long vfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg); |
befb503ca
|
173 174 175 176 177 178 179 180 181 182 |
/* * iomap support: */ typedef loff_t (*iomap_actor_t)(struct inode *inode, loff_t pos, loff_t len, void *data, struct iomap *iomap); loff_t iomap_apply(struct inode *inode, loff_t pos, loff_t length, unsigned flags, struct iomap_ops *ops, void *data, iomap_actor_t actor); |