diff options
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 7aacf31418fe..4bc8169fb5a1 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -525,6 +525,7 @@ enum positive_aop_returns { | |||
525 | struct page; | 525 | struct page; |
526 | struct address_space; | 526 | struct address_space; |
527 | struct writeback_control; | 527 | struct writeback_control; |
528 | enum migrate_mode; | ||
528 | 529 | ||
529 | struct iov_iter { | 530 | struct iov_iter { |
530 | const struct iovec *iov; | 531 | const struct iovec *iov; |
@@ -609,9 +610,12 @@ struct address_space_operations { | |||
609 | loff_t offset, unsigned long nr_segs); | 610 | loff_t offset, unsigned long nr_segs); |
610 | int (*get_xip_mem)(struct address_space *, pgoff_t, int, | 611 | int (*get_xip_mem)(struct address_space *, pgoff_t, int, |
611 | void **, unsigned long *); | 612 | void **, unsigned long *); |
612 | /* migrate the contents of a page to the specified target */ | 613 | /* |
614 | * migrate the contents of a page to the specified target. If sync | ||
615 | * is false, it must not block. | ||
616 | */ | ||
613 | int (*migratepage) (struct address_space *, | 617 | int (*migratepage) (struct address_space *, |
614 | struct page *, struct page *); | 618 | struct page *, struct page *, enum migrate_mode); |
615 | int (*launder_page) (struct page *); | 619 | int (*launder_page) (struct page *); |
616 | int (*is_partially_uptodate) (struct page *, read_descriptor_t *, | 620 | int (*is_partially_uptodate) (struct page *, read_descriptor_t *, |
617 | unsigned long); | 621 | unsigned long); |
@@ -656,6 +660,7 @@ struct address_space { | |||
656 | * must be enforced here for CRIS, to let the least significant bit | 660 | * must be enforced here for CRIS, to let the least significant bit |
657 | * of struct page's "mapping" pointer be used for PAGE_MAPPING_ANON. | 661 | * of struct page's "mapping" pointer be used for PAGE_MAPPING_ANON. |
658 | */ | 662 | */ |
663 | struct request_queue; | ||
659 | 664 | ||
660 | struct block_device { | 665 | struct block_device { |
661 | dev_t bd_dev; /* not a kdev_t - it's a search key */ | 666 | dev_t bd_dev; /* not a kdev_t - it's a search key */ |
@@ -678,6 +683,7 @@ struct block_device { | |||
678 | unsigned bd_part_count; | 683 | unsigned bd_part_count; |
679 | int bd_invalidated; | 684 | int bd_invalidated; |
680 | struct gendisk * bd_disk; | 685 | struct gendisk * bd_disk; |
686 | struct request_queue * bd_queue; | ||
681 | struct list_head bd_list; | 687 | struct list_head bd_list; |
682 | /* | 688 | /* |
683 | * Private data. You must have bd_claim'ed the block_device | 689 | * Private data. You must have bd_claim'ed the block_device |
@@ -1001,6 +1007,7 @@ struct file { | |||
1001 | #ifdef CONFIG_EPOLL | 1007 | #ifdef CONFIG_EPOLL |
1002 | /* Used by fs/eventpoll.c to link all the hooks to this file */ | 1008 | /* Used by fs/eventpoll.c to link all the hooks to this file */ |
1003 | struct list_head f_ep_links; | 1009 | struct list_head f_ep_links; |
1010 | struct list_head f_tfile_llink; | ||
1004 | #endif /* #ifdef CONFIG_EPOLL */ | 1011 | #endif /* #ifdef CONFIG_EPOLL */ |
1005 | struct address_space *f_mapping; | 1012 | struct address_space *f_mapping; |
1006 | #ifdef CONFIG_DEBUG_WRITECOUNT | 1013 | #ifdef CONFIG_DEBUG_WRITECOUNT |
@@ -2536,7 +2543,8 @@ extern int generic_check_addressable(unsigned, u64); | |||
2536 | 2543 | ||
2537 | #ifdef CONFIG_MIGRATION | 2544 | #ifdef CONFIG_MIGRATION |
2538 | extern int buffer_migrate_page(struct address_space *, | 2545 | extern int buffer_migrate_page(struct address_space *, |
2539 | struct page *, struct page *); | 2546 | struct page *, struct page *, |
2547 | enum migrate_mode); | ||
2540 | #else | 2548 | #else |
2541 | #define buffer_migrate_page NULL | 2549 | #define buffer_migrate_page NULL |
2542 | #endif | 2550 | #endif |