commit 23cf24c0c83a5a6eb39b9fa4d3843a8b9414db40 Merge: 4403b40... 3c37fc8... Author: Linus Torvalds Date: Sat Oct 25 19:57:30 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Fix duplicate entries returned from getdents() system call ext3: Fix duplicate entries returned from getdents() system call commit 4403b406d4369a275d483ece6ddee0088cc0d592 Author: Linus Torvalds Date: Sat Oct 25 19:53:38 2008 -0700 Revert "Call init_workqueues before pre smp initcalls." This reverts commit a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635 by moving the call to init_workqueues() back where it belongs - after SMP has been initialized. It also moves stop_machine_init() - which needs workqueues - to a later phase using a core_initcall() instead of early_initcall(). That should satisfy all ordering requirements, and was apparently the reason why init_workqueues() was moved to be too early. Cc: Heiko Carstens Cc: Rusty Russell Signed-off-by: Linus Torvalds commit 3c37fc86d20fe35be656f070997d62f75c2e4874 Author: Theodore Ts'o Date: Sat Oct 25 11:39:08 2008 -0400 ext4: Fix duplicate entries returned from getdents() system call Fix a regression caused by commit d0156417, "ext4: fix ext4_dx_readdir hash collision handling", where deleting files in a large directory (requiring more than one getdents system call), results in some filenames being returned twice. This was caused by a failure to update info->curr_hash and info->curr_minor_hash, so that if the directory had gotten modified since the last getdents() system call (as would be the case if the user is running "rm -r" or "git clean"), a directory entry would get returned twice to the userspace. Signed-off-by: "Theodore Ts'o" This patch fixes the bug reported by Markus Trippelsdorf at: http://bugzilla.kernel.org/show_bug.cgi?id=11844 Signed-off-by: "Theodore Ts'o" Tested-by: Markus Trippelsdorf commit 8c9fa93d51123c5540762b1a9e1919d6f9c4af7c Author: Theodore Ts'o Date: Sat Oct 25 11:38:37 2008 -0400 ext3: Fix duplicate entries returned from getdents() system call Fix a regression caused by commit 6a897cf4, "ext3: fix ext3_dx_readdir hash collision handling", where deleting files in a large directory (requiring more than one getdents system call), results in some filenames being returned twice. This was caused by a failure to update info->curr_hash and info->curr_minor_hash, so that if the directory had gotten modified since the last getdents() system call (as would be the case if the user is running "rm -r" or "git clean"), a directory entry would get returned twice to the userspace. This patch fixes the bug reported by Markus Trippelsdorf at: http://bugzilla.kernel.org/show_bug.cgi?id=11844 Signed-off-by: "Theodore Ts'o" Tested-by: Markus Trippelsdorf commit e013e13bf605b9e6b702adffbe2853cfc60e7806 Author: Jens Axboe Date: Fri Oct 24 09:22:42 2008 +0200 libata: fix bug with non-ncq devices The recent commit 2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e ("libata: switch to using block layer tagging support") to enable support for block layer tagging in libata was broken for non-NCQ devices The block layer initializes the tag field to -1 to detect invalid uses of a tag, and if the libata devices does NOT support NCQ, we just used that field to index the internal command list. So we need to check for -1 first and only use the tag field if it's valid. Signed-off-by: Jens Axboe Reported-by: Alexander Beregalov Tested-by: Paul Mundt Tested-by: Dave Young Tested-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds