From: Namjae Jeon <namjae.j...@samsung.com> Use extent cache when moving to last extent.
Signed-off-by: Namjae Jeon <namjae.j...@samsung.com> Signed-off-by: Ashish Sangwan <a.sang...@samsung.com> --- fs/udf/truncate.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/udf/truncate.c b/fs/udf/truncate.c index 8a9657d..95fd9bf 100644 --- a/fs/udf/truncate.c +++ b/fs/udf/truncate.c @@ -88,6 +88,8 @@ void udf_truncate_tail_extent(struct inode *inode) adsize = sizeof(struct long_ad); else BUG(); + if (!udf_read_extent_cache(inode, inode->i_size, &lbcount, &epos)) + epos.block = iinfo->i_location; /* Find the last extent in the file */ while ((netype = udf_next_aext(inode, &epos, &eloc, &elen, 1)) != -1) { @@ -139,8 +141,8 @@ void udf_discard_prealloc(struct inode *inode) adsize = sizeof(struct long_ad); else adsize = 0; - - epos.block = iinfo->i_location; + if (!udf_read_extent_cache(inode, inode->i_size, &lbcount, &epos)) + epos.block = iinfo->i_location; /* Find the last extent in the file */ while ((netype = udf_next_aext(inode, &epos, &eloc, &elen, 1)) != -1) { -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/