struct oracleasm_query_disk_v2 *qd_info;
struct file *filp;
struct block_device *bdev;
- unsigned int lsecsz;
+ unsigned int lsecsz = 0;
int ret;
mlog_entry("(0x%p, 0x%p, %u)\n", file, buf, (unsigned int)size);
bdev = I_BDEV(filp->f_mapping->host);
- lsecsz = ilog2(bdev_logical_block_size(bdev));
qd_info->qd_max_sectors = compute_max_sectors(bdev);
qd_info->qd_hardsect_size = asm_block_size(bdev);
qd_info->qd_feature = asm_integrity_format(bdev) &
ASM_INTEGRITY_QDF_MASK;
- qd_info->qd_feature |= lsecsz << ASM_LSECSZ_SHIFT & ASM_LSECSZ_MASK;
+ if (use_logical_block_size == false) {
+ lsecsz = ilog2(bdev_logical_block_size(bdev));
+ qd_info->qd_feature |= lsecsz << ASM_LSECSZ_SHIFT
+ & ASM_LSECSZ_MASK;
+ }
+
mlog(ML_ABI|ML_DISK,
"Querydisk returning qd_max_sectors = %u and "
"qd_hardsect_size = %u, lsecsz = %u, qd_integrity = %u\n",