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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox