windows-fid-hash-
20080406
LICENSE MIT
1. During the conversion to hash based FID comparisons the cm_GetSCache()
lookups from the cm_ioctl.c (CM_IOCTL_QOPTS_HAVE_FID) and from FIDs
returned by cm_LookupSearchProc() were broken.
2. In cm_LookupInternal(), ensure that an error is returned if rock.found
is FALSE. A failure to return an error was resulting in cm_GetSCache()
producing an object for FIDs with vnode=0,unique=0
3. cm_GetSCache(), remove the warning check for vnode=0,unique=0
4. reapply the synchronization logic to async store requests in cm_SyncOp().
The lack of synchronization is causing requests to complete out of order
which is confusing the SMB redirector when under heavy load.