Module Name: src Committed By: dholland Date: Sun Sep 13 07:53:37 UTC 2015
Modified Files: src/sys/ufs/lfs: lfs_alloc.c Log Message: Fix wrong code in lfs_valloc_fixed(). It was overwriting the inode number it was supposed to be allocating with the head of the inode freelist, then applying the wrong test to that result. Net result: unless the freelist was empty (in which case it would always fail), it would in general drop a bunch of entries from the freelist. This code seems to have been broken when the first version of lfsv2 was imported onto the perseant-lfsv2 branch in -r1.47.2.1, and remained broken since, in spite of having been moved to lfs_rfw.c and back and rearranged quite a bit in the meantime. Sigh. Found by Coverity in a rather confusing way as CID 1316545. To generate a diff of this commit: cvs rdiff -u -r1.129 -r1.130 src/sys/ufs/lfs/lfs_alloc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.