Function report |
Source Code:fs\iomap\buffered-io.c |
Create Date:2022-07-28 20:31:53 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__iomap_write_begin
Proto:static int __iomap_write_begin(struct inode *inode, loff_t pos, unsigned len, int flags, struct page *page, struct iomap *srcmap)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct inode * | inode | |
| loff_t | pos | |
| unsigned | len | |
| int | flags | |
| struct page * | page | |
| struct iomap * | srcmap |
| 602 | iop = iomap_page_create(inode, page) |
| 603 | block_size = i_blocksize(inode) |
| 604 | block_start = pos & ~(block_size - 1) |
| 605 | block_end = pos + len + block_size - 1 & ~(block_size - 1) |
| 606 | from = offset_in_page(pos) , to = from + len |
| 609 | If PageUptodate(page) Then Return 0 |
| 612 | Do |
| 615 | If plen == 0 Then Break |
| 618 | If Not (flags & IOMAP_WRITE_F_UNSHARE) && ( from <= poff || from >= poff + plen ) && ( to <= poff || to >= poff + plen ) Then Continue |
| 623 | If iomap_block_needs_zeroing(inode, srcmap, block_start) Then |
| 624 | If WARN_ON_ONCE(flags & IOMAP_WRITE_F_UNSHARE) Then Return -EIO |
| 627 | iomap_set_range_uptodate(page, poff, plen) |
| 628 | Continue |
| 631 | status = iomap_read_page_sync(block_start, page, poff, plen, srcmap) |
| 635 | When (block_start += plen) < block_end cycle |
| 637 | Return 0 |
| Name | Describe |
|---|---|
| iomap_write_begin |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |