[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210104185717.GK3579531@ZenIV.linux.org.uk>
Date: Mon, 4 Jan 2021 18:57:17 +0000
From: Al Viro <viro@...iv.linux.org.uk>
To: Jeff Layton <jlayton@...nel.org>
Cc: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
sargun@...gun.me, amir73il@...il.com, vgoyal@...hat.com
Subject: Re: [PATCH][RESEND] vfs: serialize updates to file->f_sb_err with
f_lock
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...
Powered by blists - more mailing lists