hello i have an idea here.
it looks like you have a bad superblock. perhaps you can repair this by using the backup superblock by doing 'e2fsck -b <superblock> /dev/hdaX'.
do 'man e2fsck' for more info.
usually it's 'e2fsck -p -b 8193 /dev/hdaX' but it always depends on the fs' blocksize.
this command saved my filesystem before but i can't remember if some of my files were deleted. remember that this is always up to you and you'll do it at your own risk.
i suggest you make more research about the command.
hope this helps
Edit: btw you can have more info about your fs using debugfs. do 'debugfs /dev/hdaX | less -S'