]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/udf/inode.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[karo-tx-linux.git] / fs / udf / inode.c
index 98c510e172032df27a92b296507a3c1cb3017cdb..18fdb9d90812a2849376de612ac2a52bc487324e 100644 (file)
@@ -1222,8 +1222,8 @@ int udf_setsize(struct inode *inode, loff_t newsize)
                        return err;
                }
 set_size:
-               truncate_setsize(inode, newsize);
                up_write(&iinfo->i_data_sem);
+               truncate_setsize(inode, newsize);
        } else {
                if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
                        down_write(&iinfo->i_data_sem);
@@ -1240,9 +1240,9 @@ set_size:
                                          udf_get_block);
                if (err)
                        return err;
+               truncate_setsize(inode, newsize);
                down_write(&iinfo->i_data_sem);
                udf_clear_extent_cache(inode);
-               truncate_setsize(inode, newsize);
                udf_truncate_extents(inode);
                up_write(&iinfo->i_data_sem);
        }