Signed-off-by: Yang Sheng <ys@whamcloud.com>
Change-Id: I9d633ba5c3004fd23de9522ebc8089792b96ed2c
Reviewed-on: http://review.whamcloud.com/1800
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Lai Siyao <laisiyao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
+# 2.6.38 export blkdev_get_by_dev
+#
+AC_DEFUN([LC_BLKDEV_GET_BY_DEV],
+[LB_CHECK_SYMBOL_EXPORT([blkdev_get_by_dev],
+[fs/block_dev.c],[
+AC_DEFINE(HAVE_BLKDEV_GET_BY_DEV, 1,
+ [blkdev_get_by_dev is exported by the kernel])
+],[
+])
+])
+
+#
# 2.6.39 remove unplug_fn from request_queue.
#
AC_DEFUN([LC_REQUEST_QUEUE_UNPLUG_FN],
# 2.6.39 remove unplug_fn from request_queue.
#
AC_DEFUN([LC_REQUEST_QUEUE_UNPLUG_FN],
memset(rq.unplug_fn, 0, sizeof(rq.unplug_fn));
],[
AC_DEFINE(HAVE_REQUEST_QUEUE_UNPLUG_FN, 1,
memset(rq.unplug_fn, 0, sizeof(rq.unplug_fn));
],[
AC_DEFINE(HAVE_REQUEST_QUEUE_UNPLUG_FN, 1,
- [request_queue has unplug_fn field]),
+ [request_queue has unplug_fn field]),
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
LC_BLK_QUEUE_MAX_SECTORS
LC_BLK_QUEUE_MAX_SEGMENTS
LC_BLK_QUEUE_MAX_SECTORS
LC_BLK_QUEUE_MAX_SEGMENTS
+ # 2.6.38
+ LC_BLKDEV_GET_BY_DEV
+
# 2.6.39
LC_REQUEST_QUEUE_UNPLUG_FN
# 2.6.39
LC_REQUEST_QUEUE_UNPLUG_FN
#define blk_queue_max_hw_sectors(q, sect) blk_queue_max_sectors(q, sect)
#endif
#define blk_queue_max_hw_sectors(q, sect) blk_queue_max_sectors(q, sect)
#endif
+#ifndef HAVE_BLKDEV_GET_BY_DEV
+# define blkdev_get_by_dev(dev, mode, holder) open_by_devnum(dev, mode)
+#endif
+
#ifndef HAVE_REQUEST_QUEUE_LIMITS
#define queue_max_sectors(rq) ((rq)->max_sectors)
#define queue_max_hw_sectors(rq) ((rq)->max_hw_sectors)
#ifndef HAVE_REQUEST_QUEUE_LIMITS
#define queue_max_sectors(rq) ((rq)->max_sectors)
#define queue_max_hw_sectors(rq) ((rq)->max_hw_sectors)
if (put_user((long)old_encode_dev(dev), (long*)arg))
GOTO(out, err = -EFAULT);
if (put_user((long)old_encode_dev(dev), (long*)arg))
GOTO(out, err = -EFAULT);
- bdev = open_by_devnum(dev, file->f_mode);
+ bdev = blkdev_get_by_dev(dev, file->f_mode, NULL);
if (IS_ERR(bdev))
GOTO(out, err = PTR_ERR(bdev));
if (IS_ERR(bdev))
GOTO(out, err = PTR_ERR(bdev));