]> git.neil.brown.name Git - lafs-utils.git/commitdiff
Various fixes - mostly missing code
authorNeilBrown <neilb@suse.de>
Mon, 2 May 2011 04:28:53 +0000 (14:28 +1000)
committerNeilBrown <neilb@suse.de>
Mon, 2 May 2011 04:28:53 +0000 (14:28 +1000)
Signed-off-by: NeilBrown <neilb@suse.de>
lib/lafs_imap_alloc.c
tools/lafs.c
tools/mkfs.lafs.c

index 414dd8f98f5a6e47b1ea99cdf8bcb113e3054a80..650db3bb06af2506ec60c052dc266a98c538374b 100644 (file)
@@ -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;
        }
 }
index 57c394154e62a678948a8b58c4def4d8b2869d58..c6d1409549dd97dbf48b848389359552db373920 100644 (file)
@@ -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);
 
index 484920c4918d5307c8ae145b14ae8ceb4970ca10..bc56bf8bdb15eea7de46cc4c705e1115c4ae0b34 100644 (file)
@@ -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);