diff options
author | Christoph Hellwig <hch@lst.de> | 2007-09-10 20:02:32 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@hera.kernel.org> | 2007-09-10 20:02:32 -0400 |
commit | b06355f0fe04a62d08238438654ec453e05304ba (patch) | |
tree | 03256315e789dc21d2721fb5484ef50b199c9b17 /fs/btrfs/extent_map.c | |
parent | d396c6f554d182b7bce4e2bb2acb47f80430c05f (diff) |
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/btrfs/extent_map.c')
-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, | |||
1607 | continue; | 1607 | continue; |
1608 | } | 1608 | } |
1609 | clear_extent_dirty(tree, cur, cur + iosize - 1, GFP_NOFS); | 1609 | clear_extent_dirty(tree, cur, cur + iosize - 1, GFP_NOFS); |
1610 | ret = tree->ops->writepage_io_hook(page, cur, cur + iosize - 1); | 1610 | if (tree->ops && tree->ops->writepage_io_hook) { |
1611 | ret = tree->ops->writepage_io_hook(page, cur, | ||
1612 | cur + iosize - 1); | ||
1613 | } else { | ||
1614 | ret = 0; | ||
1615 | } | ||
1611 | if (ret) | 1616 | if (ret) |
1612 | SetPageError(page); | 1617 | SetPageError(page); |
1613 | else { | 1618 | else { |