On Mon, Jan 04, 2021 at 01:43:47PM -0500, Jeff Layton wrote:
> @@ -172,7 +172,12 @@ SYSCALL_DEFINE1(syncfs, int, fd)
>       ret = sync_filesystem(sb);
>       up_read(&sb->s_umount);
>  
> -     ret2 = errseq_check_and_advance(&sb->s_wb_err, &f.file->f_sb_err);
> +     if (errseq_check(&sb->s_wb_err, f.file->f_sb_err)) {
> +             /* Something changed, must use slow path */
> +             spin_lock(&f.file->f_lock);
> +             ret2 = errseq_check_and_advance(&sb->s_wb_err, 
> &f.file->f_sb_err);
> +             spin_unlock(&f.file->f_lock);
> +     }

        Is there any point bothering with the fastpath here?
I mean, look at the up_read() immediately prior to that thing...

Reply via email to