http://bugs.winehq.org/show_bug.cgi?id=26658
--- Comment #6 from Erich Hoover ehoover@mines.edu 2012-07-17 10:59:53 CDT --- (In reply to comment #3)
... Anyway, how I believe this relates to the startup taking forever is that steam is always searching the entire drive for its files (since it is doing an inode-based lookup). So, I think that what we need is a cache of files where NtQueryInformationFile has returned an inode value so that calls to NtCreateFile with FILE_OPEN_BY_FILE_ID can search the "recently returned inode list" before it looks through the entire drive.
I'm not entirely sure this is why Steam takes so long to load, but I do have a thought about fixing this particular problem... It should be possible to accelerate the search by using /proc/<wine pid>/fd/* to get a head start on finding out which file corresponds to the inode.