]> git.neil.brown.name Git - lafs-utils.git/commitdiff
Make filesystem name field variable-length.
authorNeilBrown <neilb@suse.de>
Sun, 10 Oct 2010 23:59:10 +0000 (10:59 +1100)
committerNeilBrown <neilb@suse.de>
Sun, 10 Oct 2010 23:59:10 +0000 (10:59 +1100)
This mirrors similar change in kernel module code.

Signed-off-by: NeilBrown <neilb@suse.de>
include/lafs/layout.h
include/lafs/struct.h
lib/lafs_import_inode_buf.c
lib/lafs_inode_fillblock.c

index c1e5ea22caccdc8c716cffa9d00b15053e13bde2..41987fdfe0063da647641ebdb15e187d73d779e6 100644 (file)
@@ -130,7 +130,7 @@ struct la_inode {
 #define        File_nonlogged  1
        union {
                struct fs_metadata {
-                       /* 116 bytes */
+                       /* 52 bytes plus name */
                        u64     update_time;
                        u64     blocks_used; /* data+index */
                        u64     blocks_allowed;
@@ -139,7 +139,7 @@ struct la_inode {
                        u32     quota_inodes[3];
                        u16     snapshot_usage_table;
                        u16     pad;
-                       char    name[64];
+                       char    name[0];
                } fs;
                struct inodemap_metadata {
                        u32     size;
index 8968d42877994aaf9ac0cc97f19bb0e2d975f4d8..70bfcfc801db423b8015c49f5f4a0d62af9073a7 100644 (file)
@@ -121,7 +121,7 @@ struct lafs_ino {
                        uint32_t        inodes_used;
                        uint32_t        quota_inums[3];
                        struct inode *quota_inodes[3];
-                       char    name[65];
+                       char            *name;
                } fs;
                struct inodemap_md {
                        uint32_t        size;
index 3ba13b091208094e1c7a725ed55b138608e287bf..4c9d2db0498a2c37d35ec13d6a2b047ea1ad643d 100644 (file)
@@ -65,8 +65,7 @@ static int inode_load(struct lafs_ino *ino, struct la_inode *lai)
                i->quota_inums[1] = __le32_to_cpu(l->quota_inodes[1]);
                i->quota_inums[2] = __le32_to_cpu(l->quota_inodes[2]);
                i->quota_inodes[0] = i->quota_inodes[1] = i->quota_inodes[2] = NULL;
-               memcpy(i->name, l->name, 64);
-               i->name[64] = 0;
+               i->name = NULL; /* FIXME */
                break;
        }
        case TypeInodeMap:
index 90b5da6883f78adf6c1dd85aea4a49112b2643f7..bb14da249e825b986ff4b3968c0945f8d171b67e 100644 (file)
@@ -36,7 +36,7 @@ void lafs_inode_fillblock(struct lafs_ino *ino, char *buf)
                sfs->quota_inodes[0] = __cpu_to_le32(mfs->quota_inums[0]);
                sfs->quota_inodes[1] = __cpu_to_le32(mfs->quota_inums[1]);
                sfs->quota_inodes[2] = __cpu_to_le32(mfs->quota_inums[2]);
-               memcpy(sfs->name, mfs->name, 64);
+               /* FIXME do something with name */
                break;
        }
        case TypeInodeMap: