Re: [PATCH 01/19] fs: reflow deactivate_locked_super

2023-09-13 Thread Christian Brauner
On Wed, Sep 13, 2023 at 08:09:55AM -0300, Christoph Hellwig wrote:
> Return early for the case where the super block isn't cleaned up to
> reduce level of indentation.
> 
> Signed-off-by: Christoph Hellwig 
> ---
>  fs/super.c | 35 ++-
>  1 file changed, 18 insertions(+), 17 deletions(-)
> 
> diff --git a/fs/super.c b/fs/super.c
> index 2d762ce67f6e6c..127a17d958a482 100644
> --- a/fs/super.c
> +++ b/fs/super.c
> @@ -476,27 +476,28 @@ static void kill_super_notify(struct super_block *sb)
>  void deactivate_locked_super(struct super_block *s)

I wouldn't mind s/s/sb/ here as well. So we stop using @s in some and
@sb in other places.

Otherwise looks good to me,
Reviewed-by: Christian Brauner 


[PATCH 01/19] fs: reflow deactivate_locked_super

2023-09-13 Thread Christoph Hellwig
Return early for the case where the super block isn't cleaned up to
reduce level of indentation.

Signed-off-by: Christoph Hellwig 
---
 fs/super.c | 35 ++-
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/fs/super.c b/fs/super.c
index 2d762ce67f6e6c..127a17d958a482 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -476,27 +476,28 @@ static void kill_super_notify(struct super_block *sb)
 void deactivate_locked_super(struct super_block *s)
 {
struct file_system_type *fs = s->s_type;
-   if (atomic_dec_and_test(>s_active)) {
-   unregister_shrinker(>s_shrink);
-   fs->kill_sb(s);
 
-   kill_super_notify(s);
-
-   /*
-* Since list_lru_destroy() may sleep, we cannot call it from
-* put_super(), where we hold the sb_lock. Therefore we destroy
-* the lru lists right now.
-*/
-   list_lru_destroy(>s_dentry_lru);
-   list_lru_destroy(>s_inode_lru);
-
-   put_filesystem(fs);
-   put_super(s);
-   } else {
+   if (!atomic_dec_and_test(>s_active)) {
super_unlock_excl(s);
+   return;
}
-}
 
+   unregister_shrinker(>s_shrink);
+   fs->kill_sb(s);
+
+   kill_super_notify(s);
+
+   /*
+* Since list_lru_destroy() may sleep, we cannot call it from
+* put_super(), where we hold the sb_lock. Therefore we destroy
+* the lru lists right now.
+*/
+   list_lru_destroy(>s_dentry_lru);
+   list_lru_destroy(>s_inode_lru);
+
+   put_filesystem(fs);
+   put_super(s);
+}
 EXPORT_SYMBOL(deactivate_locked_super);
 
 /**
-- 
2.39.2