don't panic if out of disk space when extending a directory.
This commit is contained in:
parent
cd6207a972
commit
dc405cdb7b
3 changed files with 39 additions and 3 deletions
|
@ -2738,6 +2738,36 @@ diskfull(char *s)
|
|||
close(fd);
|
||||
}
|
||||
|
||||
// now that there are no free blocks, test that dirlink()
|
||||
// merely fails (doesn't panic) if it can't extend
|
||||
// directory content.
|
||||
int nzz = 128;
|
||||
for(int i = 0; i < nzz; i++){
|
||||
char name[32];
|
||||
name[0] = 'z';
|
||||
name[1] = 'z';
|
||||
name[2] = '0' + (i / 32);
|
||||
name[3] = '0' + (i % 32);
|
||||
name[4] = '\0';
|
||||
unlink(name);
|
||||
int fd = open(name, O_CREATE|O_RDWR|O_TRUNC);
|
||||
if(fd < 0){
|
||||
printf("%s: could not create file %s\n", s, name);
|
||||
break;
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
|
||||
for(int i = 0; i < nzz; i++){
|
||||
char name[32];
|
||||
name[0] = 'z';
|
||||
name[1] = 'z';
|
||||
name[2] = '0' + (i / 32);
|
||||
name[3] = '0' + (i % 32);
|
||||
name[4] = '\0';
|
||||
unlink(name);
|
||||
}
|
||||
|
||||
for(int i = 0; i < fi; i++){
|
||||
char name[32];
|
||||
name[0] = 'b';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue