Index: share/man/man9/vnode_pager_setsize.9 =================================================================== --- share/man/man9/vnode_pager_setsize.9 +++ share/man/man9/vnode_pager_setsize.9 @@ -42,13 +42,22 @@ .Sh DESCRIPTION .Nm lets the VM system know about a change in size for a file. -Content beyond the new EOF specified by the -.Fa nsize -argument will be purged from the cache. +Content between the old EOF and the new EOF will be purged from the cache. +In case the vnode +.Fa vp +does not have a VM object, the effect of calling this function is no-op. +.Pp +The new EOF is rounded up to the nearest page index as a boundary +within which the page fault handler should handle. +.Pp This function is useful for use within file system code to implement truncation in .Xr VOP_SETATTR 9 . .Sh IMPLEMENTATION NOTES +The function updates the object size of the vm object in +.Fa vp +with the new EOF specified by the +.Fa nsize . In case the new EOF specified by the .Fa nsize argument is not aligned to page boundaries, @@ -57,10 +66,8 @@ for content occupying whole blocks within block boundaries, the dirty bits for the corresponding blocks will be cleared. -.Sh LOCKING -Writer lock of the VM object of -.Fa vp -will be held within the function. +.Sh LOCKS +The vnode should be exclusively locked on entry and will still be locked on exit. .Sh SEE ALSO .Xr vnode 9 .Sh HISTORY