diff options
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 6d6226732c93..1b5f502a4b8f 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -104,6 +104,10 @@ extern int dir_notify_enable; | |||
104 | #define MS_MOVE 8192 | 104 | #define MS_MOVE 8192 |
105 | #define MS_REC 16384 | 105 | #define MS_REC 16384 |
106 | #define MS_VERBOSE 32768 | 106 | #define MS_VERBOSE 32768 |
107 | #define MS_UNBINDABLE (1<<17) /* change to unbindable */ | ||
108 | #define MS_PRIVATE (1<<18) /* change to private */ | ||
109 | #define MS_SLAVE (1<<19) /* change to slave */ | ||
110 | #define MS_SHARED (1<<20) /* change to shared */ | ||
107 | #define MS_POSIXACL (1<<16) /* VFS does not apply the umask */ | 111 | #define MS_POSIXACL (1<<16) /* VFS does not apply the umask */ |
108 | #define MS_ACTIVE (1<<30) | 112 | #define MS_ACTIVE (1<<30) |
109 | #define MS_NOUSER (1<<31) | 113 | #define MS_NOUSER (1<<31) |
@@ -264,6 +268,7 @@ typedef void (dio_iodone_t)(struct kiocb *iocb, loff_t offset, | |||
264 | #define ATTR_ATTR_FLAG 1024 | 268 | #define ATTR_ATTR_FLAG 1024 |
265 | #define ATTR_KILL_SUID 2048 | 269 | #define ATTR_KILL_SUID 2048 |
266 | #define ATTR_KILL_SGID 4096 | 270 | #define ATTR_KILL_SGID 4096 |
271 | #define ATTR_FILE 8192 | ||
267 | 272 | ||
268 | /* | 273 | /* |
269 | * This is the Inode Attributes structure, used for notify_change(). It | 274 | * This is the Inode Attributes structure, used for notify_change(). It |
@@ -283,6 +288,13 @@ struct iattr { | |||
283 | struct timespec ia_atime; | 288 | struct timespec ia_atime; |
284 | struct timespec ia_mtime; | 289 | struct timespec ia_mtime; |
285 | struct timespec ia_ctime; | 290 | struct timespec ia_ctime; |
291 | |||
292 | /* | ||
293 | * Not an attribute, but an auxilary info for filesystems wanting to | ||
294 | * implement an ftruncate() like method. NOTE: filesystem should | ||
295 | * check for (ia_valid & ATTR_FILE), and not for (ia_file != NULL). | ||
296 | */ | ||
297 | struct file *ia_file; | ||
286 | }; | 298 | }; |
287 | 299 | ||
288 | /* | 300 | /* |
@@ -1088,6 +1100,8 @@ int sync_inode(struct inode *inode, struct writeback_control *wbc); | |||
1088 | * @get_name: find the name for a given inode in a given directory | 1100 | * @get_name: find the name for a given inode in a given directory |
1089 | * @get_parent: find the parent of a given directory | 1101 | * @get_parent: find the parent of a given directory |
1090 | * @get_dentry: find a dentry for the inode given a file handle sub-fragment | 1102 | * @get_dentry: find a dentry for the inode given a file handle sub-fragment |
1103 | * @find_exported_dentry: | ||
1104 | * set by the exporting module to a standard helper function. | ||
1091 | * | 1105 | * |
1092 | * Description: | 1106 | * Description: |
1093 | * The export_operations structure provides a means for nfsd to communicate | 1107 | * The export_operations structure provides a means for nfsd to communicate |
@@ -1239,7 +1253,12 @@ extern int unregister_filesystem(struct file_system_type *); | |||
1239 | extern struct vfsmount *kern_mount(struct file_system_type *); | 1253 | extern struct vfsmount *kern_mount(struct file_system_type *); |
1240 | extern int may_umount_tree(struct vfsmount *); | 1254 | extern int may_umount_tree(struct vfsmount *); |
1241 | extern int may_umount(struct vfsmount *); | 1255 | extern int may_umount(struct vfsmount *); |
1256 | extern void umount_tree(struct vfsmount *, int, struct list_head *); | ||
1257 | extern void release_mounts(struct list_head *); | ||
1242 | extern long do_mount(char *, char *, char *, unsigned long, void *); | 1258 | extern long do_mount(char *, char *, char *, unsigned long, void *); |
1259 | extern struct vfsmount *copy_tree(struct vfsmount *, struct dentry *, int); | ||
1260 | extern void mnt_set_mountpoint(struct vfsmount *, struct dentry *, | ||
1261 | struct vfsmount *); | ||
1243 | 1262 | ||
1244 | extern int vfs_statfs(struct super_block *, struct kstatfs *); | 1263 | extern int vfs_statfs(struct super_block *, struct kstatfs *); |
1245 | 1264 | ||
@@ -1288,7 +1307,7 @@ static inline int break_lease(struct inode *inode, unsigned int mode) | |||
1288 | 1307 | ||
1289 | /* fs/open.c */ | 1308 | /* fs/open.c */ |
1290 | 1309 | ||
1291 | extern int do_truncate(struct dentry *, loff_t start); | 1310 | extern int do_truncate(struct dentry *, loff_t start, struct file *filp); |
1292 | extern long do_sys_open(const char __user *filename, int flags, int mode); | 1311 | extern long do_sys_open(const char __user *filename, int flags, int mode); |
1293 | extern struct file *filp_open(const char *, int, int); | 1312 | extern struct file *filp_open(const char *, int, int); |
1294 | extern struct file * dentry_open(struct dentry *, struct vfsmount *, int); | 1313 | extern struct file * dentry_open(struct dentry *, struct vfsmount *, int); |