how to read block device size from sysfs?

From: Gerd v. Egidy
Date: Wed Dec 01 2010 - 11:48:26 EST


Hi,

I want to read the size of a block device in bytes from sysfs.

There are /sys/block/<device>/size and
/sys/block/<device>/<device><partition>/size.

But these values are reported in sectors, not in bytes. As discs with 4K
sectors are on the horizon now, I don't want to make wrong assumptions on the
sector size.

So what is the correct sector size for /sys/block/<device>/size?

/sys/block/<device>/queue/logical_block_size,
/sys/block/<device>/queue/physical_block_size or something else?

While searching for an answer I've stumbled across some reports about drives
lying about their sector sizes to "improve" compatibility. Is there some best
practice to still get the correct size in bytes?

Kind regards,

Gerd

--
Address (better: trap) for people I really don't want to get mail from:
jonas@xxxxxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/