lkml.org 
[lkml]   [2022]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH -next,v2] NFS: report and clear ENOSPC/EFBIG/EDQUOT writeback error on close() file
在 2022/6/15 3:48, Trond Myklebust 写道:
> NACK. How many times do I have to repeat that we do NOT clear the error
> log in flush()?
>

close(2) manpage described:

> ENOSPC, EDQUOT: On NFS, these errors are not normally reported
> against the first write which exceeds the available storage space,
> but instead against a subsequent write(2), fsync(2), or close(2).

> A careful programmer will check the return value of close(), since
> it is quite possible that errors on a previous write(2) operation are
> reported only on the final close() that releases the open file
> description. Failing to check the return value when closing a file
> may lead to silent loss of data. This can especially be observed
> with NFS and with disk quota.

write(2) manpage described:

> Since Linux 4.13, errors from write-back come with a promise that they
> may be reported by subsequent. write(2) requests, and will be
> reported by a subsequent fsync(2) (whether or not they were also
> reported by write(2)).

Both close(2) and write(2) manpage described: report writeback error
(not clear error), especially the write(2) manpage described: will be
reported by a subsequent fsync(2) whether or not they were also reported
by write(2).

If ENOSPC/EFBIG/EDQUOT writeback error can be cleared on write(), maybe
it is better to be cleared on close() instead of saving the error for
next open().

\
 
 \ /
  Last update: 2022-06-15 03:35    [W:0.379 / U:0.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site