Question: How can one build a device that presents itself as a mass storage device to a machine via usb, then whatever files are transfered to it, get sent to a remote location via wifi (can be ad hoc). Something like the eye-fi but that can send any files. 

Something similar to these devices :

<http://www.infinitec.com/> (Why can't use : Will be released first of july which is too late for me )

<http://www.hsti.com/> (Why can't use : Remote file system is mounted read only)

Thank you

Answer: 
If you're looking to just "get the job done", I'd go with Linux as suggested. It'll work and be fast.

If you're trying to build something with a low bill of materials, you could consider a microcontroller talking USB mass storage, connected to some non-wifi radio. Then, bridge the radio to ethernet/wifi at the other end. Won't be anywhere near as fast as wifi though.

One approach could be a couple of [jeenodes](http://shop.jeelabs.com/products/jeenode). One running [V-USB](http://www.obdev.at/products/vusb/index.html) to talk mass-storage, the other hooked to [ethernet](http://shop.jeelabs.com/products/ether-card).
If I may make a twist on @Joby's answer, I think you might be able to use a WiShield on an Arduino to get you the wireless aspect. Then I bet there's someone who's made a MassStorage Shield (if not, that might be a good idea for me to try and pull off someday...)