hfsplus: initialise userflags
authorMatthew Garrett <mjg@redhat.com>
Tue, 13 Mar 2012 16:10:34 +0000 (12:10 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 21 Mar 2012 01:29:52 +0000 (21:29 -0400)
The userflags field was being written to the filesystem without being
initialised. Make sure it's clear, since otherwise files end up with
garbage attributes.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/hfsplus/inode.c

index 6643b242bdd7b22d9b76ec7aabd82201478ab804..82b69ee4dacce835559fa631c54115c11ba0f44e 100644 (file)
@@ -193,6 +193,7 @@ static struct dentry *hfsplus_file_lookup(struct inode *dir,
        mutex_init(&hip->extents_lock);
        hip->extent_state = 0;
        hip->flags = 0;
+       hip->userflags = 0;
        set_bit(HFSPLUS_I_RSRC, &hip->flags);
 
        err = hfs_find_init(HFSPLUS_SB(sb)->cat_tree, &fd);
@@ -400,6 +401,7 @@ struct inode *hfsplus_new_inode(struct super_block *sb, umode_t mode)
        atomic_set(&hip->opencnt, 0);
        hip->extent_state = 0;
        hip->flags = 0;
+       hip->userflags = 0;
        memset(hip->first_extents, 0, sizeof(hfsplus_extent_rec));
        memset(hip->cached_extents, 0, sizeof(hfsplus_extent_rec));
        hip->alloc_blocks = 0;