Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\buffer.c Create Date:2022-07-28 20:14:07
Last Modify:2020-03-18 10:38:29 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Completion handler for block_write_full_page() - pages which are unlocked* during I/O, and which have PageWriteback cleared upon I/O completion.

Proto:void end_buffer_async_write(struct buffer_head *bh, int uptodate)

Type:void

Parameter:

TypeParameterName
struct buffer_head *bh
intuptodate
361  BUG_ON(!buffer_async_write(bh))
363  page = the page this bh is mapped to
364  If uptodate Then
365  Emit the buffer bitops functions. Note that there are also functions* of the form "mark_buffer_foo()". These are higher-level functions which* do something in addition to setting a b_state bit.
366  Else
367  buffer_io_error(bh, ", lost async page write")
368  mark_buffer_write_io_error(bh)
369  Emit the buffer bitops functions. Note that there are also functions* of the form "mark_buffer_foo()". These are higher-level functions which* do something in addition to setting a b_state bit.
370  SetPageError(page)
373  first = If we *know* page->private refers to buffer_heads (page)
374  local_irq_save(flags)
375  -based spin_lock()* Don't use this unless you really need to: spin_lock() and spin_unlock()* are significantly faster.
377  clear_buffer_async_write(bh)
378  unlock_buffer(bh)
379  tmp = circular list of page's buffers
380  When tmp != bh cycle
381  If buffer_async_write(tmp) Then
383  Go to still_busy
385  tmp = circular list of page's buffers
387  -based spin_unlock()
388  local_irq_restore(flags)
389  d_page_writeback - end writeback against a page*@page: the page
390  Return
392  still_busy :
393  -based spin_unlock()
394  local_irq_restore(flags)
395  Return