[ffs] ffs_valloc: free inode /home/19 had 128 blocks
Andreas Longwitz
longwitz at incore.de
Tue Nov 26 20:51:56 UTC 2013
I run FreeBSD 8.4-STABLE #0 r256119 and I am confused about the message
coming from the code snippet
if (DIP(ip, i_blocks) && (fs->fs_flags & FS_UNCLEAN) == 0) { /* XXX */
printf("free inode %s/%lu had %ld blocks\n",
fs->fs_fsmnt, (u_long)ino, (long)DIP(ip, i_blocks));
DIP_SET(ip, i_blocks, 0);
}
in the function ffs_valloc(). I see these kernel messages often when a
snapshot is taken on a gjournaled ufs partition with
mount -u -o noatime -o async -o snapshot /home/.snap/snaptest /home
The inode number (19) is always the inode number of the snapshot file.
I would like to know if the 128 blocks are lost forever. If "yes" there
is really a problem. If "no" then the message is not relevant for
gjournaled file systems and fs->fs_flags should be tested in this way:
(fs->fs_flags & FS_UNCLEAN|FS_GJOURNAL) == 0
--
Andreas Longwitz
More information about the freebsd-fs
mailing list