# dmsetup info
Name: ubuntu--vg-root
State: ACTIVE
Read Ahead: 256 <---- cat /sys/dev/block/253:0/bdi/read_ahead_kb gives 128 not 256
Tables present: LIVE
Open count: 1 <--- # how / from where are we getting this value
Event number: 0
Major, minor: 253, 0
Number of targets: 1
UUID: LVM-cNOV7zcldgzsAuxUbXbSdk2WhT012Pjay1B0JmoKCcTFOQDa9u19bDkqkdceVY0a
# strace for dmsetup info
open("/sys/dev/block/253:0/bdi/read_ahead_kb", O_RDONLY) = 4
read(4, "128\n", 23) = 4
close(4)= 0
write(1, "Read Ahead:256\n", 23Read Ahead:256) = 23
write(1, "Tables present: LIVE\n", 24Tables present: LIVE) = 24
write(1, "Open count:1\n", 21Open count:1) = 21
write(1, "Event number:0\n", 21Event number:0) = 21
write(1, "Major, minor:253, 0\n", 26Major, minor:253, 0) = 26
write(1, "Number of targets: 1\n", 21Number of targets: 1) = 21
write(1, "UUID: LVM-cNOV7zcldgzsAuxUbXbSdk"..., 75UUID: LVM-cNOV7zcldgzsAuxUbXbSdk2WhT012Pjay1B0JmoKCcTFOQDa9u19bDkqkdceVY0a) = 75
write(1, "\n", 1)= 1
dmsetup info가 공개 횟수를 얻는 방법을 알아내려고 노력 중입니다. 정말 알고 싶었지만 strace를 실행했지만 알 수 없습니다.
또한 /sys/dev/block/253:0/bdi/read_ahead_kb 에서 미리 읽기 값이 128로 표시되지만
dmsetup 정보에는 256이 표시됩니다.
이거 모순 아닌가요? 여기서 뭔가 빠졌나요?
답변1
열린 횟수는 ioctl에 의해 반환되며 DM_DEV_STATUS
strace에서 볼 수 있습니다.
ioctl(3, DM_DEV_STATUS, {version=4.0.0, data_size=16384, name="fedora-swap", flags=DM_EXISTS_FLAG} => {version=4.42.0, data_size=305, dev=makedev(0xfd, 0x2), name="fedora-swap", uuid="LVM-T3AyeS3A7de018NxTFWF0VlGG9nvww0aKeYyylJXyg92FDUfj7qe0NkAoVFgYYf1", target_count=1, open_count=2, event_nr=0, flags=DM_EXISTS_FLAG|DM_ACTIVE_PRESENT_FLAG}) = 0
dmsetup 출력의 미리 읽기 값은 512b 섹터에 있지만 sysfs에서는 KiB 단위입니다 -- 256*512 = 128 KiB