blockdev doesn't work as reported with loop devices
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
util-linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Chris J Arges | ||
Utopic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
SRU Justification:
[Impact]
blockdev won't work correctly with loopback devices.
[Test Case]
1) Create and mount a loop back device on /dev/loop0
2) Run:
$ sudo blockdev --report /dev/loop0
This should work without an ioctl error.
[Regression Potential]
This patch is backported from an upstream release commit 569d1dac.
Its already in utopic, and the patch modifies the program to no longer use an invalid ioctl call.
--
According to blockdev's manual:
--report
Print a report for the specified device. It is possible to give
in 512-byte sectors.
However, I'm running Ubuntu installed with wubi, so my root dev is on a loopback device. Here's my /proc/partitions:
major minor #blocks name
7 0 30457856 loop0
7 1 31457280 loop1
8 0 732574584 sda
8 1 26214400 sda1
8 2 307263488 sda2
8 3 1 sda3
8 5 399092736 sda5
So according to the manual, all these devices should be printed with blockdev --report. But they are not, the loop devices are excluded:
$ sudo blockdev --report
[sudo] password for user:
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 750156374016 /dev/sda
rw 256 512 4096 2048 26843545600 /dev/sda1
rw 256 512 4096 52430848 314637811712 /dev/sda2
rw 256 512 1024 666957824 1024 /dev/sda3
rw 256 512 4096 666959872 408670961664 /dev/sda5
$
ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: util-linux 2.20.1-5.1ubuntu2
ProcVersionSign
Uname: Linux 3.5.0-27-generic x86_64
ApportVersion: 2.6.1-0ubuntu10
Architecture: amd64
Date: Sun Apr 28 23:48:07 2013
InstallationDate: Installed on 2012-04-12 (381 days ago)
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MarkForUpload: True
SourcePackage: util-linux
UpgradeStatus: Upgraded to quantal on 2012-11-15 (164 days ago)
Changed in util-linux (Ubuntu Trusty): | |
assignee: | nobody → Chris J Arges (arges) |
status: | New → In Progress |
importance: | Undecided → Medium |
description: | updated |
tags: | added: verification-done |
Turns out blockdev is actually getting an ioctl error on loop devices when run with --report. I had only tested a few values directly, eg using --getsz. Perhaps that is why this happens?
$ sudo blockdev --report /dev/loop0
RO RA SSZ BSZ StartSec Size Device
blockdev: ioctl error on /dev/loop0
$ sudo blockdev --g
60915712
$