Name

bdev_write_page — Start writing a page to a block device

Synopsis

int bdev_write_page (struct block_device * bdev,
 sector_t sector,
 struct page * page,
 struct writeback_control * wbc);
 

Arguments

struct block_device * bdev

The device to write the page to

sector_t sector

The offset on the device to write the page to (need not be aligned)

struct page * page

The page to write

struct writeback_control * wbc

The writeback_control for the write

Description

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.

Return

negative errno if an error occurs, 0 if submission was successful.