diff options
author | Christoph Hellwig | 2007-09-11 02:02:32 +0200 |
---|---|---|
committer | David Woodhouse | 2007-09-11 02:02:32 +0200 |
commit | b06355f0fe04a62d08238438654ec453e05304ba (patch) | |
tree | 03256315e789dc21d2721fb5484ef50b199c9b17 /fs | |
parent | Btrfs: [PATCH] extent_map: provide generic bmap (diff) | |
download | kernel-qcow2-linux-b06355f0fe04a62d08238438654ec453e05304ba.tar.gz kernel-qcow2-linux-b06355f0fe04a62d08238438654ec453e05304ba.tar.xz kernel-qcow2-linux-b06355f0fe04a62d08238438654ec453e05304ba.zip |
Btrfs: [PATCH] extent_map: make the writepage_io hook optional
The writepage_io is not mandatory, e.g. my port of xfs to the extent_map
code does not have one for now. So handle a NULL pointer gracefully
here.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/extent_map.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c index ff2b1dd25bf9..162766773a32 100644 --- a/fs/btrfs/extent_map.c +++ b/fs/btrfs/extent_map.c @@ -1607,7 +1607,12 @@ int extent_write_full_page(struct extent_map_tree *tree, struct page *page, continue; } clear_extent_dirty(tree, cur, cur + iosize - 1, GFP_NOFS); - ret = tree->ops->writepage_io_hook(page, cur, cur + iosize - 1); + if (tree->ops && tree->ops->writepage_io_hook) { + ret = tree->ops->writepage_io_hook(page, cur, + cur + iosize - 1); + } else { + ret = 0; + } if (ret) SetPageError(page); else { |