Re: [PATCH v3 4/4] fs/sysv: Replace kmap() with kmap_local_page()

From: Fabio M. De Francesco
Date: Mon Jan 23 2023 - 12:03:21 EST


On Thu, Jan 19, 2023 at 04:32:32PM +0100, Fabio M. De Francesco wrote:
> @@ -228,6 +239,12 @@ int sysv_delete_entry(struct sysv_dir_entry *de, struct
page *page)
> {
> struct inode *inode = page->mapping->host;
> loff_t pos = page_offset(page) + offset_in_page(de);
> + /*
> + * The "de" dentry points somewhere in the same page whose we need
the
> + * address of; therefore, we can simply get the base address "kaddr"
by
> + * masking the previous with PAGE_MASK.
> + */
> + char *kaddr = (char *)((unsigned long)de & PAGE_MASK);

er... ITYM "therefore we can pass de to dir_put_page() and get rid of that
kaddr
thing"...

Anyway, with that change the series rebased and applied on top of Christoph's
sysv
patch.

On venerdì 20 gennaio 2023 05:21:06 CET Al Viro wrote:
> On Thu, Jan 19, 2023 at 04:32:32PM +0100, Fabio M. De Francesco wrote:
> > -inline void dir_put_page(struct page *page)
> > +inline void dir_put_page(struct page *page, void *page_addr)
> >
> > {
> >
> > - kunmap(page);
> > + kunmap_local(page_addr);
>
> ... and that needed to be fixed - at some point "round down to beginning of
> page" got lost in rebasing...

Sorry for this late reply.
Unfortunately, at the moment, I have too little free time for kernel
development.

@Al...

I merged the two messages from you because they are related to changes to the
same patch. I would like to know if I am interpreting both correctly or not.

From your posts it sounds like you're saying you made the necessary changes
and then applied this series on top of Christoph's latest patch to fs/sysv, so
don't expect me to push a new version.

Did I understand correctly or am I missing something?
Anyway, if my interpretation is correct, thank you very much.

Can you please confirm that I understood correctly or not?

Thank you,

Fabio