Re: [RESEND] [PATCH] eventfs: Have inodes have unique inode numbers

From: Steven Rostedt
Date: Fri Jan 26 2024 - 16:27:37 EST


On Fri, 26 Jan 2024 15:24:17 -0500
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote:

> On 2024-01-26 15:12, Steven Rostedt wrote:
> [...]
> > diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c
> > index e1b172c0e091..2187be6d7b23 100644
> > --- a/fs/tracefs/inode.c
> > +++ b/fs/tracefs/inode.c
> > @@ -223,13 +223,41 @@ static const struct inode_operations tracefs_file_inode_operations = {
> > .setattr = tracefs_setattr,
> > };
> >
> > +/* Copied from get_next_ino() but adds allocation for multiple inodes */
> > +#define LAST_INO_BATCH 1024
> > +#define LAST_INO_MASK (~(LAST_INO_BATCH - 1))
> > +static DEFINE_PER_CPU(unsigned int, last_ino);
> > +
> > +unsigned int tracefs_get_next_ino(int files)
> > +{
> > + unsigned int *p = &get_cpu_var(last_ino);
> > + unsigned int res = *p;
> > +
> > +#ifdef CONFIG_SMP
> > + /* Check if adding files+1 overflows */
>
> How does it handle a @files input where:
>
> * (files+1 > LAST_INO_BATCH) ?
>
> * (files+1 == LAST_INO_BATCH) ?

Well, this is moot anyway, as Linus hates it.

-- Steve