On Sunday 21 January 2007 21:17, Mark Shellenbaum wrote: > ftruncate/truncate on Solaris are implemented via the F_FREESP command > in fcntl(2). This ultimately calls VOP_SPACE() which doesn't need to do > any access checks since the file was already opened with the necessary > "write" permission.
Hi Mark :) That would explain it. For some reason, I was convinced ftruncate() in userspace would lead to a VOP_SETATTR() in the kernel. That also explains why I wasn't getting DTrace to trace zfs_setattr(), which was starting to get a little frustrating :) Thanks!