diff options
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 70b99fbb560b..1410e5330c8d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -120,6 +120,7 @@ extern int dir_notify_enable; | |||
120 | #define MS_PRIVATE (1<<18) /* change to private */ | 120 | #define MS_PRIVATE (1<<18) /* change to private */ |
121 | #define MS_SLAVE (1<<19) /* change to slave */ | 121 | #define MS_SLAVE (1<<19) /* change to slave */ |
122 | #define MS_SHARED (1<<20) /* change to shared */ | 122 | #define MS_SHARED (1<<20) /* change to shared */ |
123 | #define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */ | ||
123 | #define MS_ACTIVE (1<<30) | 124 | #define MS_ACTIVE (1<<30) |
124 | #define MS_NOUSER (1<<31) | 125 | #define MS_NOUSER (1<<31) |
125 | 126 | ||
@@ -269,6 +270,7 @@ extern int dir_notify_enable; | |||
269 | #include <linux/types.h> | 270 | #include <linux/types.h> |
270 | #include <linux/kdev_t.h> | 271 | #include <linux/kdev_t.h> |
271 | #include <linux/dcache.h> | 272 | #include <linux/dcache.h> |
273 | #include <linux/namei.h> | ||
272 | #include <linux/stat.h> | 274 | #include <linux/stat.h> |
273 | #include <linux/cache.h> | 275 | #include <linux/cache.h> |
274 | #include <linux/kobject.h> | 276 | #include <linux/kobject.h> |
@@ -424,6 +426,7 @@ struct address_space_operations { | |||
424 | /* migrate the contents of a page to the specified target */ | 426 | /* migrate the contents of a page to the specified target */ |
425 | int (*migratepage) (struct address_space *, | 427 | int (*migratepage) (struct address_space *, |
426 | struct page *, struct page *); | 428 | struct page *, struct page *); |
429 | int (*launder_page) (struct page *); | ||
427 | }; | 430 | }; |
428 | 431 | ||
429 | struct backing_dev_info; | 432 | struct backing_dev_info; |
@@ -456,7 +459,7 @@ struct block_device { | |||
456 | struct inode * bd_inode; /* will die */ | 459 | struct inode * bd_inode; /* will die */ |
457 | int bd_openers; | 460 | int bd_openers; |
458 | struct mutex bd_mutex; /* open/close mutex */ | 461 | struct mutex bd_mutex; /* open/close mutex */ |
459 | struct mutex bd_mount_mutex; /* mount mutex */ | 462 | struct semaphore bd_mount_sem; |
460 | struct list_head bd_inodes; | 463 | struct list_head bd_inodes; |
461 | void * bd_holder; | 464 | void * bd_holder; |
462 | int bd_holders; | 465 | int bd_holders; |
@@ -482,21 +485,6 @@ struct block_device { | |||
482 | }; | 485 | }; |
483 | 486 | ||
484 | /* | 487 | /* |
485 | * bdev->bd_mutex nesting subclasses for the lock validator: | ||
486 | * | ||
487 | * 0: normal | ||
488 | * 1: 'whole' | ||
489 | * 2: 'partition' | ||
490 | */ | ||
491 | enum bdev_bd_mutex_lock_class | ||
492 | { | ||
493 | BD_MUTEX_NORMAL, | ||
494 | BD_MUTEX_WHOLE, | ||
495 | BD_MUTEX_PARTITION | ||
496 | }; | ||
497 | |||
498 | |||
499 | /* | ||
500 | * Radix-tree tags, for tagging dirty and writeback pages within the pagecache | 488 | * Radix-tree tags, for tagging dirty and writeback pages within the pagecache |
501 | * radix trees | 489 | * radix trees |
502 | */ | 490 | */ |
@@ -726,8 +714,9 @@ struct file { | |||
726 | struct list_head fu_list; | 714 | struct list_head fu_list; |
727 | struct rcu_head fu_rcuhead; | 715 | struct rcu_head fu_rcuhead; |
728 | } f_u; | 716 | } f_u; |
729 | struct dentry *f_dentry; | 717 | struct path f_path; |
730 | struct vfsmount *f_vfsmnt; | 718 | #define f_dentry f_path.dentry |
719 | #define f_vfsmnt f_path.mnt | ||
731 | const struct file_operations *f_op; | 720 | const struct file_operations *f_op; |
732 | atomic_t f_count; | 721 | atomic_t f_count; |
733 | unsigned int f_flags; | 722 | unsigned int f_flags; |
@@ -1239,7 +1228,7 @@ extern void touch_atime(struct vfsmount *mnt, struct dentry *dentry); | |||
1239 | static inline void file_accessed(struct file *file) | 1228 | static inline void file_accessed(struct file *file) |
1240 | { | 1229 | { |
1241 | if (!(file->f_flags & O_NOATIME)) | 1230 | if (!(file->f_flags & O_NOATIME)) |
1242 | touch_atime(file->f_vfsmnt, file->f_dentry); | 1231 | touch_atime(file->f_path.mnt, file->f_path.dentry); |
1243 | } | 1232 | } |
1244 | 1233 | ||
1245 | int sync_inode(struct inode *inode, struct writeback_control *wbc); | 1234 | int sync_inode(struct inode *inode, struct writeback_control *wbc); |
@@ -1499,7 +1488,6 @@ extern void bd_set_size(struct block_device *, loff_t size); | |||
1499 | extern void bd_forget(struct inode *inode); | 1488 | extern void bd_forget(struct inode *inode); |
1500 | extern void bdput(struct block_device *); | 1489 | extern void bdput(struct block_device *); |
1501 | extern struct block_device *open_by_devnum(dev_t, unsigned); | 1490 | extern struct block_device *open_by_devnum(dev_t, unsigned); |
1502 | extern struct block_device *open_partition_by_devnum(dev_t, unsigned); | ||
1503 | extern const struct address_space_operations def_blk_aops; | 1491 | extern const struct address_space_operations def_blk_aops; |
1504 | #else | 1492 | #else |
1505 | static inline void bd_forget(struct inode *inode) {} | 1493 | static inline void bd_forget(struct inode *inode) {} |
@@ -1517,7 +1505,6 @@ extern int blkdev_driver_ioctl(struct inode *inode, struct file *file, | |||
1517 | extern long compat_blkdev_ioctl(struct file *, unsigned, unsigned long); | 1505 | extern long compat_blkdev_ioctl(struct file *, unsigned, unsigned long); |
1518 | extern int blkdev_get(struct block_device *, mode_t, unsigned); | 1506 | extern int blkdev_get(struct block_device *, mode_t, unsigned); |
1519 | extern int blkdev_put(struct block_device *); | 1507 | extern int blkdev_put(struct block_device *); |
1520 | extern int blkdev_put_partition(struct block_device *); | ||
1521 | extern int bd_claim(struct block_device *, void *); | 1508 | extern int bd_claim(struct block_device *, void *); |
1522 | extern void bd_release(struct block_device *); | 1509 | extern void bd_release(struct block_device *); |
1523 | #ifdef CONFIG_SYSFS | 1510 | #ifdef CONFIG_SYSFS |
@@ -1632,7 +1619,7 @@ static inline void put_write_access(struct inode * inode) | |||
1632 | static inline void allow_write_access(struct file *file) | 1619 | static inline void allow_write_access(struct file *file) |
1633 | { | 1620 | { |
1634 | if (file) | 1621 | if (file) |
1635 | atomic_inc(&file->f_dentry->d_inode->i_writecount); | 1622 | atomic_inc(&file->f_path.dentry->d_inode->i_writecount); |
1636 | } | 1623 | } |
1637 | extern int do_pipe(int *); | 1624 | extern int do_pipe(int *); |
1638 | extern struct file *create_read_pipe(struct file *f); | 1625 | extern struct file *create_read_pipe(struct file *f); |