[v4,26/27] mm: flesh out comments over mapping_set_error
diff mbox

Message ID 20170509154930.29524-27-jlayton@redhat.com
State New
Headers show

Commit Message

Jeff Layton May 9, 2017, 3:49 p.m. UTC
Signed-off-by: Jeff Layton <jlayton@redhat.com>
---
 include/linux/pagemap.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Patch
diff mbox

diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 9593eac41499..9b453eae0aa1 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -27,6 +27,20 @@  enum mapping_flags {
 	AS_NO_WRITEBACK_TAGS = 3,
 };
 
+/**
+ * mapping_set_error - record a writeback error in the address_space
+ * @mapping - the mapping in which an error should be set
+ * @error - the error to set in the mapping
+ *
+ * When writeback fails in some way, we must record that error so that
+ * userspace can be informed when fsync and the like are called.  We endeavor
+ * to report errors on any file that was open at the time of the error.  Some
+ * internal callers also need to know when writeback errors have occurred.
+ *
+ * When a writeback error occurs, most will filesystems will want to call
+ * mapping_set_error to record the error in the mapping so that it will be
+ * automatically reported whenever fsync is called on the file.
+ */
 static inline void mapping_set_error(struct address_space *mapping, int error)
 {
 	return errseq_set(&mapping->wb_err, error);