Commit Graph

7 Commits

Author SHA1 Message Date
dholland
da32f22c2a Use the lfs dinode accessors in place of the ufs-derived ones.
(Mostly.)

The ufs-derived ones are fake structure member macros, which are gross
and not very safe. Also, it seems that a lot of places in the lfs code
were using the ffsv1 branch of them unconditionally, and this way it's
guaranteed all those places have been updated.

Found while doing this: for non-devices, have getattr produce NODEV
in the rdev field instead of leaking the address of the first direct
block.
2015-09-01 06:08:37 +00:00
dholland
a296d73dae 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.
2015-08-02 18:18:46 +00:00
dholland
d3cfc0d3d4 Migrate the miscellaneous ulfs-level info from struct ulfsmount to
struct lfs.

Put them inside #ifdef _KERNEL there. They are not the only such
members, gross as that is. Unfortunately, moving struct lfs to
lfs_kernel.h does not work.
2013-07-28 01:10:49 +00:00
dholland
eac0bd5b42 Remove stray references to ext2fs, chfs, ffs, and mfs. 2013-06-06 00:51:25 +00:00
dholland
49bebcb46c Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are
no conflicts with ufs. Confirmed with grep.

(This required changing a few comments that maybe should have been
left alone to say "ulfs", but we'll survive that.)
2013-06-06 00:48:04 +00:00
dholland
1515889590 Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
2013-06-06 00:44:40 +00:00
dholland
478ec7f647 Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids
for reference. Also,
   ufs/quota.h -> ulfs_quotacommon.h
   ufs/ufs_quota.h -> ulfs_quota.h

Splitting lfs from ufs was ok'd by core some years ago. This is not
from my original tree, which became unmergeable after the several sets
of quota changes; I've done the work over again over the last couple
days.
2013-06-06 00:40:55 +00:00