Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/ufs/lfs



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.




Home | Main Index | Thread Index | Old Index