问题标签 [ext2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
292 浏览

filesystems - ext2/3/4 文件系统如何处理 64 位 time_t?

我正在研究小型 ext2 文件系统映像操作工具(例如列出目录、添加和提取文件而无需挂载它)。我刚刚遇到了 Unix 时间戳字段的问题。它们在 ext 文件系统中都是 32 位的。众所周知,32 位 Unix 时间戳在 2038 年后将不再起作用。大多数软件只需将 time_t 的定义更改为 64 位即可轻松解决此问题。但是对于文件系统来说并不是那么容易。它们需要与现有实现兼容,但需要不时更新。ext 文件系统究竟是如何做到这一点的?特别是s_mtime, s_wtime, s_lastcheck, i_atime, i_ctime,i_mtime和等字段i_dtime

0 投票
1 回答
93 浏览

c - Linux C ext2fs_write_inode_full 无法写入

成功读取文件 inode 后:

(此时我已验证 inode 包含问题文件的正确数据)

我立即尝试用这个写回:

(当然,我打算在回写之前更改 inode 中的一些日期值)

但是 ext2fs_write_inode_full 返回错误值 2133571349。

该程序以root权限执行!

0 投票
0 回答
277 浏览

c++ - C/C++:读写 inode ext4

基本上,我正在尝试创建自己的工具来快速格式化 ext4 分区。

据我了解,其背后的想法是用空ext2_inode结构查找和覆盖现有的 inode。我认为我可以通过简单地计算和之间的差异来做到这一点,sb.s_inodes_count所以sb.s_free_inodes_count我会知道我必须覆盖多少个 inode。

但实际上它不起作用(毕竟只是无法安装),我很好奇为什么。如果是这样,那么我如何找到正确的 inode 位置(如果我发现它不正确)以及如何正确编写空结构?

0 投票
1 回答
44 浏览

assembly - 我在读取 ext2 文件系统的超级块结构时遇到问题。为什么我的代码读取 log2(block_size) 字段的错误值?

我尝试为 ext2 格式化驱动器编写引导加载程序。我将超级块加载到 0x7e00。然后我通过读取第 24 个字节来确定块大小。我用这个值向左移动了 1024。但是 cl 寄存器包含错误的值。

内存转储(在 0x7e00 + 24 为 4 个字节):

我的代码:

我做错了什么?

0 投票
1 回答
209 浏览

c - EXT2:了解 inode 位图

我在 EXT2 文件系统中每个块有 1280 个 inode。我想知道我知道使用的inode 1282的状态。我读取了对应于第二组的 inode 位图的第一个字节。我得到 0x07,意思是 00000111,这意味着 inode 1282 是空闲的,而实际上它不是。

我的理解有什么问题?

谢谢

0 投票
1 回答
63 浏览

filesystems - 像ext3,ext2,ext这样的文件系统的形式是什么

我已经阅读了维基百科、linfo.org 中的文件系统以及关于“文件系统是操作系统的一部分”的超级用户的问题,我怀疑我的理解。

维基百科说:“ext 是 linux 内核常用的文件系统”。
SU 的回答说:“操作系统包含一个允许它与文件系统一起工作的驱动程序”

现在分机本身的形式是什么?它是一个驱动程序,Linux用来组织磁盘上的数据吗?

0 投票
0 回答
63 浏览

c - 调用后出现段错误,但是一个非常相似的函数没有得到段错误错误

对于我的一门 CS 课程,我们正在创建一个迷你 EXT2 文件系统。在这个程序中,我必须创建函数 mkdir 和 creat。在这两个函数中,我们调用一个名为 iput 的函数,如下所示:

Minode 只是一个结构包装器,其中包含一个 inode 以及其他变量。这是我的 creat 函数的代码:

这是我的 mkdir 函数的代码:

它们几乎完全相同,但无论出于何种原因,在 mkdir 中调用 iput 后​​它都会崩溃并给我一个分段错误错误,但是这在我的 creat 函数中不会发生。这是没有意义的,因为它们实际上是完全相同的功能,因此如果另一个不工作,一个也不应该工作。此外,它们在同一个文件 mkdir_creat.c 中,但 iput 函数在不同的 C 文件中,我使用 gcc main.c mkdir_creat.c 等通过 linux 终端运行它。关于为什么 mkdir 的任何帮助函数给出分段错误错误将不胜感激!谢谢!

0 投票
1 回答
21 浏览

linux-kernel - open-file-description 表不像 Tanenbaum 在 Ubuntu 中描述的那样?

在 Modern Operating System 一书中,作者解释说,如果 shell 脚本有两个命令 p1 和 p2,并且每个命令轮流写入文件 x,p1 完成的位置将被 p2 记住,因为它们使用的是同一个 open -文件描述表。我用一个简单的脚本对此进行了测试。

事实证明,第二个命令完全覆盖了文件。脚本或实现有什么问题吗?

0 投票
0 回答
55 浏览

linux - 如何添加将用于修改 ext2 文件系统的新内核参数?

我目前正在实现ext2文件系统上的一个新特性,我需要一个参数来控制这个新特性(例如,设置一个特定的值来控制文件操作)。

刚刚发现Linux中有内核参数,我可以在运行时修改它们而无需重建或重新编译内核。

但是,我不知道如何添加这样的参数以及将其放在哪里(例如将其定义为宏XXX.h?)以及是否应该实现更多功能以使其成为内核参数,以便我可以检查或更改它在运行期间。

另一个问题是,当我计划将修改后的模块编译ext2 fs为模块时,我需要同时编译参数的东西(如果可能的话,idk)还是只编译整个内核?

0 投票
1 回答
90 浏览

python-3.x - 是否有任何快速的方法来检查 ext2/3/4 空闲 inode(在未安装的磁盘上)?和/或为什么它们不都具有相同的“坏类型”状态

使用 debugfs 检查空闲 inode(列表来自 dumpe2fs),我观察到它们中的大多数都有bad type状态,除了少数是regular. 我想检查它们,看看有多少以及它们中的哪些具有不同的状态。

因此,我制作了一个小 python/pexpect 程序,它启动 debugfs 并以交互方式向stat <inode>所有这些空闲 inode 发送请求,以查找哪些或它们具有其他bad type状态。

但是,我的程序似乎需要大约 2 年的时间才能获得所有要求的信息。我可以使用什么更快的方法来获取这些 inode 内容?

或者,我很高兴获得有关为什么免费 inode 可以具有regular状态的信息