Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\pagemap.h Create Date:2022-07-28 05:45:00
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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

Proto:static inline void mapping_set_error(struct address_space *mapping, int error)

Type:void

Parameter:

TypeParameterName
struct address_space *mapping
interror
50  If Value is more likely to compile time(!error) Then Return
54  lemap_set_wb_err - set a writeback error on an address_space*@mapping: mapping in which to set writeback error*@err: error to be set in mapping* When writeback fails in some way, we must record that error so that
57  If error == -ENOSPC Then set_bit - Atomically set a bit in memory*@nr: the bit to set*@addr: the address to start counting from* This is a relaxed atomic operation (no implied memory barriers).* Note that @nr may be almost arbitrarily large; this function is not
59  Else set_bit - Atomically set a bit in memory*@nr: the bit to set*@addr: the address to start counting from* This is a relaxed atomic operation (no implied memory barriers).* Note that @nr may be almost arbitrarily large; this function is not
Caller
NameDescribe
page_endioAfter completing I/O on a page, call this routine to update the page* flags appropriately
__writepageFunction used by generic_writepages to call the real writepage* function and set the mapping flags on error
handle_write_errorWe detected a synchronous write error writing a page out. Probably* -ENOSPC. We need to propagate that into the address_space for a subsequent* fsync(), msync() or close().* The tricky part is that after writepage we cannot touch the mapping: nothing
me_pagecache_dirtyDirty pagecache page* Issues: when the error hit a hole page the error is not properly* propagated.
mark_buffer_write_io_error
__block_write_full_pageWhile block_write_full_page is writing back the dirty buffers under* the page lock, whoever dirtied the buffers may decide to clean them* again at any time
__mpage_writepage
dax_writeback_mapping_rangeFlush the mapping to the persistent domain within the byte range of [start,* end]. This is required by data integrity operations to ensure file data is* on persistent storage prior to completion of the operation.
iomap_finish_page_writeback
iomap_writepage_mapWe implement an immediate ioend submission policy here to avoid needing to* chain multiple ioends and hence nest mempool allocations which can violate* forward progress guarantees we need to provide