android_kernel_xiaomi_sm8350/fs/xfs/linux-2.6
Stuart Brodsky 2fe33661fc xfs: ensure f_ffree returned by statfs() is non-negative
Because of delayed updates to sb_icount field in the super block, it
is possible to allocate over maxicount number of inodes.  This
causes the arithmetic to calculate a negative number of free inodes
in user commands like df or stat -f.

Since maxicount is a somewhat arbitrary number, a slight over
allocation is not critical but user commands should be displayed as
0 or greater and never go negative.  To do this the value in the
stats buffer f_ffree is capped to never go negative.

[ Modified to use max_t as per Christoph's comment. ]

Signed-off-by: Stu Brodsky <sbrodsky@sgi.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
2010-08-24 11:46:05 +10:00
..
kmem.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
kmem.h
mrlock.h
sv.h
time.h
xfs_acl.c xfs: split xfs_itrace_entry 2010-07-26 13:16:44 -05:00
xfs_aops.c xfs: handle negative wbc->nr_to_write during sync writeback 2010-08-24 11:44:56 +10:00
xfs_aops.h direct-io: move aio_complete into ->end_io 2010-07-26 16:09:02 -05:00
xfs_buf.c xfs: kill the b_strat callback in xfs_buf 2010-07-26 13:16:52 -05:00
xfs_buf.h xfs: kill the b_strat callback in xfs_buf 2010-07-26 13:16:52 -05:00
xfs_cred.h
xfs_export.c xfs: remove xfs_iput_new 2010-07-26 13:16:44 -05:00
xfs_export.h
xfs_file.c xfs: remove a dmapi leftover 2010-07-26 13:16:47 -05:00
xfs_fs_subr.c xfs: drop dmapi hooks 2010-07-26 13:16:33 -05:00
xfs_globals.c
xfs_globals.h
xfs_ioctl32.c xfs: split xfs_itrace_entry 2010-07-26 13:16:44 -05:00
xfs_ioctl32.h
xfs_ioctl.c xfs: split xfs_itrace_entry 2010-07-26 13:16:44 -05:00
xfs_ioctl.h
xfs_iops.c simplify checks for I_CLEAR/I_FREEING 2010-08-09 16:47:44 -04:00
xfs_iops.h
xfs_linux.h xfs: new truncate sequence 2010-08-09 16:47:42 -04:00
xfs_quotaops.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2010-08-07 12:57:07 -07:00
xfs_stats.c
xfs_stats.h
xfs_super.c xfs: ensure f_ffree returned by statfs() is non-negative 2010-08-24 11:46:05 +10:00
xfs_super.h xfs: drop dmapi hooks 2010-07-26 13:16:33 -05:00
xfs_sync.c xfs: simplify and remove xfs_ireclaim 2010-07-26 13:16:48 -05:00
xfs_sync.h xfs: remove explicit xfs_sync_data/xfs_sync_attr calls on umount 2010-07-26 13:16:42 -05:00
xfs_sysctl.c
xfs_sysctl.h
xfs_trace.c xfs: remove unneeded #include statements 2010-07-26 13:16:33 -05:00
xfs_trace.h convert remaining ->clear_inode() to ->evict_inode() 2010-08-09 16:48:37 -04:00
xfs_version.h
xfs_vnode.h
xfs_xattr.c xfs: constify xattr_handler 2010-05-21 18:31:19 -04:00