code: mafs

ref: 7d2937ab03a29b69f66845c73fc13de64b3349f6
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 2 | awk '$1 == "nblocks"{ print $2 }'}

# write the free extents to /adm/frees
disk/used $disk > /tmp/used.blocks
disk/updatefrees $disk <{disk/unused $nblocks /tmp/used.blocks}

# change fsok from 0 to 1
disk/fsok $disk
rm /tmp/used.blocks