[lkml]   [2012]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[RFC PATCH] block: all callers should check blkdev_issue_flush's return
    It is concerning that a FLUSH may fail but the blkdev_issue_flush
    callers assume it will always succeed.

    Each blkdev_issue_flush caller should come to terms with the reality
    that a FLUSH may fail -- the file_operations' .fsync methods in
    particular. nilfs2 is the only filesystem that checks
    blkdev_issue_flush's return.

    Signed-off-by: Mike Snitzer <>
    include/linux/blkdev.h | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
    index ba43f40..76d6e48 100644
    --- a/include/linux/blkdev.h
    +++ b/include/linux/blkdev.h
    @@ -968,7 +968,7 @@ static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt,

    #define BLKDEV_DISCARD_SECURE 0x01 /* secure discard */

    -extern int blkdev_issue_flush(struct block_device *, gfp_t, sector_t *);
    +extern int __must_check blkdev_issue_flush(struct block_device *, gfp_t, sector_t *);
    extern int blkdev_issue_discard(struct block_device *bdev, sector_t sector,
    sector_t nr_sects, gfp_t gfp_mask, unsigned long flags);
    extern int blkdev_issue_zeroout(struct block_device *bdev, sector_t sector,

     \ /
      Last update: 2012-06-26 18:01    [W:0.022 / U:4.268 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site