From aa7701ea59c6160604961b201de128d44eb6b850 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 2 May 2011 14:28:53 +1000 Subject: [PATCH] Various fixes - mostly missing code Signed-off-by: NeilBrown --- lib/lafs_imap_alloc.c | 2 ++ tools/lafs.c | 5 +++-- tools/mkfs.lafs.c | 3 +-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/lafs_imap_alloc.c b/lib/lafs_imap_alloc.c index 414dd8f..650db3b 100644 --- a/lib/lafs_imap_alloc.c +++ b/lib/lafs_imap_alloc.c @@ -48,6 +48,7 @@ int lafs_imap_alloc(struct lafs_ino *imap) */ db->b.flags &= ~B_Dirty; lafs_allocated_block(&db->b, 0); + start = db->b.fileaddr + 1; } if (bit+addr < 16) { db=NULL; @@ -58,6 +59,7 @@ int lafs_imap_alloc(struct lafs_ino *imap) /* no 1 bits, so again, punch a hole */ db->b.flags &= ~B_Dirty; lafs_allocated_block(&db->b, 0); + start = db->b.fileaddr + 1; db = NULL; } } diff --git a/tools/lafs.c b/tools/lafs.c index 57c3941..c6d1409 100644 --- a/tools/lafs.c +++ b/tools/lafs.c @@ -910,6 +910,8 @@ static void c_newfs(struct state *st, void **args) memcpy(st->lafs->uuid, uu, 16); ifile = lafs_get_itable(st->lafs); + ifile->md.fs.usagetable = 1; + lafs_dirty_inode(ifile); imfile = lafs_add_inode(ifile, 1, TypeInodeMap); rootdir = lafs_add_inode(ifile, 2, TypeDir); if (create_atime) @@ -1054,8 +1056,7 @@ static void c_add_device(struct state *st, void **args) return; } dev->segsum = segmap; - segmap->md.segmentusage.table_size = dev->tablesize * usage_inum; - dev->tablesize = segmap->md.segmentusage.table_size; + segmap->md.segmentusage.table_size = dev->tablesize; lafs_dirty_inode(segmap); lafs_imap_set(imfile, usage_inum); diff --git a/tools/mkfs.lafs.c b/tools/mkfs.lafs.c index 484920c..bc56bf8 100644 --- a/tools/mkfs.lafs.c +++ b/tools/mkfs.lafs.c @@ -260,8 +260,7 @@ int main(int argc, char *argv[]) orphans = lafs_add_inode(ifile, 8, TypeOrphanList); segmap = lafs_add_inode(ifile, 16, TypeSegmentMap); lafs->devs->segsum = segmap; - segmap->md.segmentusage.table_size = lafs->devs->tablesize * 16; - lafs->devs->tablesize = segmap->md.segmentusage.table_size; + segmap->md.segmentusage.table_size = lafs->devs->tablesize; lafs_dirty_inode(segmap); lafs_imap_set(imfile, 1); -- 2.43.0