summaryrefslogtreecommitdiff
path: root/kernel/fs.h
diff options
context:
space:
mode:
authorMole Shang <[email protected]>2024-02-17 12:23:15 +0800
committerMole Shang <[email protected]>2024-02-17 12:39:50 +0800
commit659b978caa5c97bbc2477d1393461c944544a1a7 (patch)
tree9c1920f3e65443f838d0f6e8af020d0903ab3fcd /kernel/fs.h
parente8e0a7b4c97064eb5e9415726d7e38aaceccd3fd (diff)
downloadxv6-labs-659b978caa5c97bbc2477d1393461c944544a1a7.tar.gz
xv6-labs-659b978caa5c97bbc2477d1393461c944544a1a7.tar.bz2
xv6-labs-659b978caa5c97bbc2477d1393461c944544a1a7.zip
lab fs/bigfile: finish
Diffstat (limited to 'kernel/fs.h')
-rw-r--r--kernel/fs.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/fs.h b/kernel/fs.h
index 139dcc9..9ae5ece 100644
--- a/kernel/fs.h
+++ b/kernel/fs.h
@@ -24,8 +24,10 @@ struct superblock {
#define FSMAGIC 0x10203040
-#define NDIRECT 12
-#define NINDIRECT (BSIZE / sizeof(uint))
+#define NDIRECT 11
+#define NSG_INDIRECT (BSIZE / sizeof(uint))
+#define NDB_INDIRECT (NSG_INDIRECT * NSG_INDIRECT)
+#define NINDIRECT (NSG_INDIRECT + NDB_INDIRECT)
#define MAXFILE (NDIRECT + NINDIRECT)
// On-disk inode structure
@@ -35,7 +37,7 @@ struct dinode {
short minor; // Minor device number (T_DEVICE only)
short nlink; // Number of links to inode in file system
uint size; // Size of file (bytes)
- uint addrs[NDIRECT+1]; // Data block addresses
+ uint addrs[NDIRECT+2]; // Data block addresses
};
// Inodes per block.