Bug fix: Fix overflow when calculating block address
Bug fix: Fix overflow when calculating block address

This patch fixes the bug as follows.
"I'm trying to roll out f2fs on top of SDHC card and faced with following
issue - after mounting card I cannot read device root entry. It returns
-1 EINVAL (entry too big).
getdents(3, /* 1 entries */, 32768)     = 24
getdents(3, 0x1082c88, 32768)           = -1 EINVAL (Invalid argument)"
		reported by Ruslan N. Marchenko [me@ruff.mobi].

This bug is easily reproducible and I couldn't have checked the mount
entry cautiously.
Due to the bug, f2fs couldn't get default dentries, . and .., in the root
directory. In the case of other newly created directories, that's fine.

The problem was the overflow during casting variables while calculating the
block address of the root dentry block.
In order to avoid that, I simply split the equation under consideration of
the casting issue.

Signed-off-by: Jaegeuk Kim <20424effba9d4aeeb410130c5f23aa328fa29e09@samsung.com>

android-ia/platform_external_f2fs-tools,codeaurora-unoffical/platform-external-f2fs-tools,DARKPOP/external_f2fs-tools,Yu-AndroidM/android_external_f2fs-tools,TurboROM/external_f2fs-tools,Euphoria-OS-Legacy/android_external_f2fs-tools,temasek/android_external_f2fs-tools,PAC-ROM/android_external_f2fs-tools,temasek/android_external_f2fs-tools,Infinitive-OS/platform_external_f2fs-tools,geekboxzone/mmallow_external_f2fs-tools,xin3liang/platform_external_f2fs-tools,CMRemix/android_external_f2fs-tools,AOSP-YU/platform_external_f2fs-tools,seamlik/f2fs-tools,TeamTwisted/android_external_f2fs-tools,PAC-ROM/android_external_f2fs-tools,LordNerevar/android_external_f2fs-tools,AOSP-YU/platform_external_f2fs-tools,Fusion-Rom/android_external_f2fs-tools,YUPlayGodDev/platform_external_f2fs-tools,geekboxzone/lollipop_external_f2fs-tools,Euphoria-OS-Legacy/android_external_f2fs-tools,Khaon/android_external_f2fs-tools,Oi-Android/android_external_f2fs-tools,TeamEOS/external_f2fs-tools,NamelessRom/android_external_f2fs-tools,makermade/platform-external-f2fs-tools,schqiushui/android_external_f2fs-tools,seamlik/f2fs-tools,TurboROM/external_f2fs-tools,TeamTwisted/android_external_f2fs-tools,OneRom/external_f2fs-tools,Infinitive-OS/external_f2fs-tools,Oi-Android/android_external_f2fs-tools,invisiblek/android_external_f2fs-tools,VanirAOSP/external_f2fs-tools,OneRom/external_f2fs-tools,Infinitive-OS/platform_external_f2fs-tools,NamelessRom/android_external_f2fs-tools,CMRemix/android_external_f2fs-tools,Fusion-Rom/android_external_f2fs-tools,Khaon/android_external_f2fs-tools,YUPlayGodDev/platform_external_f2fs-tools,TeamExodus/external_f2fs-tools,VanirAOSP/external_f2fs-tools,geekboxzone/lollipop_external_f2fs-tools,TeamExodus/external_f2fs-tools,AOSPA-L/android_external_f2fs-tools,AOSPA-L/android_external_f2fs-tools,Yu-AndroidM/android_external_f2fs-tools,android-ia/platform_external_f2fs-tools,schqiushui/android_external_f2fs-tools,codeaurora-unoffical/platform-external-f2fs-tools,geekboxzone/mmallow_external_f2fs-tools,xin3liang/platform_external_f2fs-tools,TeamEOS/external_f2fs-tools,Infinitive-OS/external_f2fs-tools,LordNerevar/android_external_f2fs-tools,blastagator/cm_external_f2fs-tools,DARKPOP/external_f2fs-tools,makermade/platform-external-f2fs-tools,invisiblek/android_external_f2fs-tools,blastagator/cm_external_f2fs-tools