shred() not working on ext* file systems

When vfat format my128kb flash drive, shred works fine. But, when I format it using ext2 or ext3, shred() exits with this error:

shred: /dev/sdb1: pass 1/1 (random)...
shred: /dev/sdb1: error writing at offset 12288: Invalid argument

Anyone know what is going on?