diff options
Diffstat (limited to 'fs/ocfs2/namei.c')
| -rw-r--r-- | fs/ocfs2/namei.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c index a9856e3eaaf..f1fd0741162 100644 --- a/fs/ocfs2/namei.c +++ b/fs/ocfs2/namei.c @@ -98,7 +98,7 @@ static int ocfs2_create_symlink_data(struct ocfs2_super *osb,  #define OCFS2_ORPHAN_NAMELEN ((int)(2 * sizeof(u64)))  static struct dentry *ocfs2_lookup(struct inode *dir, struct dentry *dentry, -				   struct nameidata *nd) +				   unsigned int flags)  {  	int status;  	u64 blkno; @@ -618,7 +618,7 @@ static int ocfs2_mkdir(struct inode *dir,  static int ocfs2_create(struct inode *dir,  			struct dentry *dentry,  			umode_t mode, -			struct nameidata *nd) +			bool excl)  {  	int ret; @@ -1724,15 +1724,16 @@ static int ocfs2_symlink(struct inode *dir,  	fe = (struct ocfs2_dinode *) new_fe_bh->b_data;  	inode->i_rdev = 0;  	newsize = l - 1; +	inode->i_op = &ocfs2_symlink_inode_operations;  	if (l > ocfs2_fast_symlink_chars(sb)) {  		u32 offset = 0; -		inode->i_op = &ocfs2_symlink_inode_operations;  		status = dquot_alloc_space_nodirty(inode,  		    ocfs2_clusters_to_bytes(osb->sb, 1));  		if (status)  			goto bail;  		did_quota = 1; +		inode->i_mapping->a_ops = &ocfs2_aops;  		status = ocfs2_add_inode_data(osb, inode, &offset, 1, 0,  					      new_fe_bh,  					      handle, data_ac, NULL, @@ -1750,7 +1751,7 @@ static int ocfs2_symlink(struct inode *dir,  		i_size_write(inode, newsize);  		inode->i_blocks = ocfs2_inode_sector_count(inode);  	} else { -		inode->i_op = &ocfs2_fast_symlink_inode_operations; +		inode->i_mapping->a_ops = &ocfs2_fast_symlink_aops;  		memcpy((char *) fe->id2.i_symlink, symname, l);  		i_size_write(inode, newsize);  		inode->i_blocks = 0;  |