From: "chenxiaosong (A)" <firstname.lastname@example.org> To: Trond Myklebust <email@example.com>, "firstname.lastname@example.org" <email@example.com>, "firstname.lastname@example.org" <email@example.com> Cc: "firstname.lastname@example.org" <email@example.com>, "firstname.lastname@example.org" <email@example.com>, "firstname.lastname@example.org" <email@example.com> Subject: Re: [PATCH v2 3/5] NFS: Don't report ENOSPC write errors twice Date: Tue, 12 Apr 2022 21:13:19 +0800 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <email@example.com> 在 2022/4/12 20:16, Trond Myklebust 写道: > I understand all that. The point you appear to be missing is that this > is in fact in agreement with the documented behaviour in the write(2) > and fsync(2) manpages. These errors are supposed to be reported once, > even if they were caused by a write to a different file descriptor. > > In fact, even with your change, if you make the second 'dd' call fsync > (by adding a conv=fsync), I would expect it to report the exact same > ENOSPC error, and that would be correct behaviour! > > So my patches are more concerned with the fact that we appear to be > reporting the same error more than once, rather than the fact that > we're reporting them in the second attempt at I/O. As far as I'm > concerned, that is the main change that is needed to meet the behaviour > that is documented in the manpages. After merging my patchset, when make the second 'dd' call fsync (by adding a conv=fsync), it can report ENOSPC error by calling fsync() syscall. And when make the second 'dd' sync write (by adding a oflag=sync), it can report ENOSPC error too: ```c write ksys_write vfs_write new_sync_write call_write_iter nfs_file_write generic_write_sync vfs_fsync_range nfs_file_fsync ```
next prev parent reply other threads:[~2022-04-12 13:22 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-11 21:33 [PATCH v2 0/5] Ensure mapping errors are reported only once trondmy 2022-04-11 21:33 ` [PATCH v2 1/5] NFS: Do not report EINTR/ERESTARTSYS as mapping errors trondmy 2022-04-11 21:33 ` [PATCH v2 2/5] NFS: fsync() should report filesystem errors over EINTR/ERESTARTSYS trondmy 2022-04-11 21:33 ` [PATCH v2 3/5] NFS: Don't report ENOSPC write errors twice trondmy 2022-04-11 21:33 ` [PATCH v2 4/5] NFS: Do not report flush errors in nfs_write_end() trondmy 2022-04-11 21:33 ` [PATCH v2 5/5] NFS: Don't report errors from nfs_pageio_complete() more than once trondmy 2022-04-12 6:24 ` [PATCH v2 3/5] NFS: Don't report ENOSPC write errors twice chenxiaosong (A) 2022-04-12 12:16 ` Trond Myklebust 2022-04-12 13:13 ` chenxiaosong (A) [this message] 2022-04-12 13:29 ` chenxiaosong (A) 2022-04-12 14:25 ` chenxiaosong (A)
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='Re: [PATCH v2 3/5] NFS: Don'\''t report ENOSPC write errors twice' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.