Re: ext2fs and big files

Chip Salzenberg (chip@atlantic.net)
Fri, 27 Feb 1998 09:38:24 -0500


First, please ignore my earlier message about files and ACLs. Of
course files can have ACLs even if we re-use i_dir_acl on files --
we still have i_file_acl for that. Duh.

Now on to hopefully more helpful commentary:

According to Jakub Jelinek:
> The following patch adds support for large files on EXT2 on 64bit machines.
>
> --- ./include/linux/ext2_fs.h.jj Mon Feb 9 17:50:54 1998
> +++ ./include/linux/ext2_fs.h Wed Feb 25 09:17:03 1998
> @@ -229,7 +229,10 @@ struct ext2_inode {
> __u32 i_block[EXT2_N_BLOCKS];/* Pointers to blocks */
> __u32 i_version; /* File version (for NFS) */
> __u32 i_file_acl; /* File ACL */
> - __u32 i_dir_acl; /* Directory ACL */
> + union {
> + __u32 i_dir_acl; /* Directory ACL */
> + __u32 i_size_high; /* High 32bits of i_size for file */
> + } un1;
> __u32 i_faddr; /* Fragment address */
> union {
> struct {

It would be a Very Good Idea, IMO, to change this patch so that existing
references to i_dir_acl don't need to be changed. For example:

union {
__u32 u_dir_acl;
__u32 u_file_size_high;
} u_sz2;

/* ... */

#define i_dir_acl u_sz2.u_dir_acl
#define i_file_size_high u_sz2.u_file_size_high

It would also be a Very Good Idea, BTW, to require that the ext2fs
filesystem version number be incremented before files larger than
4G be allowed in a given filesystem. Otherwise, when that fs is
mounted by an older kernel, Bad Thing May Happen.

-- 
Chip Salzenberg                - a.k.a. -               <chip@pobox.com>
"I brought the atom bomb.  I think it's a good time to use it."  //MST3K

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu