国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux系統中mount樹結構與遍歷

2024-08-28 00:05:00
字體:
來源:轉載
供稿:網友
linux中,vfsmount結構記錄掛載文件系統。其數據成員mnt_parent指向該文件系統的父文件系統, mnt_mounts是孩子文件系統的鏈頭部,mnt_child指向兄弟結點
例如 系統的根文件系統是ext3格式,在/mnt/winc /mnt/wind /mnt/wine 目錄上分別掛載三個分區(可以認為是windows下的c d e 盤)。這樣系統就為新掛載的三個文件系統分別分配了vfsmount結構,并將其 mnt_parent 指向根文件系統的vfsmount結構,通過mnt_child鏈入跟文件系統vfsmount的mnt_mounts 鏈表,初始化mnt_mounts指向自身.
內核代碼中,對一特定vfsmount為根的mount樹遍歷,用到了先根遍歷算法:
static struct vfsmount *next_mnt(struct vfsmount *p, struct vfsmount *root)
{
struct list_head *next = p->mnt_mounts.next;
if (next == &p->mnt_mounts) {
while (1) {
if (p == root)
return NULL;
next = p->mnt_child.next;
if (next != &p->mnt_parent->mnt_mounts)
break;
p = p->mnt_parent;
}
}
return list_entry(next, struct vfsmount, mnt_child);
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邵东县| 门头沟区| 丰原市| 仪陇县| 兴国县| 肃宁县| 德安县| 安宁市| 西安市| 东阳市| 汶上县| 乐昌市| 潮州市| 岱山县| 大丰市| 汾西县| 南川市| 巨鹿县| 中方县| 宣武区| 夏津县| 隆子县| 翁牛特旗| 长寿区| 延边| 芦山县| 类乌齐县| 宜宾县| 锦州市| 洪泽县| 从江县| 舞钢市| 治多县| 威海市| 察隅县| 英超| 绥中县| 阿克苏市| 法库县| 山西省| 达尔|