From d406478ae4d0c6dac78ea2d746f529b3055934b5 Mon Sep 17 00:00:00 2001 From: Nicholas Bellinger Date: Thu, 31 Jan 2013 15:05:48 -0800 Subject: [PATCH] --- yaml --- r: 349470 b: refs/heads/master c: 7a3cf6ca1ab2a2f7161c6dec5a787fc7a5de864e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/target/target_core_device.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 56eb8d09aff7..ad7cdd29509c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: faa06ab9aed22f0ad0e15bbf3f80463b5dd7cbe0 +refs/heads/master: 7a3cf6ca1ab2a2f7161c6dec5a787fc7a5de864e diff --git a/trunk/drivers/target/target_core_device.c b/trunk/drivers/target/target_core_device.c index e2695101bb99..f2aa7543d20a 100644 --- a/trunk/drivers/target/target_core_device.c +++ b/trunk/drivers/target/target_core_device.c @@ -941,6 +941,8 @@ int se_dev_set_queue_depth(struct se_device *dev, u32 queue_depth) int se_dev_set_fabric_max_sectors(struct se_device *dev, u32 fabric_max_sectors) { + int block_size = dev->dev_attrib.block_size; + if (dev->export_count) { pr_err("dev[%p]: Unable to change SE Device" " fabric_max_sectors while export_count is %d\n", @@ -978,8 +980,12 @@ int se_dev_set_fabric_max_sectors(struct se_device *dev, u32 fabric_max_sectors) /* * Align max_sectors down to PAGE_SIZE to follow transport_allocate_data_tasks() */ + if (!block_size) { + block_size = 512; + pr_warn("Defaulting to 512 for zero block_size\n"); + } fabric_max_sectors = se_dev_align_max_sectors(fabric_max_sectors, - dev->dev_attrib.block_size); + block_size); dev->dev_attrib.fabric_max_sectors = fabric_max_sectors; pr_debug("dev[%p]: SE Device max_sectors changed to %u\n",