我想在我的內核模塊中獲取文件系統的文件系統掛載點,這是一個可堆疊的文件系統。例如,如果/ home/ab/abc是一個文件,並且/ home被安裝在不同的文件系統上,我希望將dentry或路徑結構設置爲/ home。 我想在不修改內核代碼的情況下在模塊中執行此操作。 例如/ home/user /中有一個文件,現在我想知道該文件在哪個分區中。例如,該文件可能位於與「/」相同的分區中,或者該文件可能位於安裝在/ home或/ home/user上的另一個分區中。在內核模塊中獲取文件系統掛載點
2
A
回答
5
您可以從current->namespace
獲取文件系統列表。通過迭代current->namespace->list
(項目爲struct vfsmount
),您可以獲取所有已安裝的文件系統。 vfsmount->mnt_mountpoint
是你想要的目錄條目。
您可以按照代碼prints /proc/mounts
(例如base.c/mountstats_open
,namespace.c/m_start
)獲取更多詳細信息(例如需要某些鎖定)。
但是,我不知道你是否可以在內核模塊中做到這一點。
1
你可以從這個代碼獲得指向vfsmount結構
http://copilotco.com/mail-archives/security-module.2003/msg00627.html
相關問題
- 1. 獲取內核模塊中的所有掛載點
- 2. linux內核模塊阻止卸載文件系統
- 3. 獲取內核模塊中安裝的文件系統的列表?
- 4. 內核掛tty子系統
- 5. 內核模塊監控系統調用?
- 6. Linux內核模塊(內核3.5)中的系統調用攔截
- 7. 我如何獲取已掛載的文件系統的列表
- 8. 如何卸載正在內核代碼中的文件系統
- 9. 如何在內核模塊中安裝系統調用
- 10. 在Linux下掛載系統調用不能顯示文件系統的掛載點通過df命令
- 11. unix上的掛載文件系統
- 12. 從Linux內核中讀取文件系統事件(不帶Inotify)
- 13. 在運行時從linux內核模塊獲取內核版本
- 14. 如何在啓動時修改linux內核以掛載vhd文件並從中加載系統?
- 15. 在系統啓動時自動在/ etc/fstab中掛載文件系統
- 16. 獲取系統進程模塊文件名
- 17. 加載Android內核模塊
- 18. ASP.NET核心內置DI系統中的DI模塊
- 19. 沒有內核的Linux文件系統
- 20. 從Linux內核模塊的文件描述符中獲取文件名/路徑?
- 21. 如何從內核模塊中的文件描述符獲取文件名?
- 22. 如何在Linux內核模塊中讀取/寫入文件?
- 23. 在Android內核中加載內核模塊
- 24. 在內核中標記可加載的內核模塊
- 25. Android文件系統掛鉤
- 26. 從掛載到內核模塊傳遞參數
- 27. Linux內核模塊:重新劫持虛擬文件系統的迭代功能
- 28. Linux模塊 - I/O內存寄存器讀/寫掛起系統
- 29. Heroku:在本地文件系統中使用外部掛載
- 30. 如何獲取內核模塊的地址(使用insmod加載)
感謝您的答覆。其實我想知道如何知道特定文件的掛載點。如果你能看看它,我已經編輯過這個問題。 – gaurav 2012-01-04 17:14:13