On 2024/06/12 15:34, lijiang wrote:
> --- a/memory.c
> +++ b/memory.c
> @@ -16075,6 +16075,8 @@ dump_swap_info(ulong swapflags, ulong
*totalswap_pages, ulong *totalused_pages)
> char buf3[BUFSIZE];
> char buf4[BUFSIZE];
> char buf5[BUFSIZE];
> + int swap_file_is_file =
> + STREQ(MEMBER_TYPE_NAME("swap_info_struct",
"swap_file"), "file");
>
>
> This patch looks good, but I still have one question:
> The 'swap_file' has been added into the struct swap_info_struct since
linux v2.6.12-rc2,
> and until now it(its type) has been never changed, it indicates that the above
checking is always true.
>
> STREQ(MEMBER_TYPE_NAME("swap_info_struct", "swap_file"),
"file")
>
> Is that expected behavior? Just want to confirm with you.
Yes.
Thank you for the confirmation, and explanation below, Kazu.
As far as I checked, swap_file was changed from 'dentry *' to 'file
*'
at somewhere between v2.4.0 and v2.6.0, so not always true.
Seems no full history in linux github. I checked it from the linux initial git repo:
commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (tag: v2.6.12-rc2)
Author: Linus Torvalds <torvalds(a)ppc970.osdl.org
<mailto:torvalds@ppc970.osdl.org>>
Date: Sat Apr 16 15:20:36 2005 -0700
Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
get_pathname()'s first arg is dentry, we have to choose the else-if block
without old_block_size, so I decided to use its type information directly
} else if (VALID_MEMBER(swap_info_struct_old_block_size)
||
swap_file_is_file) {
The other if / else blocks are for very old kernels, so maybe they won't
be used, but if we don't remove these, I think this is a reasonable way.
Sounds good to me.
Does this answer your question?
Yes. Thank you, Kazu. I have no other issues. For the patch: Ack.
Good, thank you for your ack.
btw, I forgot to add the From: line below to the commit log, it would be
helpful if you would add this when merging:
From: Kazuhito Hagio <k-hagio-ab(a)nec.com>
Thanks,
Kazu