shriram agarwal
2008-Mar-12 02:19 UTC
[zfs-discuss] want to intercept all IO on ZFS file sytem
hi , i want to intercept IO on ZFS at vnode layer, i changed vnodeops pointer for zfs in vfs frame work but i only get IO for creating new file but i dont get for read,lookup,write,changing setattribute etc. can somebody explain why ? and how can i achieve that? similar thing works fine for vxfs and ufs on solaris. regards shriram --------------------------------- Never miss a thing. Make Yahoo your homepage. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/zfs-discuss/attachments/20080311/1da5d89e/attachment.html>
Darren J Moffat
2008-Mar-12 10:17 UTC
[zfs-discuss] want to intercept all IO on ZFS file sytem
shriram agarwal wrote:> hi , > i want to intercept IO on ZFS at vnode layer, i changed vnodeops pointer for zfs in vfs frame work but i only get IO for creating new file but i dont get for read,lookup,write,changing setattribute etc. > > can somebody explain why ? and how can i achieve that? > similar thing works fine for vxfs and ufs on solaris.Why ? What are you thring to do ? The reason I ask is depending on what it is you want to do the vnode layer may not be the ideal place. -- Darren J Moffat
Anton B. Rang
2008-Mar-13 03:27 UTC
[zfs-discuss] want to intercept all IO on ZFS file sytem
> i want to intercept IO on ZFS at vnode layer, > i changed vnodeops pointer for zfs in vfs frame work > but i only get IO for creating new file but i dont > get for read,lookup,write,changing setattribute > etc. can somebody explain why ?Which vnodeops pointer did you change? ZFS, unlike most file systems, uses a separate dispatch vector for each type of node. It sounds to me like you changed the directory dispatch vector (which handles file creation) but not the file dispatch vector (which handles operations on files). (See the tail end of zfs_vnops.c for the declaration of the vectors.) This message posted from opensolaris.org