diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-11-11 05:51:24 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-11 05:51:24 -0500 |
commit | 3b621ee5df437d3f332a635ab6421aaa61a7dc2b (patch) | |
tree | c4a5236cee8eb7418770802313d36a55f1cc0b1e /include/linux/fs.h | |
parent | 7211bb9b64f17b23834d91fc3d0c1d78671ee9a8 (diff) | |
parent | 5e04e7fe774794b837e1d3897e6b96ae2d06679a (diff) |
Merge branch 'master'
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 6d6226732c93..cc35b6ac778d 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 | /* |
@@ -862,6 +874,7 @@ static inline void unlock_super(struct super_block * sb) | |||
862 | /* | 874 | /* |
863 | * VFS helper functions.. | 875 | * VFS helper functions.. |
864 | */ | 876 | */ |
877 | extern int vfs_permission(struct nameidata *, int); | ||
865 | extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *); | 878 | extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *); |
866 | extern int vfs_mkdir(struct inode *, struct dentry *, int); | 879 | extern int vfs_mkdir(struct inode *, struct dentry *, int); |
867 | extern int vfs_mknod(struct inode *, struct dentry *, int, dev_t); | 880 | extern int vfs_mknod(struct inode *, struct dentry *, int, dev_t); |
@@ -877,6 +890,11 @@ extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct de | |||
877 | extern void dentry_unhash(struct dentry *dentry); | 890 | extern void dentry_unhash(struct dentry *dentry); |
878 | 891 | ||
879 | /* | 892 | /* |
893 | * VFS file helper functions. | ||
894 | */ | ||
895 | extern int file_permission(struct file *, int); | ||
896 | |||
897 | /* | ||
880 | * File types | 898 | * File types |
881 | * | 899 | * |
882 | * NOTE! These match bits 12..15 of stat.st_mode | 900 | * NOTE! These match bits 12..15 of stat.st_mode |
@@ -1088,6 +1106,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 | 1106 | * @get_name: find the name for a given inode in a given directory |
1089 | * @get_parent: find the parent of a given directory | 1107 | * @get_parent: find the parent of a given directory |
1090 | * @get_dentry: find a dentry for the inode given a file handle sub-fragment | 1108 | * @get_dentry: find a dentry for the inode given a file handle sub-fragment |
1109 | * @find_exported_dentry: | ||
1110 | * set by the exporting module to a standard helper function. | ||
1091 | * | 1111 | * |
1092 | * Description: | 1112 | * Description: |
1093 | * The export_operations structure provides a means for nfsd to communicate | 1113 | * The export_operations structure provides a means for nfsd to communicate |
@@ -1239,7 +1259,12 @@ extern int unregister_filesystem(struct file_system_type *); | |||
1239 | extern struct vfsmount *kern_mount(struct file_system_type *); | 1259 | extern struct vfsmount *kern_mount(struct file_system_type *); |
1240 | extern int may_umount_tree(struct vfsmount *); | 1260 | extern int may_umount_tree(struct vfsmount *); |
1241 | extern int may_umount(struct vfsmount *); | 1261 | extern int may_umount(struct vfsmount *); |
1262 | extern void umount_tree(struct vfsmount *, int, struct list_head *); | ||
1263 | extern void release_mounts(struct list_head *); | ||
1242 | extern long do_mount(char *, char *, char *, unsigned long, void *); | 1264 | extern long do_mount(char *, char *, char *, unsigned long, void *); |
1265 | extern struct vfsmount *copy_tree(struct vfsmount *, struct dentry *, int); | ||
1266 | extern void mnt_set_mountpoint(struct vfsmount *, struct dentry *, | ||
1267 | struct vfsmount *); | ||
1243 | 1268 | ||
1244 | extern int vfs_statfs(struct super_block *, struct kstatfs *); | 1269 | extern int vfs_statfs(struct super_block *, struct kstatfs *); |
1245 | 1270 | ||
@@ -1288,7 +1313,7 @@ static inline int break_lease(struct inode *inode, unsigned int mode) | |||
1288 | 1313 | ||
1289 | /* fs/open.c */ | 1314 | /* fs/open.c */ |
1290 | 1315 | ||
1291 | extern int do_truncate(struct dentry *, loff_t start); | 1316 | 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); | 1317 | extern long do_sys_open(const char __user *filename, int flags, int mode); |
1293 | extern struct file *filp_open(const char *, int, int); | 1318 | extern struct file *filp_open(const char *, int, int); |
1294 | extern struct file * dentry_open(struct dentry *, struct vfsmount *, int); | 1319 | extern struct file * dentry_open(struct dentry *, struct vfsmount *, int); |