
我有一個相當奇怪的問題。我正在運行3.2.0-58-generic #88-Ubuntu
(Ubuntu 12.04)並且我已經安裝了以下環回設備:
cat /proc/mounts | grep loop
/dev/loop0 /work/kernel/AEL/fpga-filesystem ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/loop1 /work/kernel/AEL/model-filesystem ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0
sudo losetup -a
/dev/loop0: [fc02]:4990567 (/work/kernel/AEL/openembed-fpga.img), offset 54525952
/dev/loop1: [fc02]:4990564 (/work/kernel/AEL/vexpress64-openembedded_minimal-armv8-gcc-4.8_20140222-611.img), offset 54525952
這兩個 .img 文件是完全獨立的文件,而不是符號連結:
ls -li /work/kernel/AEL/
2 drwxr-xr-x 21 root root 4096 Mar 26 20:14 fpga-filesystem
2 drwxr-xr-x 21 root root 4096 Mar 26 20:05 model-filesystem
4990567 -rw-r----- 1 nikbor01 nikbor01 3221225472 Mar 27 09:47 openembed-fpga.img
4990564 -rw-r----- 1 nikbor01 nikbor01 3221225472 Mar 26 20:06 vexpress64-openembedded_minimal-armv8-gcc-4.8_20140222-611.img
兩個目錄具有相同 INODE 編號的原因是圖像相同(即具有相同的內容),但顯然安裝在不同的循環設備下。
最後,我匯出透過 nfs 掛載映像的 2 個目錄:
/work/kernel/AEL/fpga-filesystem *(rw,sync,no_subtree_check,no_root_squash,insecure)
/work/kernel/AEL/model-filesystem *(rw,sync,crossmnt,no_subtree_check,no_root_squash,insecure)
現在是一切的頂峰 - 當我在 client1 上安裝 fpga-filesystem 並在 client2 上安裝 model-filesystem 時,它們都會看到相同的檔案系統(例如 fpga-filesystem 下的檔案系統)。
這是 client1 上的掛載:
10.1.209.36:/work/kernel/AEL/fpga-filesystem / nfs rw,relatime,vers=3,rsize=4096,wsize=4096,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.1.209.36,mountvers=3,mountproto=tcp,local_lock=all,addr=10.1.209.36 0 0
在 client2 上:
10.1.209.36:/work/kernel/AEL/model-filesystem / nfs rw,relatime,vers=3,rsize=4096,wsize=4096,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.1.209.36,mountvers=3,mountproto=tcp,local_lock=all,addr=10.1.209.36 0 0
但是,當我ls /
在兩個客戶端上執行此操作時,我只看到 fpga-filesystem 目錄的內容,這完全沒有意義。我有什麼想法可以調試這個問題。