From 659b978caa5c97bbc2477d1393461c944544a1a7 Mon Sep 17 00:00:00 2001 From: Mole Shang <135e2@135e2.dev> Date: Sat, 17 Feb 2024 12:23:15 +0800 Subject: lab fs/bigfile: finish --- kernel/fs.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'kernel/fs.h') 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. -- cgit v1.2.3