Skip to content

Commit 576215c

Browse files
committed
fs: Drop wait_unfrozen wait queue
wait_unfrozen waitqueue is used only in quota code to wait for filesystem to become unfrozen. In that place we can just use sb_start_write() - sb_end_write() pair to achieve the same. So just remove the waitqueue. Reviewed-by: Christian Brauner <brauner@kernel.org> Message-Id: <20230525141710.7595-1-jack@suse.cz> Signed-off-by: Jan Kara <jack@suse.cz>
1 parent b8b9e8b commit 576215c

3 files changed

Lines changed: 3 additions & 7 deletions

File tree

fs/quota/quota.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -895,8 +895,9 @@ static struct super_block *quotactl_block(const char __user *special, int cmd)
895895
up_write(&sb->s_umount);
896896
else
897897
up_read(&sb->s_umount);
898-
wait_event(sb->s_writers.wait_unfrozen,
899-
sb->s_writers.frozen == SB_UNFROZEN);
898+
/* Wait for sb to unfreeze */
899+
sb_start_write(sb);
900+
sb_end_write(sb);
900901
put_super(sb);
901902
goto retry;
902903
}

fs/super.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,6 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags,
236236
&type->s_writers_key[i]))
237237
goto fail;
238238
}
239-
init_waitqueue_head(&s->s_writers.wait_unfrozen);
240239
s->s_bdi = &noop_backing_dev_info;
241240
s->s_flags = flags;
242241
if (s->s_user_ns != &init_user_ns)
@@ -1706,7 +1705,6 @@ int freeze_super(struct super_block *sb)
17061705
if (ret) {
17071706
sb->s_writers.frozen = SB_UNFROZEN;
17081707
sb_freeze_unlock(sb, SB_FREEZE_PAGEFAULT);
1709-
wake_up(&sb->s_writers.wait_unfrozen);
17101708
deactivate_locked_super(sb);
17111709
return ret;
17121710
}
@@ -1722,7 +1720,6 @@ int freeze_super(struct super_block *sb)
17221720
"VFS:Filesystem freeze failed\n");
17231721
sb->s_writers.frozen = SB_UNFROZEN;
17241722
sb_freeze_unlock(sb, SB_FREEZE_FS);
1725-
wake_up(&sb->s_writers.wait_unfrozen);
17261723
deactivate_locked_super(sb);
17271724
return ret;
17281725
}
@@ -1768,7 +1765,6 @@ static int thaw_super_locked(struct super_block *sb)
17681765
sb->s_writers.frozen = SB_UNFROZEN;
17691766
sb_freeze_unlock(sb, SB_FREEZE_FS);
17701767
out:
1771-
wake_up(&sb->s_writers.wait_unfrozen);
17721768
deactivate_locked_super(sb);
17731769
return 0;
17741770
}

include/linux/fs.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1146,7 +1146,6 @@ enum {
11461146

11471147
struct sb_writers {
11481148
int frozen; /* Is sb frozen? */
1149-
wait_queue_head_t wait_unfrozen; /* wait for thaw */
11501149
struct percpu_rw_semaphore rw_sem[SB_FREEZE_LEVELS];
11511150
};
11521151

0 commit comments

Comments
 (0)