linux/fs/ext4
Theodore Ts'o 1028b55baf ext4: allow readdir()'s of large empty directories to be interrupted
If a directory has a large number of empty blocks, iterating over all
of them can take a long time, leading to scheduler warnings and users
getting irritated when they can't kill a process in the middle of one
of these long-running readdir operations.  Fix this by adding checks to
ext4_readdir() and ext4_htree_fill_tree().

Reported-by: Benjamin LaHaise <bcrl@kvack.org>
Google-Bug-Id: 27880676
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2016-03-30 22:36:24 -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: fix scheduling in atomic on group checksum failure 2016-02-11 23:15:12 -05:00
bitmap.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
block_validity.c ext4: call out CRC and corruption errors with specific error codes 2015-10-17 16:16:04 -04:00
crypto_fname.c ext4: Use skcipher 2016-01-27 20:35:55 +08:00
crypto_key.c ext4: Use skcipher 2016-01-27 20:35:55 +08:00
crypto_policy.c ext4 crypto: replace some BUG_ON()'s with error checks 2015-10-03 10:49:27 -04:00
crypto.c ext4 crypto: use dget_parent() in ext4_d_revalidate() 2016-03-26 16:15:42 -04:00
dir.c ext4: allow readdir()'s of large empty directories to be interrupted 2016-03-30 22:36:24 -04:00
ext4_crypto.h ext4: Use skcipher 2016-01-27 20:35:55 +08:00
ext4_extents.h ext4: fix misspellings in comments. 2016-03-09 23:49:05 -05:00
ext4_jbd2.c ext4: fix potential use after free in __ext4_journal_stop 2015-10-17 22:57:06 -04:00
ext4_jbd2.h ext4: clean up feature test macros with predicate functions 2015-10-17 16:18:43 -04:00
ext4.h ext4 crypto: don't let data integrity writebacks fail with ENOMEM 2016-03-26 16:14:34 -04:00
extents_status.c ext4: fix setting of referenced bit in ext4_es_lookup_extent() 2016-03-09 22:26:55 -05:00
extents_status.h ext4: move procfs registration code to fs/ext4/sysfs.c 2015-09-23 12:46:17 -04:00
extents.c ext4: fix misspellings in comments. 2016-03-09 23:49:05 -05:00
file.c ext4: use file_dentry() 2016-03-26 16:14:42 -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: fix misspellings in comments. 2016-03-09 23:49:05 -05:00
indirect.c ext4: return hole from ext4_map_blocks() 2016-03-09 22:54:00 -05:00
inline.c ext4: drop unneeded BUFFER_TRACE in ext4_delete_inline_entry() 2016-03-10 00:18:57 -05:00
inode.c xfs: Changes for 4.6-rc1 2016-03-21 11:53:05 -07:00
ioctl.c ext4: online defrag not supported with DAX 2016-02-27 10:28:52 -08:00
Kconfig ext4: Update EXT4_USE_FOR_EXT2 description 2015-09-24 13:27:47 +02:00
Makefile ext4: move sysfs code from super.c to fs/ext4/sysfs.c 2015-09-23 12:44:17 -04:00
mballoc.c ext4: use __GFP_NOFAIL in ext4_free_blocks() 2016-03-13 17:29:06 -04:00
mballoc.h ext4: fix compile error while opening the macro DOUBLE_CHECK 2016-03-13 17:18:12 -04:00
migrate.c ext4: fix misspellings in comments. 2016-03-09 23:49:05 -05:00
mmp.c ext4: clean up error handling in the MMP support 2016-03-13 17:56:52 -04:00
move_extent.c ext4: iterate over buffer heads correctly in move_extent_per_page() 2016-03-09 21:37:53 -05:00
namei.c ext4: allow readdir()'s of large empty directories to be interrupted 2016-03-30 22:36:24 -04:00
page-io.c ext4 crypto: don't let data integrity writebacks fail with ENOMEM 2016-03-26 16:14:34 -04:00
readpage.c ext4 crypto: don't let data integrity writebacks fail with ENOMEM 2016-03-26 16:14:34 -04:00
resize.c ext4: fix potential integer overflow 2016-02-12 01:15:59 -05:00
super.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs 2016-03-21 12:22:37 -07:00
symlink.c Merge branch 'work.symlinks' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-01-11 13:13:23 -08:00
sysfs.c ext4: add "static" to ext4_seq_##name##_fops struct 2015-11-26 15:52:24 -05:00
truncate.h ext4: fix races between page faults and hole punching 2015-12-07 14:28:03 -05:00
xattr_security.c xattr handlers: Simplify list operation 2015-12-13 19:46:12 -05:00
xattr_trusted.c xattr handlers: Simplify list operation 2015-12-13 19:46:12 -05:00
xattr_user.c xattr handlers: Simplify list operation 2015-12-13 19:46:12 -05:00
xattr.c ext4: check if in-inode xattr is corrupted in ext4_expand_extra_isize_ea() 2016-03-22 16:13:15 -04:00
xattr.h mbcache2: rename to mbcache 2016-02-22 22:35:22 -05:00