RE: What's the value of non-read/write async handling-?

RE: [ntfsd] RE: What’s the value of non-read/write async handling?Create
calls are sync. So, why post to a thread? Isn’t this extra work?
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of
xxxxx@omnishift.com
Sent: Wednesday, August 23, 2000 2:07 PM
To: File Systems Developers
Subject: [ntfsd] RE: What’s the value of non-read/write async handling ?

Hi Daniel:

Okay, I understand wrt the create (supersede/overwrite) that you want to
defer to; thanks.

In general, though, why post when the resource can’t be acquired
exclusively right now? A Create request, for example: why not just call
ExAcquireResourceExclusive() with Wait == TRUE; what purpose is there for
calling it without blocking, then posting it for a system thread to acquire
it with blocking?

What sort of deadlock possibility would this solve?

Thanks,
Curt

Look again. It completes the operation STATUS_SUCCESS; the
> STATUS_PENDING is just coming back on the rare case we collide on the
> resource with an async handle, or the case where we have a
> supersede/overwrite above and don’t want to really do the
> operation (and
> blow away the Fcb before the refcount goes back up). Since we delay
> closes so frequently anyway, this costs little.