Re: VFS 64-bit clean

Theodore Y. Ts'o (tytso@MIT.EDU)
Sun, 1 Mar 1998 19:55:10 -0500

Date: Sat, 28 Feb 1998 18:09:11 +0100
From: Remy Card <>

Well, the problem is that I chose quite a bad name for this field.
Actually, i_dir_acl contains a pointer to the default ACL that can be set
on a directory and is inherited by files and subdirectories. A file can
have i_file_acl set (if it has an explicit ACL) or i_dir_acl set (if it
has inherited the default ACL from its parent directory).

Why can a file ACL be stored in two places? We had originally talked
about having i_dir_acl store the default ACL for a directory, but I had
always assumed that when you created a directory, you would store the
value of the containing directory's i_dir_acl in the i_file_acl field.

This would leave the i_dir_acl unused in non-directory inodes, and it
would simply the ACL code, since it would always be true that a
particular inode's ACL is always stored in i_file_acl, instead of
sometimes being stored in i_file_acl or i_dir_acl.

I should probably rename the two fields in my next patch:
i_file_acl -> i_acl and i_dir_acl -> i_default_acl.

Renaming the field seems reasonable, but I still don't understand why
non-directory inodes would need to use i_default_acl.

- Ted

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to