Re: [RFC] Renaming page_offset() to page_pos()

From: William Kucharski
Date: Tue Apr 07 2020 - 15:11:52 EST


page_pos seems quite reasonable to me.

Reviewed-by: William Kucharski <william.kucharski@xxxxxxxxxx>


> On Apr 3, 2020, at 9:33 AM, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
>
> Without looking at the source, can you tell me what page_offset() does?
>
> At least one regular contributor thought it meant the pgoff_t of this
> page within the file. It's actually the byte offset of this page into
> the file.
>
> We have a perfectly good name for byte offset into the file --
> file->f_pos. So I propose renaming it to page_pos(). To minimise
> disruption to other development, I'm going to send Linus a pull request
> at the end of the merge window with the results of this coccinelle script:
>
> @@ expression a; @@
> - page_offset(a)
> + page_pos(a)
>
> I've reviewed the output and the only slight weirdness is an extra space
> in casts:
>
> btrfs_warn(BTRFS_I(page->mapping->host)->root->fs_info,
> "page private not zero on page %llu",
> - (unsigned long long)page_offset(page));
> + (unsigned long long) page_pos(page));
>
> Sometimes Coccinelle fixes the surrounding whitespace to be better
> than it currently is:
>
> - ow->bv[i].bv_len = min(page_offset(ow->pages[i]) + PAGE_SIZE,
> - ow->off + ow->len) -
> - max(ow->off, page_offset(ow->pages[i]));
> + ow->bv[i].bv_len = min(page_pos(ow->pages[i]) + PAGE_SIZE,
> + ow->off + ow->len) -
> + max(ow->off, page_pos(ow->pages[i]));
>
> (it's still bad, but it's an improvement)
>
> Any objections? Anyone got a better name than page_pos()?
>