|
|
| version 1.461, 2007/03/02 02:59:33 | version 1.462, 2007/03/10 02:56:10 |
|---|---|
| Line 1421 xfs_itrunc_trace( | Line 1421 xfs_itrunc_trace( |
| * must be called again with all the same restrictions as the initial | * must be called again with all the same restrictions as the initial |
| * call. | * call. |
| */ | */ |
| void | int |
| xfs_itruncate_start( | xfs_itruncate_start( |
| xfs_inode_t *ip, | xfs_inode_t *ip, |
| uint flags, | uint flags, |
| Line 1431 xfs_itruncate_start( | Line 1431 xfs_itruncate_start( |
| xfs_off_t toss_start; | xfs_off_t toss_start; |
| xfs_mount_t *mp; | xfs_mount_t *mp; |
| bhv_vnode_t *vp; | bhv_vnode_t *vp; |
| int error = 0; | |
| ASSERT(ismrlocked(&ip->i_iolock, MR_UPDATE) != 0); | ASSERT(ismrlocked(&ip->i_iolock, MR_UPDATE) != 0); |
| ASSERT((new_size == 0) || (new_size <= ip->i_d.di_size)); | ASSERT((new_size == 0) || (new_size <= ip->i_d.di_size)); |
| Line 1468 xfs_itruncate_start( | Line 1469 xfs_itruncate_start( |
| * file size, so there is no way that the data extended | * file size, so there is no way that the data extended |
| * out there. | * out there. |
| */ | */ |
| return; | return 0; |
| } | } |
| last_byte = xfs_file_last_byte(ip); | last_byte = xfs_file_last_byte(ip); |
| xfs_itrunc_trace(XFS_ITRUNC_START, ip, flags, new_size, toss_start, | xfs_itrunc_trace(XFS_ITRUNC_START, ip, flags, new_size, toss_start, |
| Line 1477 xfs_itruncate_start( | Line 1478 xfs_itruncate_start( |
| if (flags & XFS_ITRUNC_DEFINITE) { | if (flags & XFS_ITRUNC_DEFINITE) { |
| bhv_vop_toss_pages(vp, toss_start, -1, FI_REMAPF_LOCKED); | bhv_vop_toss_pages(vp, toss_start, -1, FI_REMAPF_LOCKED); |
| } else { | } else { |
| bhv_vop_flushinval_pages(vp, toss_start, -1, FI_REMAPF_LOCKED); | error = bhv_vop_flushinval_pages(vp, toss_start, -1, FI_REMAPF_LOCKED); |
| } | } |
| } | } |
| Line 1486 xfs_itruncate_start( | Line 1487 xfs_itruncate_start( |
| ASSERT(VN_CACHED(vp) == 0); | ASSERT(VN_CACHED(vp) == 0); |
| } | } |
| #endif | #endif |
| return error; | |
| } | } |
| /* | /* |