kernel_optimize_test/fs
David Chinner 4be536debe [XFS] Prevent free space oversubscription and xfssyncd looping.
The fix for recent ENOSPC deadlocks introduced certain limitations on
allocations. The fix could cause xfssyncd to loop endlessly if we did not
leave some space free for the allocator to work correctly. Basically, we
needed to ensure that we had at least 4 blocks free for an AG free list
and a block for the inode bmap btree at all times.

However, this did not take into account the fact that each AG has a free
list that needs 4 blocks. Hence any filesystem with more than one AG could
cause oversubscription of free space and make xfssyncd spin forever trying
to allocate space needed for AG freelists that was not available in the
AG.

The following patch reserves space for the free lists in all AGs plus the
inode bmap btree which prevents oversubscription. It also prevents those
blocks from being reported as free space (as they can never be used) and
makes the SMP in-core superblock accounting code and the reserved block
ioctl respect this requirement.

SGI-PV: 955674
SGI-Modid: xfs-linux-melb:xfs-kern:26894a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: David Chatterton <chatz@sgi.com>
2006-09-07 14:26:50 +10:00
..
9p [PATCH] 9p: fix fid behavior on failed remove 2006-07-31 13:28:44 -07:00
adfs [PATCH] adfs error message fix 2006-08-14 12:54:28 -07:00
affs
afs
autofs
autofs4
befs [PATCH] Fix BeFS slab corruption 2006-08-06 08:57:48 -07:00
bfs
cifs [CIFS] Do not send Query All EAs SMB when mount option nouser_xattr 2006-08-16 19:44:25 +00:00
coda [PATCH] Remove incorrect unlock_kernel from allocation failure path in coda_open() 2006-07-31 13:28:41 -07:00
configfs
cramfs
debugfs
devpts
efs [PATCH] efs: Remove incorrect unlock_kernel from failure path in efs_symlink_readpage() 2006-07-31 13:28:41 -07:00
exportfs
ext2 [PATCH] ext2: prevent div-by-zero on corrupted fs 2006-08-27 11:01:30 -07:00
ext3 [PATCH] ext3 filesystem bogus ENOSPC with reservation fix 2006-08-27 11:01:30 -07:00
fat
freevxfs [PATCH] freevxfs: Add missing lock_kernel() to vxfs_readdir 2006-07-31 13:28:44 -07:00
fuse [PATCH] fuse: fix error case in fuse_readpages 2006-08-14 12:54:29 -07:00
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd [PATCH] manage-jbd-its-own-slab fix 2006-09-01 11:39:10 -07:00
jffs
jffs2
jfs JFS: Fix bug in quota code. tmp_bh.b_size must be initialized 2006-07-28 08:46:05 -05:00
lockd LOCKD: Fix a deadlock in nlm_traverse_files() 2006-08-24 15:51:00 -04:00
minix [PATCH] Fix for minix crash 2006-08-27 11:01:30 -07:00
msdos
ncpfs
nfs NFSv4: Add v4 exception handling for the ACL functions. 2006-08-24 15:54:13 -04:00
nfs_common
nfsd [PATCH] knfsd: Fix stale file handle problem with subtree_checking. 2006-07-31 13:28:37 -07:00
nls
ntfs
ocfs2 ocfs2: allocation hints 2006-08-07 11:07:01 -07:00
openpromfs
partitions [DISKLABEL] SUN: Fix signed int usage for sector count 2006-08-26 17:55:55 -07:00
proc [PATCH] /proc/meminfo: don't put spaces in names 2006-08-27 11:01:33 -07:00
qnx4
ramfs
reiserfs [PATCH] lockdep: annotate reiserfs 2006-08-27 11:01:32 -07:00
romfs
smbfs
sysfs
sysv
udf Fix possible UDF deadlock and memory corruption (CVE-2006-4145) 2006-08-22 12:52:23 -07:00
ufs [PATCH] ufs: truncate correction 2006-08-27 11:01:31 -07:00
vfat
xfs [XFS] Prevent free space oversubscription and xfssyncd looping. 2006-09-07 14:26:50 +10:00
aio.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c
binfmt_elf.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio.c
block_dev.c [PATCH] lockdep: fix blkdev_open() warning 2006-08-27 11:01:29 -07:00
buffer.c [PATCH] invalidate_bdev() speedup 2006-07-31 13:28:38 -07:00
char_dev.c
compat_ioctl.c
compat.c
dcache.c
dcookies.c
direct-io.c
dnotify.c
dquot.c
drop_caches.c
eventpoll.c [PATCH] eventpoll.c compile fix 2006-08-27 11:01:31 -07:00
exec.c [PATCH] fix up lockdep trace in fs/exec.c 2006-08-27 11:01:32 -07:00
fcntl.c
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c
inode.c
inotify_user.c [PATCH] inotify: fix deadlock found by lockdep 2006-07-31 13:28:41 -07:00
inotify.c
ioctl.c
ioprio.c [PATCH] uninline ioprio_best() 2006-08-21 10:02:50 +02:00
Kconfig
Kconfig.binfmt
libfs.c
locks.c [PATCH] fcntl(F_SETSIG) fix 2006-08-14 13:10:59 -07:00
Makefile
mbcache.c
mpage.c
namei.c VFS: Fix access("file", X_OK) in the presence of ACLs 2006-08-24 15:54:58 -04:00
namespace.c
nfsctl.c
open.c
pipe.c
pnode.c
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c
quota.c
read_write.c
readdir.c
select.c
seq_file.c
splice.c
stat.c
super.c [PATCH] add missing desctiption in super.c 2006-09-06 11:00:01 -07:00
sync.c
xattr_acl.c
xattr.c