Start writing a page to a block device
int bdev_write_page(struct block_device * bdev, sector_t sector, struct page * page, struct writeback_control * wbc);
bdev
The device to write the page to
sector
The offset on the device to write the page to (need not be aligned)
page
The page to write
wbc
The writeback_control for the write
On entry, the page should be locked and not currently under writeback. On exit, if the write started successfully, the page will be unlocked and under writeback. If the write failed already (eg the driver failed to queue the page to the device), the page will still be locked. If the caller is a ->writepage implementation, it will need to unlock the page.
Errors returned by this function are usually “soft”, eg out of memory, or queue full; callers should try a different route to write this page rather than propagate an error back up the stack.
negative errno if an error occurs, 0 if submission was successful.