]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - mm/page_owner.c
Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso...
[mirror_ubuntu-hirsute-kernel.git] / mm / page_owner.c
index 270a8219ccd03b0099c48bd267075a7b0d8eadd6..9886c6073828c7dd6f4975da84be07cd68ea6ca5 100644 (file)
@@ -528,21 +528,18 @@ read_page_owner(struct file *file, char __user *buf, size_t count, loff_t *ppos)
 
 static void init_pages_in_zone(pg_data_t *pgdat, struct zone *zone)
 {
-       struct page *page;
-       struct page_ext *page_ext;
-       unsigned long pfn = zone->zone_start_pfn, block_end_pfn;
-       unsigned long end_pfn = pfn + zone->spanned_pages;
+       unsigned long pfn = zone->zone_start_pfn;
+       unsigned long end_pfn = zone_end_pfn(zone);
        unsigned long count = 0;
 
-       /* Scan block by block. First and last block may be incomplete */
-       pfn = zone->zone_start_pfn;
-
        /*
         * Walk the zone in pageblock_nr_pages steps. If a page block spans
         * a zone boundary, it will be double counted between zones. This does
         * not matter as the mixed block count will still be correct
         */
        for (; pfn < end_pfn; ) {
+               unsigned long block_end_pfn;
+
                if (!pfn_valid(pfn)) {
                        pfn = ALIGN(pfn + 1, MAX_ORDER_NR_PAGES);
                        continue;
@@ -551,9 +548,10 @@ static void init_pages_in_zone(pg_data_t *pgdat, struct zone *zone)
                block_end_pfn = ALIGN(pfn + 1, pageblock_nr_pages);
                block_end_pfn = min(block_end_pfn, end_pfn);
 
-               page = pfn_to_page(pfn);
-
                for (; pfn < block_end_pfn; pfn++) {
+                       struct page *page;
+                       struct page_ext *page_ext;
+
                        if (!pfn_valid_within(pfn))
                                continue;
 
@@ -635,9 +633,7 @@ static int __init pageowner_init(void)
 
        dentry = debugfs_create_file("page_owner", S_IRUSR, NULL,
                        NULL, &proc_page_owner_operations);
-       if (IS_ERR(dentry))
-               return PTR_ERR(dentry);
 
-       return 0;
+       return PTR_ERR_OR_ZERO(dentry);
 }
 late_initcall(pageowner_init)