RDBSS ShareAccess

Hi,
could anybody help me with LanmanRedirector behavior strange to
me and colliding with our FSFD?

Disk FSs call IoRemoveShareAccess() at MJ_CLEANUP and so that
they allow concurent MJ_CREATE even if the previous open was
cached and the cache still remains in memory using mapped section
(this implies no MJ_CLOSE call to occure).

LanmanRedirector, exactly RDBSS.SYS works similarly and calls
RxRemoveShareAccess() (the wrepper for IoRemoveShareAccess()) in
MJ_CLEANUP and this really modifies redirector’s FCB.

But when the next MJ_CREATE is performed, redirector goes into
its RxCheckShareAccess() - similar to IoCheckShareAccess() a for
me, the work is right - but then, it calls
RxSearchForCollapsibleOpen() with call to
RxCheckShareAccessPerSrvOpen() which raises _SHARING_VIOLATION
for some reason I don’t understand. The reason is that
RxRemoveShareAccessPerSrvOpen() is called in MJ_CLOSE and not in
MJ_CLEANUP - so access information is updated too late.

This makes me much trouble due to my need to send
NO_INTERMEDIATE_BUFF requests to redirector and maintain our own
cache - so when I cleanup my cached FO I must purge cache section
(it makes things much more slower) to invoke MJ_CLOSE at once to
let redirector update the shareaccess on SRV.

What I do wrong and what way I could make redirector work with
share accesses as I need?

Thanks in advance.

Ondra Sevecek.
SODAT Software.
xxxxx@sodatsw.cz
www.sodatsw.cz

===== www.centrum.cz doporu?uje =====
Nov? vyhled?va? pro ?esk? internet www.WebFast.cz - prost? najde …


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com