Is there a way to mount network drive on Windows with client-side read/write cache enabled? In my case drive is guaranteed to be mounted by 1 user, and performance is way more important than reliability in case of network/power fails.
I have full control over the Linux file server, so any services are possible (some special iSCSI or something else).
Just raw non-cached performance limited by Gigabit network is not enough.
You can achieve this by using AFS [OPEN AFS] which supports client-side caching
Links on How to Open AFS Linux file sharing protocols
What Windows version runs on your client? With Windows 7/8 Pro, you can use the "offline files" features to have a local, lazy-synchronized copy of the required files. Take in mind that "offline files" is know to be really lazy in synchronize changes, so you can use it only on files used by few peoples and with low change rate.
Another possibility is to have the file locally to the client, and periodically synch back them using a third part utility as Dsynchronize and similar (for a comprehensive list, see here). This approach is even more susceptible so split brain scenarios, so take care piking your poison.
Did you try to use NFS client on windows to access linux share ? nfs shares can be set to be async (asynchronous ) some sort of write back cache.
you need to modify the /etc/exports to add async option to the share example :
Speed will also depend on the underlying hardware of the storage server. You'll get better speed with battery backed write cache on raid controller