io_umount

Hi guys,
I need to implement Resource Manager reacting on “umount”.
I use to include <sys/resmgr_compat.h>, where the (*umount)() as well as
io_umount_t have been prototyped.
I attacher my own io_umount handler( decleared as above mentioned proto)
into io_funcs table. When I issue "umount ", dispatcher receives the
message, but does not forward it to my handler. It seems it does not
recognize the incomming message and returns ENOENT. I realized that
“io_umount_t umount” is not included as member of resmgr_iomsgs_t. Might it
explains the behaviour of the dispatcher?? Or there is some triky stuff.
I solved my problem in non-standart way. I just issue "
mount -T<name_of_RM> -ou ", as you see with option “u”(unmount). Then
my dispatcher forwards the message to my mount handler it parse the options
and does the durty work of the “lazy umount”. But it does not support the
“umount” utility of the OS.

Any help?!?!?!

Kostadin Vardin

Kostadin Vardin <kvardin@primus.ca> wrote:

Hi guys,
I need to implement Resource Manager reacting on “umount”.
I use to include <sys/resmgr_compat.h>, where the (*umount)() as well as
io_umount_t have been prototyped.
I attacher my own io_umount handler( decleared as above mentioned proto)
into io_funcs table. When I issue "umount ", dispatcher receives the
message, but does not forward it to my handler. It seems it does not
recognize the incomming message and returns ENOENT. I realized that
“io_umount_t umount” is not included as member of resmgr_iomsgs_t. Might it
explains the behaviour of the dispatcher?? Or there is some triky stuff.
I solved my problem in non-standart way. I just issue "
mount -T<name_of_RM> -ou ", as you see with option “u”(unmount). Then
my dispatcher forwards the message to my mount handler it parse the options
and does the durty work of the “lazy umount”. But it does not support the
“umount” utility of the OS.

Hm… try attaching a mount callback, it looks like umount() actually
generates a mount message with a particular extra flag set.

Might, at least, be a place to start.

-David

QNX Training Services
I do not answer technical questions by email.