[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:
parent
4750ddb0ba
commit
374e2ac337
|
@ -626,8 +626,10 @@ xfs_setattr(
|
||||||
*/
|
*/
|
||||||
if (mask & XFS_AT_SIZE) {
|
if (mask & XFS_AT_SIZE) {
|
||||||
code = 0;
|
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);
|
code = xfs_igrow_start(ip, vap->va_size, credp);
|
||||||
|
}
|
||||||
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
xfs_iunlock(ip, XFS_ILOCK_EXCL);
|
||||||
if (!code)
|
if (!code)
|
||||||
code = xfs_itruncate_data(ip, vap->va_size);
|
code = xfs_itruncate_data(ip, vap->va_size);
|
||||||
|
|
Loading…
Reference in a new issue