From: Maxwell Doose <m32285159@gmail.com>
To: Jan Kara <jack@suse.cz>
Cc: Christian Brauner <brauner@kernel.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Jeff Layton <jlayton@kernel.org>, Kees Cook <kees@kernel.org>,
Mateusz Guzik <mjguzik@gmail.com>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] fs: efs: namei: Use __free() over manual resource management
Date: Tue, 9 Jun 2026 10:15:53 -0500 [thread overview]
Message-ID: <20260609101553.3e679b6f@linuxescape> (raw)
In-Reply-To: <zubqudmf4ej7phwdetb4bh7w7kjds36luupbwdebojtroqsuc4@x3xidsw4mmmr>
On Tue, 9 Jun 2026 11:58:40 +0200
Jan Kara <jack@suse.cz> wrote:
> On Sat 06-06-26 21:58:15, Maxwell Doose wrote:
> > On Sat, Jun 6, 2026 at 1:20 PM Maxwell Doose <m32285159@gmail.com> wrote:
> > >
> > > Define a __free() for brelse() called brelease.
> > >
> > > The current code uses manual management of the file buffer heads. Remove
> > > manual brelse statements and initialize bh with __free(brelease)
> > > which removes and modernizes code.
> > >
> > > Signed-off-by: Maxwell Doose <m32285159@gmail.com>
> > > ---
> > > fs/efs/namei.c | 10 ++++------
> > > 1 file changed, 4 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/fs/efs/namei.c b/fs/efs/namei.c
> > > index 38961ee1d1af..ce7794d55e47 100644
> > > --- a/fs/efs/namei.c
> > > +++ b/fs/efs/namei.c
> > > @@ -8,15 +8,15 @@
> > > */
> > >
> > > #include <linux/buffer_head.h>
> > > +#include <linux/cleanup.h>
> > > #include <linux/string.h>
> > > #include <linux/exportfs.h>
> > > #include "efs.h"
> > >
> > > +DEFINE_FREE(brelease, struct buffer_head *, if (_T) brelse(_T))
> > >
> > > static efs_ino_t efs_find_entry(struct inode *inode, const char *name, int len)
> > > {
> > > - struct buffer_head *bh;
> > > -
> > > int slot, namelen;
> > > char *nameptr;
> > > struct efs_dir *dirblock;
> > > @@ -30,7 +30,8 @@ static efs_ino_t efs_find_entry(struct inode *inode, const char *name, int len)
> > >
> > > for(block = 0; block < inode->i_blocks; block++) {
> > >
> > > - bh = sb_bread(inode->i_sb, efs_bmap(inode, block));
> > > + struct buffer_head *bh __free(brelease) = sb_bread(inode->i_sb,
> > > + bfs_bmap(inode, block));
> >
> > Made a mistake here while moving :( should be efs_bmap(). Can send a
> > v2 if preferred.
>
> Well, that happens but that also shows you didn't even try to compile the
> thing before sending the patch. This is not how the kernel development
> should work, let alone maintenance... Please test your changes before
> sending them.
>
I did and added the fix for it but I think I forgot to amend my commit
:(
>
> Separate thing is that I don't think changes like this to a dead filesystem
> as EFS are really useful. So as others have suggested the most useful
> action you could do for EFS would be to add deprecation notice on kconfig
> and print deprecation message on mount (like we did with other filesystems
> we removed). Set the removal date to the end of 2026 and see if some user
> pops up. Because I suspect nobody used this code for years.
>
Alright then. If that's the consensus then I can do that.
--
best regards,
max
prev parent reply other threads:[~2026-06-09 15:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-06 18:18 [PATCH] fs: efs: namei: Use __free() over manual resource management Maxwell Doose
2026-06-07 2:58 ` Maxwell Doose
2026-06-09 9:58 ` Jan Kara
2026-06-09 15:15 ` Maxwell Doose [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260609101553.3e679b6f@linuxescape \
--to=m32285159@gmail.com \
--cc=brauner@kernel.org \
--cc=jack@suse.cz \
--cc=jlayton@kernel.org \
--cc=kees@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjguzik@gmail.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.