You're pretty much stuck waiting it out. It's going to take a good long time too.
–
Chris S♦Apr 12 '10 at 13:19

you could always put the command into back ground with & , so you can do other work while you delete files. You could always just recreate the file system with mkfs /dev/mydevice, this would be faster than deleting files, although you will loose everything on that file system.
–
The Unix JanitorApr 12 '10 at 14:59

Get the file names with ls -f or ls -U (if supported) to avoid having ls or your shell sort out the names. Just ls -f | egrep -v '\.|\.\.' | xargs rm -f. If this is a frequent necessity, you might want to write a small C utility to do it.