擬似ファイルシステムを作ってみる(2)
Rev.26を表示中。最新版はこちら。
動作確認
ループバックをダミーのデバイスとしてマウントするためマウントファイルの作成[root@localhost test]# dd if=/dev/zero of=disk bs=1K count=1 1+0 records in 1+0 records out 1024 bytes (1.0 kB) copied, 0.0156137 s, 65.6 kB/s
仮想ファイルシステムモジュールの組み込み
[root@localhost test]# insmod vfs_test.ko
組み込んだら一応確認
[root@localhost test]# lsmod Module Size Used by vfs_test 8036 0 <- 組み込まれている。 ipv6 229620 12 dm_multipath 17292 0 uinput 10624 0 ppdev 10372 0 uvcvideo 51592 0
ファイルシステムとして登録されているか確認
[root@localhost test]# cat /proc/filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev devpts ext3 nodev ramfs nodev hugetlbfs iso9660 nodev mqueue nodev my_vfs <- 登録されている。
マウントして仮想vfsを見てみる。
[root@localhost test]# mount -t my_vfs -o /dev/loop0 ./disk /mnt/ [root@localhost test]# ls -l /mnt/ 合計 0 -rw-rw-rw- 1 root root 10 2010-01-08 08:36 a -rw-rw-rw- 1 root root 10 2010-01-08 08:28 b -rw-rw-rw- 1 root root 10 2010-01-08 08:28 c -rw-rw-rw- 1 root root 10 2010-01-08 04:40 d -rw-rw-rw- 1 root root 10 2010-01-08 04:15 e
各ファイルの中身を読んでみる。
[root@localhost test]# cat /mnt/a 1000 [root@localhost test]# cat /mnt/b 1001 [root@localhost test]# cat /mnt/c 1002 [root@localhost test]# cat /mnt/d 1003 [root@localhost test]# cat /mnt/e 1004
適当なファイルに書き込む。viで編集してもOK
[root@localhost test]# echo abcde > /mnt/d [root@localhost test]# cat /mnt/d abcde
アンマウントしてモジュールを削除して、my_vfsが無くなっていればOK
[root@localhost test]# umount /mnt/ [root@localhost test]# rmmod vfs_test [root@localhost test]# cat /proc/filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev devpts ext3 nodev ramfs nodev hugetlbfs iso9660 nodev mqueue