From 8be6fde622f5b6bd80fe634f64561fe727837671 Mon Sep 17 00:00:00 2001 From: johann Date: Mon, 21 Jul 2008 15:07:00 +0000 Subject: [PATCH] Branch b1_6 b=9945 i=bzzz i=adilger add warning when underlying device queue is not tuned to for large I/O requests. --- lustre/obdfilter/filter.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lustre/obdfilter/filter.c b/lustre/obdfilter/filter.c index 1e991ba..333c6a2 100644 --- a/lustre/obdfilter/filter.c +++ b/lustre/obdfilter/filter.c @@ -1684,6 +1684,7 @@ int filter_common_setup(struct obd_device *obd, obd_count len, void *buf, __u8 *uuid_ptr; char *str, *label; char ns_name[48]; + request_queue_t *q; int rc; ENTRY; @@ -1786,6 +1787,15 @@ int filter_common_setup(struct obd_device *obd, obd_count len, void *buf, if (rc) GOTO(err_post, rc); + q = bdev_get_queue(mnt->mnt_sb->s_bdev); + if (q->max_sectors < q->max_hw_sectors && + q->max_sectors < PTLRPC_MAX_BRW_SIZE >> 9) + LCONSOLE_INFO("%s: underlying device %s should be tuned " + "for larger I/O requests: max_sectors = %u " + "could be up to max_hw_sectors=%u\n", + obd->obd_name, mnt->mnt_sb->s_id, + q->max_sectors, q->max_hw_sectors); + uuid_ptr = fsfilt_uuid(obd, obd->u.obt.obt_sb); if (uuid_ptr != NULL) { class_uuid_unparse(uuid_ptr, &uuid); -- 1.8.3.1