Messages in this thread | | | Date | Mon, 11 Aug 2014 09:49:11 +0200 | From | Jan Kara <> | Subject | Re: [PATCH] udf: avoid unneeded up_write when fail to add entry in ->symlink |
| |
On Sat 09-08-14 09:49:31, Chao Yu wrote: > We have released the ->i_data_sem before invoking udf_add_entry(), > so in following error path, we should not release this lock again. Good catch. I've merged the patch to my tree. Thanks.
Honza
> > Signed-off-by: Chao Yu <chao2.yu@samsung.com> > --- > fs/udf/namei.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/udf/namei.c b/fs/udf/namei.c > index 9737cba..83a0600 100644 > --- a/fs/udf/namei.c > +++ b/fs/udf/namei.c > @@ -1014,7 +1014,7 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry, > > fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err); > if (!fi) > - goto out_no_entry; > + goto out_fail; > cfi.icb.extLength = cpu_to_le32(sb->s_blocksize); > cfi.icb.extLocation = cpu_to_lelb(iinfo->i_location); > if (UDF_SB(inode->i_sb)->s_lvid_bh) { > @@ -1036,6 +1036,7 @@ out: > > out_no_entry: > up_write(&iinfo->i_data_sem); > +out_fail: > inode_dec_link_count(inode); > iput(inode); > goto out; > -- > 2.0.1.474.g72c7794 > > -- Jan Kara <jack@suse.cz> SUSE Labs, CR
| |