08:00:57 # Life LVM 関連のコード。 grub の LVM 関連でバグを踏んだのですが、コードで追いかけてみると結構おもしろいですね。 grub のソースコードの disk/lvm.c, include/grub/lvm.h あたりで実装されているようです。 で、コードを読んでいて壮絶な違和感を感じるわけです。なんだか、ディスク上のファイルシステムとかのメタデータの データ形式っていうのはビットマップデータで がちがちに管理しているべきというような先入観があったんですが、 なんかコードは文字列処理をしてます。で、ディスクの中身を lv で見てみたら本当に文字列がありました。 期待していたのと違ったので新鮮な驚きを感じました。
@vgpbuilder { id = "C5yFF6-1EEq-Wu8L-zZL1-aVXA-REg4-1cAM03" seqno = 1 status = ["RESIZEABLE", "READ", "WRITE"] extent_size = 8192 max_lv = 0 max_pv = 0 physical_volumes { pv0 { id = "PP0w9u-WjpS-cPKx-d4VM-5vAR-LZKQ-MvaZ7K" device = "/dev/sda4" status = ["ALLOCATABLE"] pe_start = 384 pe_count = 4524 } } } # Generated by LVM2: Fri Jun 2 22:52:52 2006 contents = "Text Format Volume Group" version = 1 description = "" creation_host = "dancer64" # Linux dancer64 2.6.17-rc5dancer-gba8f5bab-dirty #1 PREEMPT Thu Jun 1 19:50:07 JST 2006 x86_64 creation_time = 1149256372 # Fri Jun 2 22:52:52 2006
$Id: dancer-diary.el,v 1.92 2007/08/30 21:46:09 dancer Exp $