code: mafs

ref: 390e726c64ee2aca967617ac7f7fd2a44f27646b
dir: /fsck/

View raw version
#!/bin/rc

# usage
#	disk/fsck /dev/sdFn/fs

disk=$1
if(~ $#disk '')
	exit invalid disk

# get the total number of blocks from the config block
nblocks=`{disk/block $disk 1 | awk '$1 == "nblocks"{ print $2 }'}

# write the free extents to /a/frees
disk/updatefrees $disk <{disk/unused $nblocks <{disk/used $disk}}

# change fsok from 0 to 1
disk/fsok $disk