Message ID | 20180220023038.19883-5-tytso@mit.edu |
---|---|
State | Accepted, archived |
Headers | show |
Series | ext4: fix up shutdown handling | expand |
On Mon 19-02-18 21:30:35, Theodore Ts'o wrote: > The msleep() when processing EXT4_GOING_FLAGS_NOLOGFLUSH was a hack to > avoid some races (that are now fixed), but in fact it introduced its > own race. > > Signed-off-by: Theodore Ts'o <tytso@mit.edu> > Cc: stable@vger.kernel.org Looks good. You can add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > fs/ext4/ioctl.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c > index 4d1b1575f8ac..16d3d1325f5b 100644 > --- a/fs/ext4/ioctl.c > +++ b/fs/ext4/ioctl.c > @@ -498,10 +498,8 @@ static int ext4_shutdown(struct super_block *sb, unsigned long arg) > break; > case EXT4_GOING_FLAGS_NOLOGFLUSH: > set_bit(EXT4_FLAGS_SHUTDOWN, &sbi->s_ext4_flags); > - if (sbi->s_journal && !is_journal_aborted(sbi->s_journal)) { > - msleep(100); > + if (sbi->s_journal && !is_journal_aborted(sbi->s_journal)) > jbd2_journal_abort(sbi->s_journal, 0); > - } > break; > default: > return -EINVAL; > -- > 2.16.1.72.g5be1f00a9a >
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index 4d1b1575f8ac..16d3d1325f5b 100644 --- a/fs/ext4/ioctl.c +++ b/fs/ext4/ioctl.c @@ -498,10 +498,8 @@ static int ext4_shutdown(struct super_block *sb, unsigned long arg) break; case EXT4_GOING_FLAGS_NOLOGFLUSH: set_bit(EXT4_FLAGS_SHUTDOWN, &sbi->s_ext4_flags); - if (sbi->s_journal && !is_journal_aborted(sbi->s_journal)) { - msleep(100); + if (sbi->s_journal && !is_journal_aborted(sbi->s_journal)) jbd2_journal_abort(sbi->s_journal, 0); - } break; default: return -EINVAL;
The msleep() when processing EXT4_GOING_FLAGS_NOLOGFLUSH was a hack to avoid some races (that are now fixed), but in fact it introduced its own race. Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@vger.kernel.org --- fs/ext4/ioctl.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)