diff mbox series

NFSD: Protect against filesystem freezing

Message ID 167811742782.1909.380332356774647144.stgit@bazille.1015granger.net (mailing list archive)
State New, archived
Headers show
Series NFSD: Protect against filesystem freezing | expand

Commit Message

Chuck Lever March 6, 2023, 3:43 p.m. UTC
From: Chuck Lever <chuck.lever@oracle.com>

Flole observes this WARNING on occasion:

[1210423.486503] WARNING: CPU: 8 PID: 1524732 at fs/ext4/ext4_jbd2.c:75 ext4_journal_check_start+0x68/0xb0

Reported-by: <flole@flole.de>
Suggested-by: Jan Kara <jack@suse.cz>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217123
Fixes: 73da852e3831 ("nfsd: use vfs_iter_read/write")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
 fs/nfsd/vfs.c |    2 ++
 1 file changed, 2 insertions(+)

Comments

Jan Kara March 6, 2023, 4:16 p.m. UTC | #1
On Mon 06-03-23 10:43:47, Chuck Lever wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
> 
> Flole observes this WARNING on occasion:
> 
> [1210423.486503] WARNING: CPU: 8 PID: 1524732 at fs/ext4/ext4_jbd2.c:75 ext4_journal_check_start+0x68/0xb0
> 
> Reported-by: <flole@flole.de>
> Suggested-by: Jan Kara <jack@suse.cz>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217123
> Fixes: 73da852e3831 ("nfsd: use vfs_iter_read/write")
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

Looks good to me. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  fs/nfsd/vfs.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
> index 21d5209f6e04..ba34a31a7c70 100644
> --- a/fs/nfsd/vfs.c
> +++ b/fs/nfsd/vfs.c
> @@ -1104,7 +1104,9 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct nfsd_file *nf,
>  	since = READ_ONCE(file->f_wb_err);
>  	if (verf)
>  		nfsd_copy_write_verifier(verf, nn);
> +	file_start_write(file);
>  	host_err = vfs_iter_write(file, &iter, &pos, flags);
> +	file_end_write(file);
>  	if (host_err < 0) {
>  		nfsd_reset_write_verifier(nn);
>  		trace_nfsd_writeverf_reset(nn, rqstp, host_err);
> 
>
Jeff Layton March 6, 2023, 10:57 p.m. UTC | #2
On Mon, 2023-03-06 at 10:43 -0500, Chuck Lever wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
> 
> Flole observes this WARNING on occasion:
> 
> [1210423.486503] WARNING: CPU: 8 PID: 1524732 at fs/ext4/ext4_jbd2.c:75 ext4_journal_check_start+0x68/0xb0
> 
> Reported-by: <flole@flole.de>
> Suggested-by: Jan Kara <jack@suse.cz>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217123
> Fixes: 73da852e3831 ("nfsd: use vfs_iter_read/write")
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
>  fs/nfsd/vfs.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
> index 21d5209f6e04..ba34a31a7c70 100644
> --- a/fs/nfsd/vfs.c
> +++ b/fs/nfsd/vfs.c
> @@ -1104,7 +1104,9 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct nfsd_file *nf,
>  	since = READ_ONCE(file->f_wb_err);
>  	if (verf)
>  		nfsd_copy_write_verifier(verf, nn);
> +	file_start_write(file);
>  	host_err = vfs_iter_write(file, &iter, &pos, flags);
> +	file_end_write(file);
>  	if (host_err < 0) {
>  		nfsd_reset_write_verifier(nn);
>  		trace_nfsd_writeverf_reset(nn, rqstp, host_err);
> 
> 

Reviewed-by: Jeff Layton <jlayton@kernel.org>
diff mbox series

Patch

diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 21d5209f6e04..ba34a31a7c70 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1104,7 +1104,9 @@  nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct nfsd_file *nf,
 	since = READ_ONCE(file->f_wb_err);
 	if (verf)
 		nfsd_copy_write_verifier(verf, nn);
+	file_start_write(file);
 	host_err = vfs_iter_write(file, &iter, &pos, flags);
+	file_end_write(file);
 	if (host_err < 0) {
 		nfsd_reset_write_verifier(nn);
 		trace_nfsd_writeverf_reset(nn, rqstp, host_err);