f2fs:sync with upstream revision

squashed the following commits:
f2fs: support 3.4
f2fs: use kmap_atomic instead of kmap
f2fs: reuse make_empty_dir code for inline_dentry
f2fs: introduce f2fs_dentry_ptr structure for code clean-up
f2fs: should not truncate any inline_dentry
f2fs: reuse core function in f2fs_readdir for inline_dentry
f2fs: fix counting inline_data inode numbers
f2fs: add stat info for inline_dentry inodes
f2fs: avoid deadlock on init_inode_metadata
f2fs: fix to wait correct block type
f2fs: reuse find_in_block code for find_in_inline_dir
f2fs: reuse room_for_filename for inline dentry operation
f2fs: update f2fs documentation for inline dir support
f2fs: enable inline dir handling
f2fs: add key function to handle inline dir
f2fs: export dir operations for inline dir
f2fs: add a new mount option for inline dir
f2fs: add infra struct and helper for inline dir
f2fs: avoid infinite loop at cp_error
f2fs: avoid build warning
f2fs: fix to call f2fs_unlock_op
f2fs: avoid to allocate when inline_data was written
f2fs: use highmem for directory pages
f2fs: fix race conditon on truncation with inline_data
f2fs: should truncate any allocated block for inline_data write
f2fs: invalidate inmemory page
f2fs: do not make dirty any inmemory pages