hi, all
(thanx for the links to the books)

i have added few handlers to 
my_vnops.c file (that originally was null_vnops.c of "nullfs")

and (with intention to involve my handlers into execution flow)
i have extended struct vop_ops (last 4 lines):

struct vop_ops my_vnode_vops = {
        .vop_nresolve =         null_nresolve,
        .vop_ncreate =          null_ncreate,
        .vop_nmkdir =           null_nmkdir,
        .vop_nmknod =           null_nmknod,
        .vop_nlink =            null_nlink,
        .vop_nsymlink =         null_nsymlink,
        .vop_nwhiteout =        null_nwhiteout,
        .vop_nremove =          null_nremove,
        .vop_nrmdir =           null_nrmdir,
        .vop_nrename =          null_nrename,
        .vop_mountctl =         null_mountctl,
        .vop_open =             my_open,
        .vop_read =             my_read,
        .vop_write =            my_write,
        .vop_access =           my_access
};

then i have noticed that my_*() handlers were never called no matter what 
operations i perform on my test subject.

the question is:
(1) What am i doing wrong?
(2) Is there any official description what is a purpose of each handler in 
struct vop_ops and WHEN it shall be called?

Reply via email to