linux/include
Aneesh Kumar K.V 267e4db9ac ext4: Fix race between migration and mmap write
Fail migrate if we allocated new blocks via mmap write.

If we write to holes in the file via mmap, we end up allocating
new blocks. This block allocation happens without taking inode->i_mutex.
Since migrate is protected by i_mutex and migrate expects that no
new blocks get allocated during migrate, fail migrate if new blocks
get allocated.

We can't take inode->i_mutex in the mmap write path because that
would result in a locking order violation between i_mutex and mmap_sem.
Also adding a separate rw_sempahore for protection is really high overhead
for a rare operation such as migrate.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-04-29 08:11:12 -04:00
..
acpi
asm-alpha kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-arm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2008-04-29 15:18:06 -07:00
asm-avr32 kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-blackfin kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-cris kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-frv kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-generic kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-h8300 kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-ia64 [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id 2008-04-29 15:05:29 -07:00
asm-m32r kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-m68k kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-m68knommu kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-mips kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-mn10300 kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-parisc kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-powerpc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-04-29 08:19:14 -07:00
asm-ppc [RAPIDIO] Move include/asm-ppc/rio.h to asm-powerpc 2008-04-29 19:40:27 +10:00
asm-s390 kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-sh kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-sparc kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-sparc64 kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-um kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-v850 kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
asm-x86 [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id 2008-04-29 15:05:29 -07:00
asm-xtensa kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
crypto [CRYPTO] aes: Export generic setkey 2008-04-21 10:19:34 +08:00
keys KEYS: Fix the comment to match the file name in rxrpc-type.h. 2008-04-21 22:43:55 +00:00
linux ext4: Fix race between migration and mmap write 2008-04-29 08:11:12 -04:00
math-emu
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb 2008-04-29 14:53:40 -07:00
mtd UBI: make ubi-header.h local 2008-04-17 11:31:58 +03:00
net Merge branch 'audit.b50' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current 2008-04-29 11:41:22 -07:00
pcmcia
rdma IB: expand ib_umem_get() prototype 2008-04-29 08:06:12 -07:00
rxrpc
scsi IB/iser: Count FMR alignment violations per session 2008-04-29 13:46:52 -07:00
sound [ALSA] Add MPU401_INFO_NO_ACK bitflag 2008-04-29 19:01:56 +02:00
video fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
xen xen: add balloon driver 2008-04-24 23:57:33 +02:00
Kbuild