Linus Torvalds
9f2394c9be
Revert "ext4: allow readdir()'s of large empty directories to be interrupted"
...
This reverts commit 1028b55baf .
It's broken: it makes ext4 return an error at an invalid point, causing
the readdir wrappers to write the the position of the last successful
directory entry into the position field, which means that the next
readdir will now return that last successful entry _again_.
You can only return fatal errors (that terminate the readdir directory
walk) from within the filesystem readdir functions, the "normal" errors
(that happen when the readdir buffer fills up, for example) happen in
the iterorator where we know the position of the actual failing entry.
I do have a very different patch that does the "signal_pending()"
handling inside the iterator function where it is allowable, but while
that one passes all the sanity checks, I screwed up something like four
times while emailing it out, so I'm not going to commit it today.
So my track record is not good enough, and the stars will have to align
better before that one gets committed. And it would be good to get some
review too, of course, since celestial alignments are always an iffy
debugging model.
IOW, let's just revert the commit that caused the problem for now.
Reported-by: Greg Thelen <[email protected] >
Cc: Theodore Ts'o <[email protected] >
Signed-off-by: Linus Torvalds <[email protected] >
2016-04-10 16:52:24 -07:00
..
acl.c
acl.h
balloc.c
ext4: fix scheduling in atomic on group checksum failure
2016-02-11 23:15:12 -05:00
bitmap.c
block_validity.c
ext4: call out CRC and corruption errors with specific error codes
2015-10-17 16:16:04 -04:00
crypto.c
These changes contains a fix for overlayfs interacting with some
2016-04-07 17:22:20 -07: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
dir.c
Revert "ext4: allow readdir()'s of large empty directories to be interrupted"
2016-04-10 16:52:24 -07:00
ext4.h
These changes contains a fix for overlayfs interacting with some
2016-04-07 17:22:20 -07: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
extents.c
ext4: fix misspellings in comments.
2016-03-09 23:49:05 -05: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
file.c
These changes contains a fix for overlayfs interacting with some
2016-04-07 17:22:20 -07:00
fsync.c
hash.c
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
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07:00
inode.c
These changes contains a fix for overlayfs interacting with some
2016-04-07 17:22:20 -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
mm, fs: remove remaining PAGE_CACHE_* and page_cache_{get,release} usage
2016-04-04 10:41:08 -07: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
These changes contains a fix for overlayfs interacting with some
2016-04-07 17:22:20 -07:00
namei.c
Revert "ext4: allow readdir()'s of large empty directories to be interrupted"
2016-04-10 16:52:24 -07:00
page-io.c
These changes contains a fix for overlayfs interacting with some
2016-04-07 17:22:20 -07:00
readpage.c
These changes contains a fix for overlayfs interacting with some
2016-04-07 17:22:20 -07:00
resize.c
ext4: fix potential integer overflow
2016-02-12 01:15:59 -05:00
super.c
These changes contains a fix for overlayfs interacting with some
2016-04-07 17:22:20 -07:00
symlink.c
mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
2016-04-04 10:41:08 -07: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.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
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