How to quickly determine if UFS2 FS is "clean" from command line?

Carlos A. M. dos Santos unixmania at gmail.com
Fri Dec 26 03:59:12 PST 2008


On Fri, Dec 26, 2008 at 4:39 AM, David Wolfskill <david at catwhisker.org> wrote:
> On Fri, Dec 26, 2008 at 09:35:42AM +0300, Sergey Zaharchenko wrote:
>> ...
>> Some of the stuff you want can be found here:
>>
>> root at shark:~# file -s /dev/ufs/home
>> /dev/ufs/home: Unix Fast File system [v2] (little-endian) last mounted on /home, volume name home, last written at Fri Dec 26 06:33:07 2008, clean flag 0, readonly flag 0, number of blocks 13631488, number of data blocks 13202246, number of cylinder groups 145, block size 16384, fragment size 2048, average file size 16384, average number of files in dir 64, pending blocks to free 4, pending inodes to free 0, system-wide uuid 0, minimum percentage of free blocks 8, TIME optimization
>>
>> You probably want the clean flag (which is 0 for me because that device
>> node is mounted).
>
> Very nice; thanks!  Seems that both ffsinfo(8) & file(1) can do the job
> quickly; dumpfs(8) can do it, but takes around 33 seconds for a 400 GB
> file system (because it also dumps the cylinder groups).

Be warned that file(1) resides at /usr/bin and depends on
/usr/share/misc/magic*, so it may not be available in early boot
stages, when /usr is not mounted yet. The following combination will
suffice, and depends only on /sbin and /stand:

     /sbin/ffsinfo -l 1 /usr/local | /rescue/sed -n 's/^clean *int8_t
*\(.*\)/\1/p'

-- 
cd /usr/ports/sysutils/life
make clean


More information about the freebsd-hackers mailing list