1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
virtio-scsi gives improper discard sysfs entries
Apologies if this is just an inherent part of paravirtualization that should be expected.
In my host, I have an LVM thin pool with chunk_size 128MB. Within it, I have a thin volume "tmp". In the host:
# fdisk -l /dev/lvm/tmp
Disk /dev/lvm/tmp: 256 MiB, 268435456 bytes, 524288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 262144 bytes / 134217728 bytes
Disklabel type: gpt
Disk identifier: BAE3154E-6E85-F642-8129-BAD7B58B2775
Device Start End Sectors Size Type
/dev/lvm/tmp1 2048 524254 522207 255M Linux filesystem
$ lsblk
...
└─lvm-tmp 254:13 0 256M 0 lvm
└─lvm-tmp1 254:14 0 255M 0 part
$ cat /sys/dev/block/254:13/discard_alignment
0
$ cat /sys/dev/block/254:13/queue/discard_granularity
134217728
$ cat /sys/dev/block/254:13/queue/discard_max_bytes
17179869184
$ cat /sys/dev/block/254:13/queue/discard_max_hw_bytes
0
$ cat /sys/dev/block/254:13/queue/discard_zeroes_data
0
$ cat /sys/dev/block/254:14/discard_alignment
133169152
$ cat /sys/dev/block/254:14/queue/discard_granularity
134217728
$ cat /sys/dev/block/254:14/queue/discard_max_bytes
17179869184
$ cat /sys/dev/block/254:14/queue/discard_max_hw_bytes
0
$ cat /sys/dev/block/254:14/queue/discard_zeroes_data
0
If this is given to QEMU using virtio-scsi:
-device virtio-scsi-pci,id=scsi1 \
-drive driver=raw,node-name=hdb,file=/dev/lvm/tmp,if=none,discard=unmap,id=hd2 \
-device scsi-hd,drive=hd2,bootindex=1 \
Then incorrect values are given:
$ lsblk
...
sdb 8:16 0 256M 0 disk
└─sdb1 8:17 0 255M 0 part /mnt
$ cat /sys/dev/block/8:16/discard_alignment
0
$ cat /sys/dev/block/8:16/queue/discard_granularity
4096
$ cat /sys/dev/block/8:16/queue/discard_max_bytes
1073741824
$ cat /sys/dev/block/8:16/queue/discard_max_hw_bytes
1073741824
$ cat /sys/dev/block/8:16/queue/discard_zeroes_data
0
$ cat /sys/dev/block/8:17/discard_alignment
133169152
And, there isn't even a /sys/dev/block/8:17/queue direcotry.
This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:
https://gitlab.com/qemu-project/qemu/-/issues/161
|