Module Name: src Committed By: dholland Date: Sun Aug 2 18:18:46 UTC 2015
Modified Files: src/sys/ufs/lfs: lfs.h lfs_accessors.h lfs_balloc.c lfs_segment.c lfs_vfsops.c ulfs_bmap.c Log Message: Pass the fs object to LFS_MAX_DADDR so it can check lfs_is64. Remove some hackish intentional 64->32 truncations next to the checks using LFS_MAX_DADDR, and tackle the problem they handled in bmap instead. The problem: the magic block pointer value UNWRITTEN has magic value -2, and if it's not handled specifically, uint32 -> uint64 promotion turns it into 4294967294, which then causes consternation and monkeyhouse downstream. What's here is still kind of a hack, but it's a step forward. To generate a diff of this commit: cvs rdiff -u -r1.171 -r1.172 src/sys/ufs/lfs/lfs.h cvs rdiff -u -r1.7 -r1.8 src/sys/ufs/lfs/lfs_accessors.h cvs rdiff -u -r1.85 -r1.86 src/sys/ufs/lfs/lfs_balloc.c cvs rdiff -u -r1.250 -r1.251 src/sys/ufs/lfs/lfs_segment.c cvs rdiff -u -r1.333 -r1.334 src/sys/ufs/lfs/lfs_vfsops.c cvs rdiff -u -r1.5 -r1.6 src/sys/ufs/lfs/ulfs_bmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.