nilfs2: another dat for garbage collection
nilfs2: another dat for garbage collection

NILFS2 uses another DAT inode during garbage collection to ensure
atomicity and consistency of the DAT in the transient state.  This
twin inode is called GCDAT.

This adds functions to initialize the GCDAT and to switch page caches
and B-tree node caches between these two inodes.

Signed-off-by: Seiji Kihara <4edd7551bb47a2484f4f0f7df439fd4c9788bc19@lab.ntt.co.jp>
Signed-off-by: Ryusuke Konishi <f414f2bdd839fdc054376382fa67e9bc2fbf206f@lab.ntt.co.jp>
Signed-off-by: Yoshiji Amagai <2d21c7bc26b9f86492870af9f07673db6ef57b65@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <5c1e68b099950c134891f0b6e179498a8ebe9cf9@linux-foundation.org>
Signed-off-by: Linus Torvalds <69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org>

KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas