blkdev_issue_zeroout — zero-fill a block range
| int blkdev_issue_zeroout ( | struct block_device * bdev, | 
| sector_t sector, | |
| sector_t nr_sects, | |
| gfp_t gfp_mask, | |
| bool discard ); | 
bdevblockdev to write
sectorstart sector
nr_sectsnumber of sectors to write
gfp_maskmemory allocation flags (for bio_alloc)
discardwhether to discard the block range
   Zero-fill a block range.  If the discard flag is set and the block
   device guarantees that subsequent READ operations to the block range
   in question will return zeroes, the blocks will be discarded. Should
   the discard request fail, if the discard flag is not set, or if
   discard_zeroes_data is not supported, this function will resort to
   zeroing the blocks manually, thus provisioning (allocating,
   anchoring) them. If the block device supports the WRITE SAME command
   blkdev_issue_zeroout will use it to optimize the process of
   clearing the block range. Otherwise the zeroing will be performed
   using regular WRITE calls.