mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
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>
This commit is contained in:
@@ -895,8 +895,9 @@ retry:
|
|||||||
up_write(&sb->s_umount);
|
up_write(&sb->s_umount);
|
||||||
else
|
else
|
||||||
up_read(&sb->s_umount);
|
up_read(&sb->s_umount);
|
||||||
wait_event(sb->s_writers.wait_unfrozen,
|
/* Wait for sb to unfreeze */
|
||||||
sb->s_writers.frozen == SB_UNFROZEN);
|
sb_start_write(sb);
|
||||||
|
sb_end_write(sb);
|
||||||
put_super(sb);
|
put_super(sb);
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
|
@@ -236,7 +236,6 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags,
|
|||||||
&type->s_writers_key[i]))
|
&type->s_writers_key[i]))
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
init_waitqueue_head(&s->s_writers.wait_unfrozen);
|
|
||||||
s->s_bdi = &noop_backing_dev_info;
|
s->s_bdi = &noop_backing_dev_info;
|
||||||
s->s_flags = flags;
|
s->s_flags = flags;
|
||||||
if (s->s_user_ns != &init_user_ns)
|
if (s->s_user_ns != &init_user_ns)
|
||||||
@@ -1706,7 +1705,6 @@ int freeze_super(struct super_block *sb)
|
|||||||
if (ret) {
|
if (ret) {
|
||||||
sb->s_writers.frozen = SB_UNFROZEN;
|
sb->s_writers.frozen = SB_UNFROZEN;
|
||||||
sb_freeze_unlock(sb, SB_FREEZE_PAGEFAULT);
|
sb_freeze_unlock(sb, SB_FREEZE_PAGEFAULT);
|
||||||
wake_up(&sb->s_writers.wait_unfrozen);
|
|
||||||
deactivate_locked_super(sb);
|
deactivate_locked_super(sb);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -1722,7 +1720,6 @@ int freeze_super(struct super_block *sb)
|
|||||||
"VFS:Filesystem freeze failed\n");
|
"VFS:Filesystem freeze failed\n");
|
||||||
sb->s_writers.frozen = SB_UNFROZEN;
|
sb->s_writers.frozen = SB_UNFROZEN;
|
||||||
sb_freeze_unlock(sb, SB_FREEZE_FS);
|
sb_freeze_unlock(sb, SB_FREEZE_FS);
|
||||||
wake_up(&sb->s_writers.wait_unfrozen);
|
|
||||||
deactivate_locked_super(sb);
|
deactivate_locked_super(sb);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -1768,7 +1765,6 @@ static int thaw_super_locked(struct super_block *sb)
|
|||||||
sb->s_writers.frozen = SB_UNFROZEN;
|
sb->s_writers.frozen = SB_UNFROZEN;
|
||||||
sb_freeze_unlock(sb, SB_FREEZE_FS);
|
sb_freeze_unlock(sb, SB_FREEZE_FS);
|
||||||
out:
|
out:
|
||||||
wake_up(&sb->s_writers.wait_unfrozen);
|
|
||||||
deactivate_locked_super(sb);
|
deactivate_locked_super(sb);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -1146,7 +1146,6 @@ enum {
|
|||||||
|
|
||||||
struct sb_writers {
|
struct sb_writers {
|
||||||
int frozen; /* Is sb frozen? */
|
int frozen; /* Is sb frozen? */
|
||||||
wait_queue_head_t wait_unfrozen; /* wait for thaw */
|
|
||||||
struct percpu_rw_semaphore rw_sem[SB_FREEZE_LEVELS];
|
struct percpu_rw_semaphore rw_sem[SB_FREEZE_LEVELS];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user