The patch titled Subject: tmpfs-support-seek_data-and-seek_hole-fix has been added to the -mm tree. Its filename is tmpfs-support-seek_data-and-seek_hole-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: tmpfs-support-seek_data-and-seek_hole-fix fix warning with CONFIG_TMPFS=n mm/shmem.c:444: warning: 'shmem_seek_hole_data' defined but not used Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/shmem.c | 100 +++++++++++++++++++++++++-------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff -puN mm/shmem.c~tmpfs-support-seek_data-and-seek_hole-fix mm/shmem.c --- a/mm/shmem.c~tmpfs-support-seek_data-and-seek_hole-fix +++ a/mm/shmem.c @@ -439,56 +439,6 @@ void shmem_unlock_mapping(struct address } /* - * llseek SEEK_DATA or SEEK_HOLE through the radix_tree. - */ -static pgoff_t shmem_seek_hole_data(struct address_space *mapping, - pgoff_t index, pgoff_t end, int origin) -{ - struct page *page; - struct pagevec pvec; - pgoff_t indices[PAGEVEC_SIZE]; - bool done = false; - int i; - - pagevec_init(&pvec, 0); - pvec.nr = 1; /* start small: we may be there already */ - while (!done) { - pvec.nr = shmem_find_get_pages_and_swap(mapping, index, - pvec.nr, pvec.pages, indices); - if (!pvec.nr) { - if (origin == SEEK_DATA) - index = end; - break; - } - for (i = 0; i < pvec.nr; i++, index++) { - if (index < indices[i]) { - if (origin == SEEK_HOLE) { - done = true; - break; - } - index = indices[i]; - } - page = pvec.pages[i]; - if (page && !radix_tree_exceptional_entry(page)) { - if (!PageUptodate(page)) - page = NULL; - } - if (index >= end || - (page && origin == SEEK_DATA) || - (!page && origin == SEEK_HOLE)) { - done = true; - break; - } - } - shmem_deswap_pagevec(&pvec); - pagevec_release(&pvec); - pvec.nr = PAGEVEC_SIZE; - cond_resched(); - } - return index; -} - -/* * Remove range of pages and swap entries from radix tree, and free them. * If !unfalloc, truncate or punch hole; if unfalloc, undo failed fallocate. */ @@ -1724,6 +1674,56 @@ static ssize_t shmem_file_splice_read(st return error; } +/* + * llseek SEEK_DATA or SEEK_HOLE through the radix_tree. + */ +static pgoff_t shmem_seek_hole_data(struct address_space *mapping, + pgoff_t index, pgoff_t end, int origin) +{ + struct page *page; + struct pagevec pvec; + pgoff_t indices[PAGEVEC_SIZE]; + bool done = false; + int i; + + pagevec_init(&pvec, 0); + pvec.nr = 1; /* start small: we may be there already */ + while (!done) { + pvec.nr = shmem_find_get_pages_and_swap(mapping, index, + pvec.nr, pvec.pages, indices); + if (!pvec.nr) { + if (origin == SEEK_DATA) + index = end; + break; + } + for (i = 0; i < pvec.nr; i++, index++) { + if (index < indices[i]) { + if (origin == SEEK_HOLE) { + done = true; + break; + } + index = indices[i]; + } + page = pvec.pages[i]; + if (page && !radix_tree_exceptional_entry(page)) { + if (!PageUptodate(page)) + page = NULL; + } + if (index >= end || + (page && origin == SEEK_DATA) || + (!page && origin == SEEK_HOLE)) { + done = true; + break; + } + } + shmem_deswap_pagevec(&pvec); + pagevec_release(&pvec); + pvec.nr = PAGEVEC_SIZE; + cond_resched(); + } + return index; +} + static loff_t shmem_file_llseek(struct file *file, loff_t offset, int origin) { struct address_space *mapping; _ Subject: Subject: tmpfs-support-seek_data-and-seek_hole-fix Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are origin.patch mm-mmapc-find_vma-remove-unnecessary-ifmm-check-fix.patch mm-do_migrate_pages-calls-migrate_to_node-even-if-task-is-already-on-a-correct-node-fix.patch mm-do_migrate_pages-rename-arguments.patch mm-memcg-count-pte-references-from-every-member-of-the-reclaimed-hierarchy-fix.patch mm-rename-is_mlocked_vma-to-mlocked_vma_newpage-fix.patch mm-page_allocc-remove-pageblock_default_order.patch mm-remove-sparsemem-allocation-details-from-the-bootmem-allocator-fix.patch tmpfs-support-seek_data-and-seek_hole-fix.patch mm-page_allocc-cleanups.patch mm-fix-slab-page-flags-corruption-fix.patch mm-push-lru-index-into-shrink_active_list-fix.patch mm-memcg-use-vm_swappiness-from-target-memory-cgroup-fix.patch mm-memcg-print-statistics-from-live-counters-checkpatch-fixes.patch memcg-always-free-struct-memcg-through-schedule_work-fix.patch memcg-decrement-static-keys-at-real-destroy-time-v6-fix.patch drivers-video-backlight-apple_blc-include-header-for-exported-symbol-prototypes-fix.patch backlight-add-lm3533-backlight-driver-fix.patch backlight-add-lm3533-backlight-driver-fix-fix.patch backlight-use-pr_warn-and-pr_debug-instead-of-printk-fix.patch backlight-apple_bl-use-pr_debug-pr_err-instead-of-printk-fix.patch backlight-cr_bllcd-use-pr_err-pr_info-instead-of-printk-fix.patch backlight-generic_bl-use-pr_info-instead-of-printk-fix.patch backlight-jornada720-use-pr_err-pr_info-instead-of-printk-fix.patch backlight-omap1-use-pr_info-instead-of-printk-fix.patch backlight-progear-use-pr_err-instead-of-printk-fix.patch leds-led-module-for-da9052-53-pmic-v2-fix.patch leds-heartbeat-stop-on-shutdown-checkpatch-fixes.patch drivers-leds-leds-pca955xc-fix-race-condition-while-setting-brightness-on-several-leds-fix.patch lib-string_helpersc-make-arrays-static.patch lib-bitmapc-fix-documentation-for-scnprintf-functions.patch drivers-rtc-rtc-pcf8563c-add-rtc_vl_read-rtc_vl_clr-ioctl-feature-fix.patch rtc-rename-config_rtc_mxc-to-config_rtc_drv_mxc-fix.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html