From dc405cdb7b4e4d4bb3fc50b3e7f44e8795c0218e Mon Sep 17 00:00:00 2001 From: Robert Morris Date: Tue, 23 Aug 2022 08:23:12 -0400 Subject: don't panic if out of disk space when extending a directory. --- kernel/fs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'kernel/fs.c') diff --git a/kernel/fs.c b/kernel/fs.c index 247a86f..b220491 100644 --- a/kernel/fs.c +++ b/kernel/fs.c @@ -573,6 +573,7 @@ dirlookup(struct inode *dp, char *name, uint *poff) } // Write a new directory entry (name, inum) into the directory dp. +// Returns 0 on success, -1 on failure (e.g. out of disk blocks). int dirlink(struct inode *dp, char *name, uint inum) { @@ -597,7 +598,7 @@ dirlink(struct inode *dp, char *name, uint inum) strncpy(de.name, name, DIRSIZ); de.inum = inum; if(writei(dp, 0, (uint64)&de, off, sizeof(de)) != sizeof(de)) - panic("dirlink"); + return -1; return 0; } -- cgit v1.2.3