Revert "exFAT support"

This reverts commit f26654c0377598b431a21d55bbab3c9dc2120f69.

Change-Id: Ie7196f69552ef6be0157ed9c2406d07133088723
msm: Create shadow files under /sys/kernel/ipv4

The TCP delayed ack parameters can be configured from user space
application which runs with non-root credentials and does not have
direct write access to /proc entries. This commit creates shadow
files under /sys/kernel/ipv4 which maps to /proc/sys/net/ipv4.

CRs-Fixed: 628139
Change-Id: If9f5e8f1f5f31c39090555b7b0c40efcdf6ccd08
Signed-off-by: Ravi Joshi <ravij@codeaurora.org>
WLAN subsystem: Sysctl support for key TCP/IP parameters

It has been observed that default values for some of key tcp/ip
parameters are affecting the tput/performance of the system. Hence
extending configuration capabilities to TCP/Ip stack through
sysctl interface.

CRs-Fixed: 507581
Signed-off-by: Mahesh A Saptasagar <msapta@codeaurora.org>

Conflicts:
	include/net/tcp.h
	net/ipv4/sysctl_net_ipv4.c
	net/ipv4/tcp.c
	net/ipv4/tcp_input.c

Change-Id: Ie4573c72e2e9bee63bdbb58b29f2e624ed7658bc
f2fs: fix typo

Fix typo and some grammatical errors.

The words "filesystem" and "readahead" are being used without the space treewide.

Change-Id: I9b3a9df0aa4a711394bed21ff07bf5ee3d2d9ae9
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: should convert inline_data during the mkwrite

If mkwrite is called to an inode having inline_data, it can overwrite the data
index space as NEW_ADDR. (e.g., the first 4 bytes are coincidently zero)

Change-Id: Ia84a086e4c229fb390a2a1f395a83fe8c35fb955
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: make clear on test condition and return types

This patch adds a parentheses to make clear for condition check.
And also it changes the return type for better meanings.

Change-Id: Iaa69a1776cf43cf456871e488487380ac71bcf64
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: fix the initial inode page for recovery

If a new inode page is needed for recover_dentry, we should assing i_inline
as zero.

Change-Id: I9e2836f93449443f9595bb656bbe76ed926400e8
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: clear FI_INC_LINK during the recovery

If an inode are fsynced multiple times with fsync & dent marks, this inode will
set FI_INC_LINK at find_fsync_dnodes during the recovery.
But, in recover_inode, recover_dentry doesn't clear that flag when multiple hits
were occurred.

So this patch removes the flag for the further consistency.

Change-Id: I2ec351c507119433d8280ffa3fc14cc3de41d34b
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: should clear the inline_xattr flag

During the recovery, we should clear the inline_xattr flag if its xattr node
block is recovered.

Change-Id: I7c96f2a584cc3d53ae0c4b8b1b5dc96cda763736
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
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>
f2fs: give a chance to mount again when encountering errors

This patch gives another chance to try mount process when we encounter an error.
This makes an effect on the roll-forward recovery failures as well.

Change-Id: Ie90dda2d7231fdc9cab0d5c307d2f6f7e9e7aeff
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: introduce f2fs_cp_error for readability

This patch adds f2fs_cp_error for readability.

Change-Id: I1041ab4bdb57db1c5e06accdfdca91bd10439cdf
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: unlock_page when node page is redirtied out

This patch fixes missing unlock_page when a node page is redirtied out.

Change-Id: I94ae456f8eebbe6a3ff3ce857add3615052335bc
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: check s_dirty under cp_mutex

It needs to check s_dirty under cp_mutex, since s_dirty is reset under that
mutex.
And previous condition was not correct, since we can omit doing checkpoint
when checkpoint was done followed by all the node pages were written back.

Change-Id: Iae6f12f0ba6f2732a9ae337da281431db0bb3cdd
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: handle EIO not to break fs consistency

There are two rules when EIO is occurred.
1. don't write any checkpoint data to preserve the previous checkpoint
2. don't lose the cached dentry/node/meta pages

So, at first, this patch adds set_page_dirty in f2fs_write_end_io's failure.
Then, writing checkpoint/dentry/node blocks is not allowed.

Note that, for the data pages, we can't just throw away by redirtying them.
Otherwise, kworker can fall into infinite loop to flush them.
(Ref. xfstests/019)

Change-Id: I0d792f8b575249fb9620784ace7d401b09f73a23
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: add WARN_ON in f2fs_bug_on

This patch adds WARN_ON when f2fs_bug_on is disable to see kernel messages.

Change-Id: I4179a5835836b69ecdd8114dc0d79da5c750ba41
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
f2fs: avoid double lock in truncate_blocks

The init_inode_metadata calls truncate_blocks when error is occurred.
The callers holds f2fs_lock_op, so we should not call it again in
truncate_blocks.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Conflicts:
	fs/f2fs/data.c

Change-Id: I4da185f3717747a801f39d3e946da22ef9ba48e3