mm: migrate: support non-lru movable page migration
[deliverable/linux.git] / include / linux / fs.h
index dd288148a6b15f2ea958441e628f5ed2a729faff..97fe08d17d890d88b597841bf19d0c912a21d04e 100644 (file)
@@ -402,6 +402,8 @@ struct address_space_operations {
         */
        int (*migratepage) (struct address_space *,
                        struct page *, struct page *, enum migrate_mode);
+       bool (*isolate_page)(struct page *, isolate_mode_t);
+       void (*putback_page)(struct page *);
        int (*launder_page) (struct page *);
        int (*is_partially_uptodate) (struct page *, unsigned long,
                                        unsigned long);
@@ -665,6 +667,7 @@ struct inode {
 #endif
        struct list_head        i_lru;          /* inode LRU list */
        struct list_head        i_sb_list;
+       struct list_head        i_wb_list;      /* backing dev writeback list */
        union {
                struct hlist_head       i_dentry;
                struct rcu_head         i_rcu;
@@ -1448,6 +1451,9 @@ struct super_block {
        /* s_inode_list_lock protects s_inodes */
        spinlock_t              s_inode_list_lock ____cacheline_aligned_in_smp;
        struct list_head        s_inodes;       /* all inodes */
+
+       spinlock_t              s_inode_wblist_lock;
+       struct list_head        s_inodes_wb;    /* writeback inodes */
 };
 
 extern struct timespec current_fs_time(struct super_block *sb);
This page took 0.029254 seconds and 5 git commands to generate.