Next time you should probably also consider to split up your system in different filesystems, that way the system might survive such a fill up. For example, on my UFS systems I always separate /home, /var, /usr, /usr/local and some others (depending on whether I use those or not) such as /usr/src (mainly so that I can mount it readonly) and /usr/doc.
This will ensure that whenever I overplay my hand by dumping too much data on my server (in /home) it won't affect the other parts of my system (because /var won't be affected the other services can still write their temp datafiles and/or logfiles).
I think this is an approach you should definitely consider using, even on a simple home server. Because it can help protect you against situations such as these.