public Boolean Add(String name, INodeDirectory dir) { if (Contains(name)) { return false; } if (dir.Contains("..")) { return false; } entries[name] = dir.inode.index; dir.inode.data.linkCount++; dir.inode.Save(); dir.AddParent(inode.index); Save(); return true; }
/// <summary> /// 创建一个文件夹 /// </summary> /// <param name="name"></param> public void CreateDirectory(String name) { VFS.AssertNameValid(name); INode inode = vfs.AllocateINode(1, 2333); if (!dir.Add(name, new INodeDirectory(vfs, inode))) { throw new Exception("创建文件夹失败"); } }