diff options
author | Brian Behlendorf <[email protected]> | 2013-01-28 14:15:39 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-01-28 15:35:00 -0800 |
commit | 2b7ab9d4d9b307c354795e2805ff313ddd01985d (patch) | |
tree | d58656a05ce0968b6d931bc36b0ef7bdaeb5c0ca /include | |
parent | 930b6fec210d828cb3755f8756dbbbf3001cccae (diff) |
Linux 2.6.26 compat, lookup_bdev()
It's doubtful many people were impacted by this but commit 6c28567
accidentally broke ZFS builds for 2.6.26 and earlier kernels. This
commit depends on the lookup_bdev() function which exists in 2.6.26
but wasn't exported until 2.6.27.
The availability of the function isn't critical so a wrapper is
introduced which returns ERR_PTR(-ENOTSUP) when the function isn't
defined. This will have the effect of causing zvol_is_zvol() to
always fail for 2.6.26 kernels. This in turn means vdevs will
always get opened concurrently which is good for normal usage.
This will only become an issue if your using a zvol as a vdev in
another pool. In which case you really should be using a newer
kernel anyway.
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #1205
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/blkdev_compat.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/blkdev_compat.h b/include/linux/blkdev_compat.h index 1ff8eeaf3..9d3e6f07c 100644 --- a/include/linux/blkdev_compat.h +++ b/include/linux/blkdev_compat.h @@ -393,6 +393,15 @@ bio_set_flags_failfast(struct block_device *bdev, int *flags) #endif /* HAVE_1ARG_INVALIDATE_BDEV */ /* + * 2.6.27 API change + * The function was exported for use, prior to this it existed by the + * symbol was not exported. + */ +#ifndef HAVE_LOOKUP_BDEV +# define lookup_bdev(path) ERR_PTR(-ENOTSUP) +#endif + +/* * 2.6.30 API change * To ensure good performance preferentially use the physical block size * for proper alignment. The physical size is supposed to be the internal |