LVM2 ではまった

Momonga Linux trunk*1 で LVM のスナップショット機能を使い始めた今年の 7/14 から気になっていたことなんだけど、起動ログで以下のような微妙なログが流れていた。別に害はなかったので無視していたが。

Starting monitoring for VG homevg:   1 logical volume(s) in volume group "homevg" monitored
Starting monitoring for VG poolvg:   1 logical volume(s) in volume group "poolvg" monitored
Starting monitoring for VG rootvg:   5 logical volume(s) in volume group "rootvg" monitored
udevd-work[1298]: 'udisks-lvm-pv-export a4w56O-6WJq-Ug30-wTt9-KzMj-5kml-HpnUHD' unexpected exit with status 0x0006
udevd-work[1527]: 'udisks-lvm-pv-export dk1RBX-1AXe-3l3U-Hnbf-qOuP-M03y-10ymfa' unexpected exit with status 0x0006
udevd-work[1593]: 'udisks-lvm-pv-export 60oinI-55eS-jXnK-rvGH-ov9N-etMG-PWy8tL' unexpected exit with status 0x0006
udevd-work[1534]: 'udisks-lvm-pv-export a4w56O-6WJq-Ug30-wTt9-KzMj-5kml-HpnUHD' unexpected exit with status 0x0006

ようやく調べてみたところ、この原因は lvm2 や device-mapper が原因ではなかった。udisks に udisks-1.0.1-Update-to-latest-LVM2-API.patch というパッチが足りていないだけだった。

このパッチを udisks へ当てたら「unexpected exit」なんていうメッセージは流れなくなった。これで心の中にあったもやもやがひとつ消えたよ。

あとついでに書いておくと、LVM のスナップショット領域を umount した直後に dmsetup remove とやっても次のようなエラーが出たり出なかったりして困った。

device-mapper: ioctl: unable to remove open device homevg-homess

これの回避策はとても簡単なものだった。umount 後に sleep を入れればいいだけ。とりあえず unmount してから sleep を 3 秒入れて dmsetup remove を行うようにしている。今のところ、上のようなエラーは出ていない。

*1:Momonga Project は辞めたので、今は Momonga Linux trunk と自分の変更が混ざった環境になっている。