Re: [PATCH RFC 5/8] ext4: use super write guard in write_mmp_block()

Jan Kara
2025-11-06T09:24:48Z

On Wed 05-11-25 19:33:35, Daniel Vacek wrote:
> On Tue, 4 Nov 2025 at 13:16, Christian Brauner <brauner@kernel.org> wrote:
> >
> > Signed-off-by: Christian Brauner <brauner@kernel.org>
> > ---
> > fs/ext4/mmp.c | 8 ++------
> > 1 file changed, 2 insertions(+), 6 deletions(-)
> >
> > diff --git a/fs/ext4/mmp.c b/fs/ext4/mmp.c
> > index ab1ff51302fb..6f57c181ff77 100644
> > --- a/fs/ext4/mmp.c
> > +++ b/fs/ext4/mmp.c
> > @@ -57,16 +57,12 @@ static int write_mmp_block_thawed(struct super_block *sb,
> >
> > static int write_mmp_block(struct super_block *sb, struct buffer_head *bh)
> > {
> > - int err;
> > -
> > /*
> > * We protect against freezing so that we don't create dirty buffers
> > * on frozen filesystem.
> > */
> > - sb_start_write(sb);
> > - err = write_mmp_block_thawed(sb, bh);
> > - sb_end_write(sb);
> > - return err;
> > + scoped_guard(super_write, sb)
> > + return write_mmp_block_thawed(sb, bh);
>
> Why the scoped_guard here? Should the simple guard(super_write)(sb) be
> just as fine here?

Not sure about Ted but I prefer scoped_guard() to plain guard() because the
scoping makes it more visually obvious where the unlocking happens. Of
course there has to be a balance as the indentation level can go through
the roof but that's not the case here...

Honza
--
Jan Kara <jack@suse.com>
SUSE Labs, CR