f2fs: fix to recover inline_xattr/data and blocks

This patch fixes not to skip xattr recovery and inline xattr/data recovery
order.

Change-Id: I044c9e1ab689a875dcbdf2e340bbcea61ea24822
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: avoid bug_on when error is occurred

During the recovery, if an error like EIO or ENOMEM, f2fs_bug_on should skip.

Change-Id: I63cb2deb1a83e1ad64a9de9fa26cc686aa54a4fa
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: don't skip checkpoint if there is no dirty node pages

This is the errorneous scenario.
1. write data
2. do checkpoint
3. produce some dirty node pages by the gc thread
4. write back dirty node pages
5. f2fs_put_super will skip the checkpoint, since dirty count for node pages is
  zero.

This patch removes such the wrong condition check.

Change-Id: Ie880d9b5c216883f1c00b7ab55e1c16d4b29eb3d
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: trigger release_dirty_inode in f2fs_put_super

The generic_shutdown_super calls sync_filesystem, evict_inode, and then
f2fs_put_super. In f2fs_evict_inode, we remain some dirty inode information
so we should release them at f2fs_put_super.

Change-Id: I6b15bb69291653909990c16cbe4d6089c8c3ae74
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>