Re: [PATCH 02/16] f2fs: add on-disk layout

From: Jaegeuk Kim
Date: Sat Oct 06 2012 - 14:25:33 EST


2012-10-05 (ê), 19:46 +0200, Martin Steigerwald:
> Am Freitag, 5. Oktober 2012 schrieb êìê:
> > This adds a header file describing the on-disk layout of f2fs.
> >
> > Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx>
> > Signed-off-by: Chul Lee <chur.lee@xxxxxxxxxxx>
> > Signed-off-by: Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>
> > ---
> > include/linux/f2fs_fs.h | 359 +++++++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 359 insertions(+)
> > create mode 100644 include/linux/f2fs_fs.h
> >
> > diff --git a/include/linux/f2fs_fs.h b/include/linux/f2fs_fs.h
> > new file mode 100644
> > index 0000000..b17eeec
> > --- /dev/null
> > +++ b/include/linux/f2fs_fs.h
> > @@ -0,0 +1,359 @@
> > +/**
> > + * include/linux/f2fs_fs.h
> [â]
> > +/*
> > + * For superblock
> > + */
> > +struct f2fs_super_block {
> > + __le32 magic; /* Magic Number */
> > + __le16 major_ver; /* Major Version */
> > + __le16 minor_ver; /* Minor Version */
> > + __le32 log_sectorsize; /* log2 (Sector size in bytes) */
> > + __le32 log_sectors_per_block; /* log2 (Number of sectors per block */
> > + __le32 log_blocksize; /* log2 (Block size in bytes) */
> > + __le32 log_blocks_per_seg; /* log2 (Number of blocks per segment) */
> > + __le32 log_segs_per_sec; /* log2 (Number of segments per section) */
> > + __le32 secs_per_zone; /* Number of sections per zone */
> > + __le32 checksum_offset; /* Checksum position in this super block */
> > + __le64 block_count; /* Total number of blocks */
> > + __le32 section_count; /* Total number of sections */
> > + __le32 segment_count; /* Total number of segments */
> > + __le32 segment_count_ckpt; /* Total number of segments
> > + in Checkpoint area */
> > + __le32 segment_count_sit; /* Total number of segments
> > + in Segment information table */
> > + __le32 segment_count_nat; /* Total number of segments
> > + in Node address table */
> > + /*Total number of segments in Segment summary area */
> > + __le32 segment_count_ssa;
> > + /* Total number of segments in Main area */
> > + __le32 segment_count_main;
> > + __le32 failure_safe_block_distance;
> > + __le64 segment0_blkaddr; /* Start block address of Segment 0 */
> > + __le64 start_segment_checkpoint; /* Start block address of ckpt */
> > + __le64 sit_blkaddr; /* Start block address of SIT */
> > + __le64 nat_blkaddr; /* Start block address of NAT */
> > + __le64 ssa_blkaddr; /* Start block address of SSA */
> > + __le64 main_blkaddr; /* Start block address of Main area */
> > + __le32 root_ino; /* Root directory inode number */
> > + __le32 node_ino; /* node inode number */
> > + __le32 meta_ino; /* meta inode number */
> > + __le32 volume_serial_number; /* VSN is optional field */
> > + __le16 volume_name[8]; /* Volume Name. 8 unicode characters */
> > +} __packed;
>
> Any reason why volume label is that short?
>

Noop.

> If superblock can occupy up to 4096 bytes, i.e. a block, I think a bit
> more space for volume label would fit in there. I count 128 bytes up
> to volume_name. Do other structures need to fit in superblock as well?
>

I think it cannot be a problem to give more bytes to the name space.
I'll do this.

> I believe users easily can hit a limit of 8 unicode characters even for
> USB sticks and SD cards.

> Nice to see a flash friendly filesystem which seems to take lots of the
> stuff in account I read at Linaro website about flash devices.
>

Thank you.

--
Jaegeuk Kim
Samsung

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/