On Wed 17-02-10 21:47:06, Dmitry Monakhov wrote: > > Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> > --- > fs/udf/ialloc.c | 11 ++--------- > fs/udf/namei.c | 3 --- > 2 files changed, 2 insertions(+), 12 deletions(-) Hmm, this patch looks kind of half baked. There are several calls to udf_new_inode() in udf/namei.c. From your patch I'd expect they all should pass correct final mode to udf_new_inode which they currently don't to (the case of udf_mkdir and udf_symlink). Otherwise I'm fine with this change. Honza > diff --git a/fs/udf/ialloc.c b/fs/udf/ialloc.c > index c10fa39..52d6e4d 100644 > --- a/fs/udf/ialloc.c > +++ b/fs/udf/ialloc.c > @@ -124,15 +124,8 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err) > udf_updated_lvid(sb); > } > mutex_unlock(&sbi->s_alloc_mutex); > - inode->i_mode = mode; > - inode->i_uid = current_fsuid(); > - if (dir->i_mode & S_ISGID) { > - inode->i_gid = dir->i_gid; > - if (S_ISDIR(mode)) > - mode |= S_ISGID; > - } else { > - inode->i_gid = current_fsgid(); > - } > + > + inode_init_owner(inode, dir, mode); > > iinfo->i_location.logicalBlockNum = block; > iinfo->i_location.partitionReferenceNum = > diff --git a/fs/udf/namei.c b/fs/udf/namei.c > index cd21150..9069fc2 100644 > --- a/fs/udf/namei.c > +++ b/fs/udf/namei.c > @@ -691,9 +691,6 @@ static int udf_mkdir(struct inode *dir, struct dentry *dentry, int mode) > FID_FILE_CHAR_DIRECTORY | FID_FILE_CHAR_PARENT; > udf_write_fi(inode, &cfi, fi, &fibh, NULL, NULL); > brelse(fibh.sbh); > - inode->i_mode = S_IFDIR | mode; > - if (dir->i_mode & S_ISGID) > - inode->i_mode |= S_ISGID; > mark_inode_dirty(inode); > > fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err); > -- > 1.6.6 > -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html