Messages in this thread | | | Subject | Re: Fix ea-in-inode default ACL creation | From | "Stephen C. Tweedie" <> | Date | Fri, 21 Jan 2005 21:36:16 +0000 |
| |
Hi,
On Thu, 2005-01-20 at 18:22, Andreas Gruenbacher wrote:
> When a new inode is created, ext3_new_inode sets the EXT3_STATE_NEW > flag, which tells ext3_do_update_inode to zero out the inode before > filling in the inode's data. When a file is created in a directory with > a default acl, the new inode inherits the directory's default acl; this > generates attributes. The attributes are created before > ext3_do_update_inode is called to write out the inode. In case of > in-inode attributes, the new inode's attributes are written, and then > zeroed out again by ext3_do_update_inode. Bad thing. > > Fix this by recognizing the EXT3_STATE_NEW case in > ext3_xattr_set_handle, and zeroing out the inode there already when > necessary.
Ugh. It feels horrible to have to do this, but we _do_ want to clear the raw inode, and we only want to do it once, and we have to do it on first access to the on-disk structures. I can't see an easy way round it that doesn't add more overhead.
Looks reasonable to me.
--Stephen
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |