f2fs: initial support

Imported from upstream branch with the following patches:
f2fs: support 3.4
f2fs: potential shift wrapping buf in f2fs_trim_fs()
f2fs: call f2fs_unlock_op after error was handled
f2fs: clean up f2fs_ioctl functions
f2fs: support atomic_write feature for database
f2fs: check the use of macros on block counts and addresses
f2fs: refactor flush_nat_entries to remove costly reorganizing ops
f2fs: introduce FITRIM in f2fs_ioctl
f2fs: introduce cp_control structure
f2fs: use more free segments until SSR is activated
f2fs: change the ipu_policy option to enable combinations
f2fs: fix to search whole dirty segmap when get_victim
f2fs: fix to clean previous mount option when remount_fs
f2fs: skip punching hole in special condition
f2fs: support large sector size
f2fs: fix to truncate blocks past EOF in ->setattr
f2fs: update i_size when __allocate_data_block
f2fs: use MAX_BIO_BLOCKS(sbi)
f2fs: remove redundant operation during roll-forward recovery
f2fs: do not skip latest inode information
f2fs: fix roll-forward missing scenarios
f2fs: fix conditions to remain recovery information in f2fs_sync_file
f2fs: introduce a flag to represent each nat entry information
f2fs: use meta_inode cache to improve roll-forward speed
f2fs: fix double lock for inode page during roll-foward recovery
f2fs: fix a race condition in next_free_nid
f2fs: use nm_i->next_scan_nid as default for next_free_nid
f2fs: give an option to enable in-place-updates during fsync to users
f2fs: expand counting dirty pages in the inode page cache
f2fs: remove lengthy inode->i_ino
f2fs: fix negative value for lseek offset
f2fs: avoid node page to be written twice in gc_node_segment
f2fs: use lock-less list(llist) to simplify the flush cmd management
f2fs: refactor flush_sit_entries codes for reducing SIT writes
f2fs: remove unneeded sit_i in macro SIT_BLOCK_OFFSET/START_SEGNO
f2fs: need fsck.f2fs if the recovery was failed
f2fs: handle bug cases by letting fsck.f2fs initiate
f2fs: add BUG cases to initiate fsck.f2fs
f2fs: need fsck.f2fs when f2fs_bug_on is triggered
f2fs: retain inconsistency information to initiate fsck.f2fs
f2fs: introduce F2FS_I_SB, F2FS_M_SB, and F2FS_P_SB
Merge tag 'for-f2fs-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: reposition unlock_new_inode to prevent accessing invalid inode
f2fs: fix wrong casting for dentry name
f2fs: simplify by using a literal
f2fs: truncate stale block for inline_data
f2fs: use macro for code readability
f2fs: introduce need_do_checkpoint for readability
f2fs: fix incorrect calculation with total/free inode num
f2fs: remove rename and use rename2
f2fs: skip if inline_data was converted already
f2fs: remove rewrite_node_page
f2fs: avoid double lock in truncate_blocks
f2fs: prevent checkpoint during roll-forward
f2fs: add WARN_ON in f2fs_bug_on
f2fs: handle EIO not to break fs consistency
f2fs: check s_dirty under cp_mutex
f2fs: unlock_page when node page is redirtied out
f2fs: introduce f2fs_cp_error for readability
f2fs: give a chance to mount again when encountering errors
f2fs: trigger release_dirty_inode in f2fs_put_super
f2fs: don't skip checkpoint if there is no dirty node pages
f2fs: avoid bug_on when error is occurred
f2fs: fix to recover inline_xattr/data and blocks
f2fs: should clear the inline_xattr flag
f2fs: clear FI_INC_LINK during the recovery
f2fs: fix the initial inode page for recovery
f2fs: make clear on test condition and return types
f2fs: should convert inline_data during the mkwrite
f2fs: fix typo
Merge tag 'for-f2fs-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: use for_each_set_bit to simplify the code
f2fs: add f2fs_balance_fs for expand_inode_data
f2fs: invalidate xattr node page when evict inode
f2fs: avoid skipping recover_inline_xattr after recover_inline_data
f2fs: add tracepoint for f2fs_direct_IO
f2fs: reduce competition among node page writes
f2fs: fix coding style
f2fs: remove redundant lines in allocate_data_block
f2fs: add tracepoint for f2fs_issue_flush
f2fs: avoid retrying wrong recovery routine when error was occurred
f2fs: test before set/clear bits
f2fs: fix wrong condition for unlikely
f2fs: enable in-place-update for fdatasync
f2fs: skip unnecessary data writes during fsync
f2fs: add info of appended or updated data writes
f2fs: use radix_tree for ino management
f2fs: add infra for ino management
f2fs: punch the core function for inode management
f2fs: add nobarrier mount option
f2fs: fix to put root inode in error path of fill_super
f2fs: avoid use invalid mapping of node_inode when evict meta inode
f2fs: support ->rename2()
f2fs: add f2fs_balance_fs for direct IO
f2fs: reduce searching region of segmap when free section
f2fs: remove the unused stat_lock
f2fs: cleanup the needless return of f2fs_create_root_stats
f2fs: check name_len of dir entry to prevent from deadloop
f2fs: use inner macro and function to clean up codes
f2fs: introduce f2fs_write_failed to handle error case when write
f2fs: arguments cleanup of finding file flow functions
f2fs: remove the needless point-cast
f2fs: remove the redundant validation check of acl
f2fs: reduce region of f2fs_lock_op covered for better concurrency
f2fs: replace count*size kzalloc by kcalloc
f2fs: refactor flush_nat_entries codes for reducing NAT writes
f2fs: clean up an unused parameter and assignment
f2fs: introduce f2fs_do_tmpfile for code consistency
f2fs: support ->tmpfile()
f2fs: avoid to truncate non-updated page partially
f2fs: avoid unneeded SetPageUptodate in f2fs_write_end
Merge tag 'f2fs-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: avoid to access NULL pointer in issue_flush_thread
f2fs: check bdi->dirty_exceeded when trying to skip data writes
f2fs: do checkpoint for the renamed inode
f2fs: release new entry page correctly in error path of f2fs_rename
f2fs: fix error path in init_inode_metadata
f2fs: check lower bound nid value in check_nid_range
f2fs: remove unused variables in f2fs_sm_info
f2fs: fix not to allocate unnecessary blocks during fallocate
f2fs: recover fallocated data and its i_size together
f2fs: fix to report newly allocate region as extent
Merge tag 'for-f2fs-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: support f2fs_fiemap
f2fs: avoid not to call remove_dirty_inode
f2fs: recover fallocated space
f2fs: fix to recover data written by dio
f2fs: large volume support
f2fs: avoid crash when trace f2fs_submit_page_mbio event in ra_sum_pages
f2fs: avoid overflow when large directory feathure is enabled
f2fs: fix recursive lock by f2fs_setxattr
MAINTAINERS: change the email address for f2fs
f2fs: use inode_init_owner() to simplify codes
f2fs: avoid to use slab memory in f2fs_issue_flush for efficiency
f2fs: add a tracepoint for f2fs_read_data_page
f2fs: add a tracepoint for f2fs_write_{meta,node,data}_pages
f2fs: add a tracepoint for f2fs_write_{meta,node,data}_page
f2fs: add a tracepoint for f2fs_write_end
f2fs: add a tracepoint for f2fs_write_begin
f2fs: fix checkpatch warning
f2fs: deactivate inode page if the inode is evicted
f2fs: decrease the lock granularity during write_begin
f2fs: no need to wait on page writebck to meta pages
f2fs: avoid grab_cache_page_write_begin for data pages
f2fs: split grab_cache_page and wait_on_page_writeback for node pages
f2fs: fix to truncate inline data in inode page when setattr
f2fs: readahead multi pages of directory for performance
f2fs: set errno when f2fs_iget failed in recover_dentry
f2fs: consider fallocated space for SEEK_DATA
f2fs: return i_size if the hole is outside of i_size
f2fs: introduce f2fs_seek_block to support SEEK_{DATA, HOLE} in llseek
f2fs: introduce help function {create,destroy}_flush_cmd_control
f2fs: introduce struct flush_cmd_control to wrap the flush_merge fields
f2fs: introduce help macro ADDRS_PER_PAGE()
f2fs: submit bio at the reclaim path
f2fs: return errors right after checking them
f2fs: pass flags field to setxattr functions
f2fs: clean up long variable names
f2fs: handle inline data independently in f2fs_bmap
f2fs: adjust free mem size to flush dentry blocks
f2fs: avoid BUG_ON when mouting corrupted image having garbage blocks
f2fs: add available_nids to fix handling max_nid correctly
f2fs: add static to get_max_meta_blks
f2fs: introduce raw_nat_from_node_info() to simplfy codes
f2fs: add the flush_merge handle in the remount flow
f2fs: atomically set inode->i_flags in f2fs_set_inode_flags()
f2fs: make recover_inline_xattr() static
f2fs: remove costly dirty_dir_inode operations
f2fs: fix to unlock f2fs_lock at the omitted error case
f2fs: call redirty_page_for_writepage
f2fs: avoid to conduct roll-forward due to the remained garbage blocks
f2fs: enable flush_merge only in f2fs is not read-only
f2fs: use __GFP_ZERO to avoid appending set-NULL
f2fs: put the bio when issue_flush completed
f2fs: switch to iov_iter_alignment()
Merge tag 'for-f2fs-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: fix wrong statistics of inline data
f2fs: check the acl's validity before setting
f2fs: introduce f2fs_issue_flush to avoid redundant flush issue
f2fs: fix to cover io->bio with io_rwsem
f2fs: fix error path when fail to read inline data
f2fs: use list_for_each_entry{_safe} for simplyfying code
f2fs: avoid free slab cache under spinlock
f2fs: avoid unneeded lookup when xattr name length is too long
f2fs: avoid unnecessary bio submit when wait page writeback
f2fs: return -EIO when node id is not matched
f2fs: avoid RECLAIM_FS-ON-W warning
f2fs: skip unnecessary node writes during fsync
f2fs: introduce fi->i_sem to protect fi's info
f2fs: change reclaim rate in percentage
f2fs: add missing documentation for dir_level
f2fs: remove unnecessary threshold
f2fs: throttle the memory footprint with a sysfs entry
f2fs: avoid to drop nat entries due to the negative nr_shrink
f2fs: call f2fs_wait_on_page_writeback instead of native function
f2fs: introduce nr_pages_to_write for segment alignment
f2fs: increase pages_skipped when skipping writepages
f2fs: avoid small data writes by skipping writepages
f2fs: introduce get_dirty_dents for readability
f2fs: fix incorrect parsing with option string
f2fs: avoid to return incorrect errno of read_normal_summaries
f2fs: introduce f2fs_has_xattr_block for better readability
f2fs: print type for each segment in segment_info's show
f2fs: check upper bound of ino value in f2fs_nfs_get_inode
f2fs: introduce f2fs_has_inline_xattr for better readability
f2fs: recover inline xattr data in roll-forward process
f2fs: optimize restore_node_summary slightly
f2fs: format segment_info's show for better legibility
f2fs: remove the unused ctor argument of f2fs_kmem_cache_create()
f2fs: update start nid only once each circle
f2fs: fix wrong kernel coding style
f2fs: fix to write node pages with WRITE_SYNC
f2fs: fix dirty page accounting when redirty
f2fs: use existing macro to clean up some codes
f2fs: readahead contiguous SSA blocks for f2fs_gc
f2fs: add an sysfs entry to control the directory level
f2fs: introduce large directory support
f2fs: remove costly bit operations for f2fs_find_entry
f2fs: implement a lock-free stat_show
f2fs: introduce a radix_tree for the free_nid list
f2fs: introduce help macro on_build_free_nids()
f2fs: fix to mark the checkpointed nat entry correctly
f2fs: fix to do build_stat prior to the recovery procedure
f2fs: fix not to write data pages on the page reclaiming path
f2fs: fix the calculation of max_nids
f2fs: show counts of checkpoint in status
f2fs: introduce ra_meta_pages to readahead CP/NAT/SIT pages
f2fs: use inode mutex to keep atomicity of f2fs_falloc
f2fs: clean up redundant function call
f2fs: fix f2fs_write_meta_page at no checkpoint status
f2fs: fix to truncate dentry pages in the error case
f2fs: fix a build warning
f2fs: clean up with a macro
f2fs: fix the potential mismatch between dir's i_size and i_blocks
f2fs: remove the ugly pointer conversion
f2fs: fix to recover xattr node block
f2fs: handle dirty segments inside refresh_sit_entry
f2fs: update_inode_page should be done all the time
f2fs: use generic posix ACL infrastructure
Merge tag 'for-f2fs-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: drop obsolete node page when it is truncated
f2fs: introduce NODE_MAPPING for code consistency
f2fs: remove the orphan block page array
f2fs: add help function META_MAPPING
f2fs: move a branch for code redability
f2fs: call mark_inode_dirty to flush dirty pages
f2fs: clean checkpatch warnings
f2fs: missing REQ_META and REQ_PRIO when sync_meta_pages(META_FLUSH)
f2fs: avoid f2fs_balance_fs call during pageout
f2fs: add delimiter to seperate name and value in debug phrase
f2fs: use spinlock rather than mutex for better speed
f2fs: move alloc new orphan node out of lock protection region
f2fs: move grabing orphan pages out of protection region
f2fs: remove the needless parameter of f2fs_wait_on_page_writeback
f2fs: update documents and a MAINTAINERS entry
f2fs: add a sysfs entry to control max_victim_search
f2fs: improve write performance under frequent fsync calls
f2fs: avoid to read inline data except first page
f2fs: avoid to left uninitialized data in page when read inline data
f2fs: fix truncate_partial_nodes bug
f2fs: handle errors correctly during f2fs_reserve_block
f2fs: add inline_data recovery routine
f2fs: add the number of inline_data files to status info
f2fs: refactor f2fs_convert_inline_data
f2fs: call f2fs_put_page at the error case
f2fs: convert inline_data for punch_hole
f2fs: don't need to get f2fs_lock_op for the inline_data test
f2fs: update f2fs Documentation
f2fs: handle inline data operations
f2fs: key functions to handle inline data
f2fs: convert max_orphans to a field of f2fs_sb_info
f2fs: check the blocksize before calling generic_direct_IO path
f2fs: should put the dnode when NEW_ADDR is detected
f2fs: introduce F2FS_INODE macro to get f2fs_inode
f2fs: check filename length in recover_dentry
f2fs: avoid to set wrong pino of inode when rename dir
f2fs: update several comments
f2fs: remove the rw_flag domain from f2fs_io_info
f2fs: move all the bio initialization into __bio_alloc
f2fs: add description about small_discards in document
f2fs: write dirty meta pages collectively
f2fs: introduce a new direct_IO write path
f2fs: introduce sysfs entry to control in-place-update policy
f2fs: missing kmem_cache_destroy for discard_entry
f2fs: fix the location of tracepoint
f2fs: refactor bio->rw handling
f2fs: merge pages with the same sync_mode flag
f2fs: add unlikely() macro for compiler more aggressively
f2fs: add unlikely() macro for compiler optimization
f2fs: avoid unneeded page release for correct _count of page
f2fs: use inner macro GFP_F2FS_ZERO for simplification
f2fs: replace the debugfs_root with f2fs_debugfs_root
f2fs: remove debufs dir if debugfs_create_file() failed
f2fs: readahead contiguous pages for restore_node_summary
f2fs: refactor bio-related operations
f2fs: remove the own bi_private allocation
f2fs: convert recover_orphan_inodes to void
f2fs: check return value of f2fs_readpage in find_data_page
f2fs: use true and false for boolean variable
f2fs: correct type of wait in struct bio_private
f2fs: avoid to calculate incorrect max orphan number
f2fs: remove unneeded code in punch_hole
f2fs: remove unnecessary condition checks
f2fs: bug fix on bit overflow from 32bits to 64bits
f2fs: fix a potential out of range issue
f2fs: remove unnecessary return value
f2fs: add a new mount option: inline_data
f2fs: add flags and helpers to support inline data
f2fs: send REQ_META or REQ_PRIO when reading meta area
f2fs: add detailed information of bio types in the tracepoints
f2fs: add a new function: f2fs_reserve_block()
f2fs: avoid lock debugging overhead
f2fs: read contiguous sit entry pages by merging for mount performance
f2fs: adds a tracepoint for f2fs_submit_read_bio
f2fs: adds a tracepoint for submit_read_page
f2fs: simplify IS_DATASEG and IS_NODESEG macro
f2fs: merge read IOs at ra_nat_pages()
f2fs: add a new function to support for merging contiguous read
f2fs: move the list_head initialization into the lock protection region
f2fs: simplify write_orphan_inodes for better readable
f2fs: convert inc/dec_valid_node_count to inc/dec one count
f2fs: convert dev_valid_block_count to void
f2fs: convert remove_inode_page to void
f2fs: introduce a bio array for per-page write bios
f2fs: disable the extent cache ops on high fragmented files
f2fs: use sbi->write_mutex for write bios
f2fs: clean up the do_submit_bio flow
f2fs: use f2fs_put_page to release page for uniform style
f2fs: add a tracepoint for f2fs_issue_discard
f2fs: introduce f2fs_issue_discard() to clean up
f2fs: add a sysfs entry to control max_discards
f2fs: add key functions for small discards
f2fs: add a slab cache entry for small discards
f2fs: improve searching speed of __next_free_blkoff
f2fs: introduce __find_rev_next(_zero)_bit
Merge tag 'for-f2fs-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: issue more large discard command
f2fs: fix memory leak after kobject init failed in fill_super
f2fs: cleanup waiting routine for writeback pages in cp
f2fs: avoid to use a NULL point in destroy_segment_manager
f2fs: remove unnecessary TestClearPageError when wait pages writeback
f2fs: update f2fs document
f2fs: avoid to wait all the node blocks during fsync
f2fs: check all ones or zeros bitmap with bitops for better mount performance
f2fs: change the method of calculating the number summary blocks
f2fs: fix calculating incorrect free size when update xattr in __f2fs_setxattr
f2fs: add an option to avoid unnecessary BUG_ONs
f2fs: introduce CONFIG_F2FS_CHECK_FS for BUG_ON control
f2fs: fix a deadlock during init_acl procedure
f2fs: clean up acl flow for better readability
f2fs: remove unnecessary segment bitmap updates
f2fs: add tracepoint for vm_page_mkwrite
f2fs: add tracepoint for set_page_dirty
f2fs: remove redundant set_page_dirty from write_compacted_summaries
f2fs: add reclaiming control by sysfs
f2fs: introduce f2fs_balance_fs_bg for some background jobs
f2fs: reclaim prefree segments periodically
f2fs: use bool for booleans
f2fs: clean up several status-related operations
f2fs: introduce f2fs_kmem_cache_alloc to hide the unfailed, kmem cache allocation
f2fs: no need to check other dirty_segmap when the seg has been found
f2fs: use true and false for boolean value
f2fs: avoid to write during the recovery
f2fs: avoid wait if IO end up when do_checkpoint for better performance
f2fs: introduce function read_raw_super_block()
f2fs: fix the starvation problem on cp_rwsem
f2fs: fix to store and retrieve i_rdev correctly
f2fs: fix writing incorrect orphan blocks
f2fs: avoid unnecessary checkpoints
f2fs: handle remount options correctly
f2fs: use rw_sem instead of fs_lock(locks mutex)
f2fs: account for orphan inodes during recovery
f2fs: don't GC or take an fs_lock from f2fs_initxattrs()
f2fs: don't let the orphan inode counter underflow
f2fs: remove unneeded write checkpoint in recover_fsync_data
f2fs: avoid allocating failure in bio_alloc
f2fs: optimize the victim searching loop slightly
f2fs: optimize fs_lock for better performance
Merge tag 'for-f2fs-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: optimize gc for better performance
f2fs: merge more bios of node block writes
f2fs: avoid an overflow during utilization calculation
f2fs: trigger GC when there are prefree segments
f2fs: use strncasecmp() simplify the string comparison
f2fs: fix omitting to update inode page
f2fs: support the inline xattrs
f2fs: add the truncate_xattr_node function
f2fs: introduce __find_xattr for readability
f2fs: reserve the xattr space dynamically
f2fs: add flags for inline xattrs
f2fs: fix error return code in init_f2fs_fs()
f2fs: fix wrong BUG_ON condition
f2fs: fix memory leak when init f2fs filesystem fail
f2fs: fix a compound statement label error
f2fs: avoid writing inode redundantly when creating a file
f2fs: alloc_page() doesn't return an ERR_PTR
f2fs: should cover i_xattr_nid with its xattr node page lock
f2fs: check the free space first in new_node_page
f2fs: clean up the needless end 'return' of void function
f2fs: introduce cur_cp_version function to reduce code size
f2fs: fix inconsistency between xattr node blocks and its inode
f2fs: fix the use of XATTR_NODE_OFFSET
f2fs: fix a build failure due to missing the kobject header
f2fs: fix a deadlock in fsync
f2fs: remove redundant code from f2fs_write_begin
f2fs: add sysfs entries to select the gc policy
f2fs: add sysfs support for controlling the gc_thread
f2fs: remove an unneeded kfree(NULL)
f2fs: fix handling orphan inodes
f2fs: move bio_private allocation out of f2fs_bio_alloc()
f2fs: use list_for_each rather than list_for_each_safe, in remove_orphan_inode()
f2fs: use seq_puts()/seq_putc() rather than seq_printf() where possible
f2fs: fix i_name during f2fs_sync_file
f2fs: update file name in the inode block during f2fs_rename
f2fs: introduce help function F2FS_NODE()
f2fs: add a help func F2FS_STAT() to get the f2fs_stat_info
f2fs: add proc entry to monitor current usage of segments
f2fs: add description for fsck.f2fs and dump.f2fs
f2fs: recover date requested by fdatasync
f2fs: fix readdir incorrectness
Merge tag 'for-f2fs-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: fix to recover i_size from roll-forward
f2fs: remove the unused argument "sbi" of func destroy_fsync_dnodes()
f2fs: remove reusing any prefree segments
f2fs: code cleanup and simplify in func {find/add}_gc_inode
f2fs: optimize the init_dirty_segmap function
f2fs: fix an endian conversion bug detected by sparse
f2fs: fix crc endian conversion
[readdir] convert f2fs
f2fs: add remount_fs callback support
f2fs: recover wrong pino after checkpoint during fsync
f2fs: optimize do_write_data_page()
f2fs: make locate_dirty_segment() as static
f2fs: remove unnecessary parameter "offset" from __add_sum_entry()
f2fs: avoid freqeunt write_inode calls
f2fs: optimise the truncate_data_blocks_range() range
f2fs: use the F2FS specific flags in f2fs_ioctl()
f2fs: sync dir->i_size with its block allocation
f2fs: fix i_blocks translation on various types of files
f2fs: set sb->s_fs_info before calling parse_options()
f2fs: support xattr security labels
f2fs: fix iget/iput of dir during recovery
f2fs: reorganise the function get_victim_by_default
f2fs: handle errors from get_node_page calls
f2fs: cover cp_file information with ilock
f2fs: fix incorrect iputs during the dentry recovery
f2fs: fix dentry recovery routine
f2fs: iput only if whole data blocks are flushed
f2fs: return proper error from start_gc_thread
f2fs: optimize several routines in node.h
f2fs: remove unneeded initializations in f2fs_parent_dir
f2fs: push some variables to debug part
f2fs: align data types between on-disk and in-memory block addresses
f2fs: dereferencing an ERR_PTR
f2fs: use ihold
f2fs: should not make_bad_inode on f2fs_link failure
f2fs: fix to handle do_recover_data errors
f2fs: reuse the locked dnode page and its inode
f2fs: fix wrong condition check
f2fs: add f2fs_readonly()
f2fs: avoid RECLAIM_FS-ON-W: deadlock
f2fs: don't do checkpoint if error is occurred
f2fs: fix to unlock page before exit
f2fs: remove unnecessary kmap/kunmap operations
f2fs: reorganize f2fs_vm_page_mkwrite
f2fs: use list_for_each_entry rather than list_for_each_entry_safe
f2fs: remove unecessary variable and code
f2fs, lockdep: annotate mutex_lock_all()
f2fs: add debug msgs in the recovery routine
f2fs: update inode page after creation
f2fs: change get_new_data_page to pass a locked node page
f2fs: skip get_node_page if locked node page is passed
f2fs: remove unnecessary por_doing check
f2fs: fix BUG_ON during f2fs_evict_inode(dir)
f2fs: fix por_doing variable coverage
f2fs: remove redundant assignment
f2fs: fix the inconsistent state of data pages
f2fs: fix inconsistency of block count during recovery
Merge tag 'f2fs-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: cover free_nid management with spin_lock
f2fs: optimize scan_nat_page()
f2fs: code cleanup for scan_nat_page() and build_free_nids()
f2fs: bugfix for alloc_nid_failed()
f2fs: recover when journal contains deleted files
f2fs: continue to mount after failing recovery
f2fs: avoid deadlock during evict after f2fs_gc
f2fs: modify the number of issued pages to merge IOs
f2fs: remove useless #include <linux/proc_fs.h> as we're now using sysfs as debug entry.
f2fs: fix inconsistent using of NM_WOUT_THRESHOLD
f2fs: check truncation of mapping after lock_page
f2fs: enhance alloc_nid and build_free_nids flows
f2fs: add a tracepoint on f2fs_new_inode
f2fs: check nid == 0 in add_free_nid
f2fs: add REQ_META about metadata requests for submit
f2fs: give a chance to merge IOs by IO scheduler
f2fs: avoid frequent background GC
f2fs: add tracepoints to debug checkpoint request
f2fs: add tracepoints for write page operations
f2fs: add tracepoints to debug the block allocation
f2fs: add tracepoints for GC threads
f2fs: add tracepoint for tracing the page i/o
f2fs: add tracepoints for truncate operation
f2fs: add tracepoints for sync & inode operations
f2fs: make is_multimedia_file code align with its name
f2fs: fix error return code in f2fs_fill_super()
f2fs: use mnt_want_write_file() in ioctl
f2fs: fix typo mistakes
f2fs: write checkpoint before starting FG_GC
f2fs: fix the logic of IS_DNODE()
f2fs: introduce a new global lock scheme
f2fs: move f2fs_balance_fs from truncate to punch_hole
f2fs: reduce redundant spin_lock operations
f2fs: update f2fs.txt related with discard at mkfs
f2fs: add NULL pointer check
f2fs: fix the bitmap consistency of dirty segments
f2fs: avoid race for summary information
f2fs: allocate remained free segments in the LFS mode
f2fs: check completion of foreground GC
f2fs: change GC bitmaps to apply the section granularity
f2fs: allocate new segment aligned with sections
f2fs: remove redundant lock_page calls
f2fs: introduce TOTAL_SECS macro
f2fs: do not use duplicate names in a macro
f2fs: use kmemdup
f2fs: fix to give correct parent inode number for roll forward
f2fs: remain nat cache entries for further free nid allocation
f2fs: do not skip writing file meta during fsync
f2fs: fix the recovery flow to handle errors correctly
f2fs: fix typo in comments
f2fs: avoid BUG_ON from check_nid_range and update return path in do_read_inode
f2fs: fix return values from validate superblock
f2fs: reorganize f2fs_setxattr
f2fs: notify when discard is not supported
f2fs: fix to call WRITE_FLUSH at the end of fsync
f2fs: fix not to allocate max_nid
f2fs: fix return value of releasepage for node and data
f2fs: scan next nat page to reuse free nids in there
f2fs: should check the node page was truncated first
f2fs: reduce unncessary locking pages during read
f2fs: Fix typo in comments
f2fs: avoid extra ++ while returning from get_node_path
f2fs: align f2fs maximum name length to linux based filesystem
f2fs: optimize and change return path in lookup_free_nid_list
f2fs: optimize get node page readahead part
f2fs: check the level before calling get_nid function
f2fs: introduce readahead mode of node pages
f2fs: read with READ_SYNC when getting dnode page
f2fs: fix to unlock node page when it was truncated
f2fs: fix overflow when calculating utilization on 32-bit
Merge tag 'f2fs-for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: avoid build warning
Merge branch 'f2fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs into dev
f2fs: add compat_ioctl to provide backward compatability
f2fs: fix calculation of max. gc cost in the SSR case
f2fs: clarify and enhance the f2fs_gc flow
f2fs: optimize the return condition for has_not_enough_free_secs
f2fs: make an accessor to get sections for particular block type
f2fs: mark gc_thread as NULL when thread creation is failed
f2fs: name gc task as per the block device
f2fs: remove unnecessary gc option check and balance_fs
f2fs: remove repeated F2FS_SET_SB_DIRT call
f2fs: when check superblock failed, try to check another superblock
f2fs: use F2FS_BLKSIZE to judge bloksize and page_cache_size
f2fs: add device name in debugfs
f2fs: stop repeated checking if cp is needed
f2fs: avoid balanc_fs during evict_inode
f2fs: remove the use of page_cache_release
f2fs: fix typo mistake for data_version description
f2fs: reorganize code for ra_node_page
f2fs: avoid redundant call to has_not_enough_free_secs in f2fs_gc
f2fs: add un/freeze_fs into super_operations
f2fs: clean up the add_orphan_inode func
f2fs: fix disable_ext_identify option spelling
f2fs: cover global locks for reserve_new_block
f2fs: prevent checkpoint once any IO failure is detected
f2fs: save device node number into f2fs_inode
f2fs: get rid of fake on-stack dentries
f2fs: switch init_inode_metadata() to passing parent and name separately
f2fs: switch new_inode_page() from dentry to qstr
f2fs: init_dent_inode() should take qstr
Merge tag 'f2fs-for-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: use _safe() version of list_for_each
f2fs: add comments of start_bidx_of_node
f2fs: avoid issuing small bios due to several dirty node pages
f2fs: support swapfile
f2fs: add remap_pages as generic_file_remap_pages
f2fs: add __init to functions in init_f2fs_fs
f2fs: fix the debugfs entry creation path
f2fs: add global mutex_lock to protect f2fs_stat_list
f2fs: remove the blk_plug usage in f2fs_write_data_pages
f2fs: avoid redundant time update for parent directory in f2fs_delete_entry
f2fs: remove redundant call to set_blocksize in f2fs_fill_super
f2fs: move f2fs_balance_fs to punch_hole
f2fs: add f2fs_balance_fs in several interfaces
f2fs: revisit the f2fs_gc flow
f2fs: check return value during recovery
f2fs: avoid null dereference in f2fs_acl_from_disk
f2fs: initialize newly allocated dnode structure
f2fs: update f2fs partition info about SIT/NAT layout
f2fs: update f2fs document to reflect SIT/NAT layout correctly
f2fs: remove unneeded INIT_LIST_HEAD at few places
f2fs: fix time update in case of f2fs fallocate
f2fs: introduce f2fs_msg to ease adding information prints
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: unify string length declarations and usage
f2fs: clean up unused variables and return values
f2fs: clean up the start_bidx_of_node function
f2fs: remove unneeded variable from f2fs_sync_fs
f2fs: fix fsync_inode list addition logic and avoid invalid access to memory
f2fs: remove unneeded initialization of nr_dirty in dirty_seglist_info
f2fs: handle error from f2fs_iget_nowait
f2fs: fix equation of has_not_enough_free_secs()
f2fs: add MAINTAINERS entry
f2fs: return a default value for non-void function
f2fs: invalidate the node page if allocation is failed
f2fs: add missing #include <linux/prefetch.h>
f2fs: Don't assign e_id in f2fs_acl_from_disk
f2fs: do f2fs_balance_fs in front of dir operations
f2fs: should recover orphan and fsync data
f2fs: fix handling errors got by f2fs_write_inode
f2fs: fix up f2fs_get_parent issue to retrieve correct parent inode number
f2fs: fix wrong calculation on f_files in statfs
f2fs: remove set_page_dirty for atomic f2fs_end_io_write
Merge tag 'for-3.8-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
f2fs: fix tracking parent inode number
f2fs: cleanup the f2fs_bio_alloc routine
f2fs: introduce accessor to retrieve number of dentry slots
f2fs: remove redundant call to f2fs_put_page in delete entry
f2fs: make use of GFP_F2FS_ZERO for setting gfp_mask
f2fs: rewrite f2fs_bio_alloc to make it simpler
f2fs: fix a typo in f2fs documentation
f2fs: remove unused variable
f2fs: move error condition for mkdir at proper place
f2fs: remove unneeded initialization
f2fs: check read only condition before beginning write out
f2fs: remove unneeded memset from init_once
f2fs: show error in case of invalid mount arguments
f2fs: fix the compiler warning for uninitialized use of variable
f2fs: resolve build failures
f2fs: adjust kernel coding style
f2fs: fix endian conversion bugs reported by sparse
f2fs: remove unneeded version.h header file from f2fs.h
f2fs: update the f2fs document
f2fs: update Kconfig and Makefile
f2fs: move proc files to debugfs
f2fs: add recovery routines for roll-forward
f2fs: add garbage collection functions
f2fs: add xattr and acl functionalities
f2fs: add core directory operations
f2fs: add inode operations for special inodes
f2fs: add core inode operations
f2fs: add address space operations for data
f2fs: add file operations
f2fs: add segment operations
f2fs: add node operations
f2fs: add checkpoint operations
f2fs: add super block operations
f2fs: add superblock and major in-memory structure
f2fs: add on-disk layout
f2fs: add document
defconfig:enabled support for f2fs

Change-Id: I8b8aec50ed398270384c0bd7b6b78107dc6567cd