I have used the Petit version a lot and I love it. But it is not always very efficient because it does no caching. I've done a fix so that when I have 512 bytes to spare it will save the last sector read. It speeds things up a lot without the fixed overheads of the full Fatfs. I probably should offer it up if it's possible.
It can write to files, but it can't create or resize them. For that (and more), you want FatFs, the full featured version: http://elm-chan.org/fsw/ff/00index_e.html
elm-chan has also written an AVR bootloader that can update the flash from, for example, an SDCard. It uses this Petit FAT File System Module and requires a 4K bootloader section (so mostly of use on the ATMega1284).