]> Pileus Git - ~andy/linux/blobdiff - fs/udf/namei.c
udf: Fix lockdep warning from udf_symlink()
[~andy/linux] / fs / udf / namei.c
index 5f6fc17d6bc5c0694fa357b739a290e608da9588..9737cba1357d754f4b1ea8927af83326865b8e54 100644 (file)
@@ -1010,6 +1010,7 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry,
        else
                udf_truncate_tail_extent(inode);
        mark_inode_dirty(inode);
+       up_write(&iinfo->i_data_sem);
 
        fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
        if (!fi)
@@ -1023,7 +1024,6 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry,
        udf_write_fi(dir, &cfi, fi, &fibh, NULL, NULL);
        if (UDF_I(dir)->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB)
                mark_inode_dirty(dir);
-       up_write(&iinfo->i_data_sem);
        if (fibh.sbh != fibh.ebh)
                brelse(fibh.ebh);
        brelse(fibh.sbh);