The below steps includes identifying the badblocks and saving them on a file and then feeding the file to fsck to check and fix any issues.
To identify bad block:badblocks /dev/hda1 > badblockslist.txt
Use fsck to fix issues: fsck -t ext4 -l test /dev/hda1