Re: [RFC v6 1/2] epoll: Implement eventpoll_replace_file()

From: Alok Tiagi
Date: Wed May 24 2023 - 02:37:47 EST


On Tue, May 23, 2023 at 02:31:58PM +0100, Matthew Wilcox wrote:
> On Tue, May 23, 2023 at 06:58:01AM +0000, aloktiagi wrote:
> > +/*
> > + * This is called from eventpoll_replace() to replace a linked file in the epoll
> > + * interface with a new file received from another process. This is useful in
> > + * cases where a process is trying to install a new file for an existing one
> > + * that is linked in the epoll interface
> > + */
> > +int eventpoll_replace_file(struct file *toreplace, struct file *file, int tfd)
>
> Functions do not control where they are called from. Just take that
> clause out:
>
> /*
> * Replace a linked file in the epoll interface with a new file received
> * from another process. This allows a process to
> * install a new file for an existing one that is linked in the epoll
> * interface
> */
>
> But, erm, aren't those two sentences basically saying the same thing?
> So simplify again:
>
> /*
> * Replace a linked file in the epoll interface with a new file
> */
>

thank you for pointing this out. I'll address this in the next version.

> > diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h
> > index 3337745d81bd..2a6c8f52f272 100644
> > --- a/include/linux/eventpoll.h
> > +++ b/include/linux/eventpoll.h
> > @@ -25,6 +25,14 @@ struct file *get_epoll_tfile_raw_ptr(struct file *file, int tfd, unsigned long t
> > /* Used to release the epoll bits inside the "struct file" */
> > void eventpoll_release_file(struct file *file);
> >
> > +/*
> > + * This is called from fs/file.c:do_replace() to replace a linked file in the
> > + * epoll interface with a new file received from another process. This is useful
> > + * in cases where a process is trying to install a new file for an existing one
> > + * that is linked in the epoll interface
> > + */
> > +int eventpoll_replace_file(struct file *toreplace, struct file *file, int tfd);
>
> No need to repeat the comment again. Just delete it here.

thank you. I'll update this in the next version.