diff options
| -rw-r--r-- | mkfs/mkfs.c | 44 | 
1 files changed, 20 insertions, 24 deletions
| diff --git a/mkfs/mkfs.c b/mkfs/mkfs.c index 246a4e2..9ad4abb 100644 --- a/mkfs/mkfs.c +++ b/mkfs/mkfs.c @@ -40,6 +40,7 @@ void rinode(uint inum, struct dinode *ip);  void rsect(uint sec, void *buf);  uint ialloc(ushort type);  void iappend(uint inum, void *p, int n); +void die(const char *);  // convert to intel byte order  ushort @@ -85,10 +86,8 @@ main(int argc, char *argv[])    assert((BSIZE % sizeof(struct dirent)) == 0);    fsfd = open(argv[1], O_RDWR|O_CREAT|O_TRUNC, 0666); -  if(fsfd < 0){ -    perror(argv[1]); -    exit(1); -  } +  if(fsfd < 0) +    die(argv[1]);    // 1 fs block = 1 disk sector    nmeta = 2 + nlog + ninodeblocks + nbitmap; @@ -138,10 +137,8 @@ main(int argc, char *argv[])      assert(index(shortname, '/') == 0); -    if((fd = open(argv[i], 0)) < 0){ -      perror(argv[i]); -      exit(1); -    } +    if((fd = open(argv[i], 0)) < 0) +      die(argv[i]);      // Skip leading _ in name when writing to file system.      // The binaries are named _rm, _cat, etc. to keep the @@ -178,14 +175,10 @@ main(int argc, char *argv[])  void  wsect(uint sec, void *buf)  { -  if(lseek(fsfd, sec * BSIZE, 0) != sec * BSIZE){ -    perror("lseek"); -    exit(1); -  } -  if(write(fsfd, buf, BSIZE) != BSIZE){ -    perror("write"); -    exit(1); -  } +  if(lseek(fsfd, sec * BSIZE, 0) != sec * BSIZE) +    die("lseek"); +  if(write(fsfd, buf, BSIZE) != BSIZE) +    die("write");  }  void @@ -218,14 +211,10 @@ rinode(uint inum, struct dinode *ip)  void  rsect(uint sec, void *buf)  { -  if(lseek(fsfd, sec * BSIZE, 0) != sec * BSIZE){ -    perror("lseek"); -    exit(1); -  } -  if(read(fsfd, buf, BSIZE) != BSIZE){ -    perror("read"); -    exit(1); -  } +  if(lseek(fsfd, sec * BSIZE, 0) != sec * BSIZE) +    die("lseek"); +  if(read(fsfd, buf, BSIZE) != BSIZE) +    die("read");  }  uint @@ -303,3 +292,10 @@ iappend(uint inum, void *xp, int n)    din.size = xint(off);    winode(inum, &din);  } + +void +die(const char *s) +{ +  perror(s); +  exit(1); +} | 
