On Thu, Jun 13, 2024 at 8:02 AM HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab@nec.com> wrote:
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@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@nec.com>

Ok, thanks for the info.

Lianbo
 

Thanks,
Kazu