[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: node types etc.
On Mon, Jan 15, 2001 at 05:51:00PM +0000, David Woodhouse wrote:
> Please comment.
> /* Compatibility flags. */
> #define CJFFS_COMPAT_MASK 0xc000 /* What do to if an unknown nodetype is found */
> /* INCOMPAT: Fail to mount the filesystem */
> #define CJFFS_FEATURE_INCOMPAT 0xc000
> /* ROCOMPAT: Mount read-only */
> #define CJFFS_FEATURE_ROCOMPAT 0x8000
> /* RWCOMPAT_COPY: Mount read/write, and copy the node when it's GC'd */
> #define CJFFS_FEATURE_RWCOMPAT_COPY 0x4000
> /* RWCOMPAT_DELETE: Mount read/write, and delete the node when it's GC'd */
> #define CJFFS_FEATURE_RWCOMPAT_DELETE 0x0000
I'm not sure when this type would ever make sense. I think
/* RWCOMPAT_DELETE: Mount read/write, and make sure this node is deleted */
would make sense, but it requires a forced gc pass on mount.
> #define CJFFS_NODETYPE_DIRENT (CJFFS_FEATURE_INCOMPAT | 1)
> #define CJFFS_NODETYPE_INODE (CJFFS_FEATURE_INCOMPAT | 2)
> // Maybe later...
> //#define CJFFS_NODETYPE_CHECKPOINT (CJFFS_FEATURE_RWCOMPAT_DELETE | 3)
> //#define CJFFS_NODETYPE_OPTIONS (CJFFS_FEATURE_RWCOMPAT_COPY | 4)
> struct cjffs_unknown_node
> /* All start like this */
> __u32 magic;
this seems like overkill to me.
> __u16 nodetype;
> __u16 totlen; /* So we can skip over nodes we don't grok */
and this seems like it might become a problem one day when we have very
large flash chips
would make more sense, I think.
rest looks fine.
To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to email@example.com