You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 29, 2023. It is now read-only.
Roughly speaking, there might be two major ways to solve this issue.
Expand logical block size from file system's point of view.
It means that we should make bio.c handle contiguous sectors as a filesystem block.
In addition to this, we should also rewrite the superblock definition and various inode space operation in fs.c ( e.g., bmap, itrunc, readi, writei, and so on). It might be more preferable to re-make file system layer completely.
Add double indirect reference block in inode and fix bmap, itrunc in fs.c
Ancient UNIX defines double indirect reference block for big files
It can be achieved by same way as current indirect block handling in xv6.
Ideally, 1. is more preferable, but it takes much more time than 2.
I hope that the following steps might help you.
i) Add double indirect reference block in inode and fix bmap, itrunc
ii) Modify block I/O layer to handle over 512 byte sectors but set block size 512 byte at this moment.
iii) Modify super block to treat variable block size
iv) Modify bmap, itrunc, i-node, data-block bitmap operations , inode look up from disk devices with a value which a superblock has.
File size is limited to 71680 bytes.
This comes from
MAXFILE
(= (NDIRECT
(12) +NINDIRECT
(512/4)) *BSIZE
(512))The text was updated successfully, but these errors were encountered: