mm, swap: add swap_cluster_list
[cascardo/linux.git] / include / linux / swap.h
index e1d7614..a56523c 100644 (file)
@@ -191,6 +191,11 @@ struct percpu_cluster {
        unsigned int next; /* Likely next allocation offset */
 };
 
+struct swap_cluster_list {
+       struct swap_cluster_info head;
+       struct swap_cluster_info tail;
+};
+
 /*
  * The in-memory structure used to track swap areas.
  */
@@ -203,8 +208,7 @@ struct swap_info_struct {
        unsigned int    max;            /* extent of the swap_map */
        unsigned char *swap_map;        /* vmalloc'ed array of usage counts */
        struct swap_cluster_info *cluster_info; /* cluster info. Only for SSD */
-       struct swap_cluster_info free_cluster_head; /* free cluster list head */
-       struct swap_cluster_info free_cluster_tail; /* free cluster list tail */
+       struct swap_cluster_list free_clusters; /* free clusters list */
        unsigned int lowest_bit;        /* index of first free in swap_map */
        unsigned int highest_bit;       /* index of last free in swap_map */
        unsigned int pages;             /* total of usable pages of swap */
@@ -235,8 +239,7 @@ struct swap_info_struct {
                                         * first.
                                         */
        struct work_struct discard_work; /* discard worker */
-       struct swap_cluster_info discard_cluster_head; /* list head of discard clusters */
-       struct swap_cluster_info discard_cluster_tail; /* list tail of discard clusters */
+       struct swap_cluster_list discard_clusters; /* discard clusters list */
 };
 
 /* linux/mm/workingset.c */