[XFS] Prevent data corruption on extending truncate case from cxfs client

SGI-PV: 942439
SGI-Modid: xfs-linux:xfs-kern:200152a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
This commit is contained in:
Eric Sandeen 2005-11-02 15:07:34 +11:00 committed by Nathan Scott
parent 4750ddb0ba
commit 374e2ac337

View file

@ -626,8 +626,10 @@ xfs_setattr(
*/
if (mask & XFS_AT_SIZE) {
code = 0;
if (vap->va_size > ip->i_d.di_size)
if ((vap->va_size > ip->i_d.di_size) &&
(flags & ATTR_NOSIZETOK) == 0) {
code = xfs_igrow_start(ip, vap->va_size, credp);
}
xfs_iunlock(ip, XFS_ILOCK_EXCL);
if (!code)
code = xfs_itruncate_data(ip, vap->va_size);