linux/fs/ext4
Theodore Ts'o c5e298ae53 ext4: prevent ext4_quota_write() from failing due to ENOSPC
In order to prevent quota block tracking to be inaccurate when
ext4_quota_write() fails with ENOSPC, we make two changes.  The quota
file can now use the reserved block (since the quota file is arguably
file system metadata), and ext4_quota_write() now uses
ext4_should_retry_alloc() to retry the block allocation after a commit
has completed and released some blocks for allocation.

This fixes failures of xfstests generic/270:

Quota error (device vdc): write_blk: dquota write failed
Quota error (device vdc): qtree_write_dquot: Error -28 occurred while creating quota

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2015-06-21 01:25:29 -04:00
..
acl.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
acl.h ext2/3/4: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
balloc.c ext4: verify block bitmap even after fresh initialization 2015-06-08 11:18:52 -04:00
bitmap.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
block_validity.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
crypto_fname.c ext4 crypto: allocate the right amount of memory for the on-disk symlink 2015-05-31 13:35:32 -04:00
crypto_key.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
crypto_policy.c ext4 crypto: handle unexpected lack of encryption keys 2015-05-31 13:35:39 -04:00
crypto.c ext4 crypto: fix ext4_get_crypto_ctx()'s calling convention in ext4_decrypt_one 2015-06-08 11:54:56 -04:00
dir.c ext4 crypto: make sure the encryption info is initialized on opendir(2) 2015-05-31 13:34:57 -04:00
ext4_crypto.h ext4 crypto: allocate bounce pages using GFP_NOWAIT 2015-06-03 09:32:39 -04:00
ext4_extents.h ext4: teach ext4_ext_find_extent() to realloc path if necessary 2014-09-01 14:40:09 -04:00
ext4_jbd2.c ext4: fix NULL pointer dereference when journal restart fails 2015-05-14 18:55:18 -04:00
ext4_jbd2.h ext4: don't use MAXQUOTAS value 2014-09-11 11:15:15 -04:00
ext4.h ext4: improve warning directory handling messages 2015-06-15 14:50:26 -04:00
extents_status.c ext4: fix data corruption caused by unwritten and delayed extents 2015-05-02 21:36:55 -04:00
extents_status.h ext4: introduce aging to extent status tree 2014-11-25 11:55:24 -05:00
extents.c ext4: prevent ext4_quota_write() from failing due to ENOSPC 2015-06-21 01:25:29 -04:00
file.c ext4 crypto: handle unexpected lack of encryption keys 2015-05-31 13:35:39 -04:00
fsync.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
hash.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
ialloc.c ext4 crypto: encrypt tmpfile located in encryption protected directory 2015-05-31 13:35:02 -04:00
indirect.c ext4: prevent ext4_quota_write() from failing due to ENOSPC 2015-06-21 01:25:29 -04:00
inline.c ext4 crypto: optimize filename encryption 2015-05-18 13:14:47 -04:00
inode.c ext4: prevent ext4_quota_write() from failing due to ENOSPC 2015-06-21 01:25:29 -04:00
ioctl.c ext4: use swap() in memswap() 2015-06-12 23:46:33 -04:00
Kconfig ext4 crypto: require CONFIG_CRYPTO_CTR if ext4 encryption is enabled 2015-05-31 13:31:37 -04:00
Makefile ext4 crypto: filename encryption facilities 2015-04-12 00:56:17 -04:00
mballoc.c ext4: mballoc: avoid 20-argument function call 2015-06-15 00:32:58 -04:00
mballoc.h ext4: remove unused ac_ex_scanned 2014-02-20 13:32:10 -05:00
migrate.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
mmp.c ext4: Replace open coded mdata csum feature to helper function 2014-10-13 03:36:16 -04:00
move_extent.c ext4: use swap() in mext_page_double_lock() 2015-06-12 23:47:33 -04:00
namei.c ext4: prevent ext4_quota_write() from failing due to ENOSPC 2015-06-21 01:25:29 -04:00
page-io.c ext4 crypto: shrink size of the ext4_crypto_ctx structure 2015-05-31 13:31:34 -04:00
readpage.c ext4 crypto: shrink size of the ext4_crypto_ctx structure 2015-05-31 13:31:34 -04:00
resize.c ext4: fix growing of tiny filesystems 2015-05-02 23:58:32 -04:00
super.c ext4: prevent ext4_quota_write() from failing due to ENOSPC 2015-06-21 01:25:29 -04:00
symlink.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
truncate.h ext4: move common truncate functions to header file 2011-06-27 19:16:04 -04:00
xattr_security.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
xattr_trusted.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
xattr_user.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
xattr.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
xattr.h ext4 crypto: add encryption xattr support 2015-04-11 07:47:00 -04:00