需要“ls -s”来显示MINIX中正确的块数

时间:2012-10-24 08:48:54

标签: ls minix

我正在参加有关minix的操作系统课程,我想要一些建议。

我正在试图弄清楚如何修改minix,以便它ls -s将与linux中的相同。

我理解虽然minix和linux ls -s类似,但是当使用dd of=XXXX bs=4096 count=1 seek=5特意制作文件时,linux将显示文件大小为4个块,而minix将显示24个块。

我理解为什么会发生这种情况,因为与minix不同,linux识别出有20个空块,所以它会报告它的逻辑大小,忽略空块。
我一直想弄清楚从哪里开始,我的讲师指着我servers/fs/stadir.c所以我抬头看了上课。

我发现相关的唯一部分(涉及st_size)是:

statbuf.st_size = rip->i_size;

      if (rip->i_pipe == I_PIPE) {
            statbuf.st_mode &= ~I_REGULAR;  /* wipe out I_REGULAR bit for pipes */
            if (fil_ptr != NIL_FILP && fil_ptr->filp_mode & R_BIT) 
                    statbuf.st_size -= fil_ptr->filp_pos;
      }

这是minix源代码的第27700-27706行。

有人可以给我一个关于在哪里寻找的提示,或者我是否正在寻找正确的地方,暗示或其他什么。

0 个答案:

没有答案