summaryrefslogtreecommitdiff
path: root/mkfs/mkfs.c
diff options
context:
space:
mode:
authorPavan Maddamsetti <[email protected]>2020-10-21 03:03:17 -0400
committerFrans Kaashoek <[email protected]>2021-08-31 20:57:03 -0400
commit840aae871fa1df9fdc4684ccc39709bf2878f6ea (patch)
tree333f98165472a841c60298f7daaf7d9635b42fb1 /mkfs/mkfs.c
parente07ca6614599e68747fa454da95f007f6941143a (diff)
downloadxv6-labs-840aae871fa1df9fdc4684ccc39709bf2878f6ea.tar.gz
xv6-labs-840aae871fa1df9fdc4684ccc39709bf2878f6ea.tar.bz2
xv6-labs-840aae871fa1df9fdc4684ccc39709bf2878f6ea.zip
die
Diffstat (limited to 'mkfs/mkfs.c')
-rw-r--r--mkfs/mkfs.c44
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);
+}