https://github.com/torvalds/linux
Revision e65cbb94e036058128a5dec6398be2fd64cf88ba authored by Josef Bacik on 13 December 2011, 21:04:54 UTC, committed by Josef Bacik on 15 December 2011, 16:04:24 UTC
A user reported a problem booting into a new kernel with the old format inodes. He was panicing in cow_file_range while writing out the inode cache. This is because if the block group is not cached we'll just skip writing out the cache, however if it gets dirtied again in the same transaction and it finished caching we'd go ahead and write it out, but since we set cache_generation to the transid we think we've already truncated it and will just carry on, running into cow_file_range and blowing up. We need to make sure we only set cache_generation if we've done the truncate. The user tested this patch and verified that the panic no longer occured. Thanks, Reported-and-Tested-by: Klaus Bitto <klaus.bitto@gmail.com> Signed-off-by: Josef Bacik <josef@redhat.com>
1 parent ee4d89f
Tip revision: e65cbb94e036058128a5dec6398be2fd64cf88ba authored by Josef Bacik on 13 December 2011, 21:04:54 UTC
Btrfs: only set cache_generation if we setup the block group
Btrfs: only set cache_generation if we setup the block group
Tip revision: e65cbb9
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 12.3 KB |
Kconfig.debug | -rw-r--r-- | 908 bytes |
Makefile | -rw-r--r-- | 1.8 KB |
backing-dev.c | -rw-r--r-- | 21.8 KB |
bootmem.c | -rw-r--r-- | 20.8 KB |
bounce.c | -rw-r--r-- | 6.5 KB |
cleancache.c | -rw-r--r-- | 6.9 KB |
compaction.c | -rw-r--r-- | 20.0 KB |
debug-pagealloc.c | -rw-r--r-- | 2.5 KB |
dmapool.c | -rw-r--r-- | 13.0 KB |
fadvise.c | -rw-r--r-- | 3.5 KB |
failslab.c | -rw-r--r-- | 1.3 KB |
filemap.c | -rw-r--r-- | 69.8 KB |
filemap_xip.c | -rw-r--r-- | 11.0 KB |
fremap.c | -rw-r--r-- | 6.7 KB |
highmem.c | -rw-r--r-- | 10.3 KB |
huge_memory.c | -rw-r--r-- | 61.5 KB |
hugetlb.c | -rw-r--r-- | 76.3 KB |
hwpoison-inject.c | -rw-r--r-- | 3.3 KB |
init-mm.c | -rw-r--r-- | 619 bytes |
internal.h | -rw-r--r-- | 7.2 KB |
kmemcheck.c | -rw-r--r-- | 2.8 KB |
kmemleak-test.c | -rw-r--r-- | 3.3 KB |
kmemleak.c | -rw-r--r-- | 49.7 KB |
ksm.c | -rw-r--r-- | 54.7 KB |
maccess.c | -rw-r--r-- | 1.6 KB |
madvise.c | -rw-r--r-- | 11.5 KB |
memblock.c | -rw-r--r-- | 22.6 KB |
memcontrol.c | -rw-r--r-- | 141.2 KB |
memory-failure.c | -rw-r--r-- | 41.6 KB |
memory.c | -rw-r--r-- | 107.2 KB |
memory_hotplug.c | -rw-r--r-- | 23.9 KB |
mempolicy.c | -rw-r--r-- | 64.3 KB |
mempool.c | -rw-r--r-- | 8.9 KB |
migrate.c | -rw-r--r-- | 31.7 KB |
mincore.c | -rw-r--r-- | 7.8 KB |
mlock.c | -rw-r--r-- | 15.5 KB |
mm_init.c | -rw-r--r-- | 3.7 KB |
mmap.c | -rw-r--r-- | 69.3 KB |
mmu_context.c | -rw-r--r-- | 1.4 KB |
mmu_notifier.c | -rw-r--r-- | 9.1 KB |
mmzone.c | -rw-r--r-- | 1.8 KB |
mprotect.c | -rw-r--r-- | 7.9 KB |
mremap.c | -rw-r--r-- | 13.2 KB |
msync.c | -rw-r--r-- | 2.4 KB |
nobootmem.c | -rw-r--r-- | 10.5 KB |
nommu.c | -rw-r--r-- | 50.7 KB |
oom_kill.c | -rw-r--r-- | 21.6 KB |
page-writeback.c | -rw-r--r-- | 45.2 KB |
page_alloc.c | -rw-r--r-- | 159.4 KB |
page_cgroup.c | -rw-r--r-- | 12.9 KB |
page_io.c | -rw-r--r-- | 3.2 KB |
page_isolation.c | -rw-r--r-- | 3.6 KB |
pagewalk.c | -rw-r--r-- | 5.7 KB |
percpu-km.c | -rw-r--r-- | 2.8 KB |
percpu-vm.c | -rw-r--r-- | 13.0 KB |
percpu.c | -rw-r--r-- | 55.5 KB |
pgtable-generic.c | -rw-r--r-- | 3.3 KB |
prio_tree.c | -rw-r--r-- | 6.3 KB |
quicklist.c | -rw-r--r-- | 2.4 KB |
readahead.c | -rw-r--r-- | 15.1 KB |
rmap.c | -rw-r--r-- | 50.1 KB |
shmem.c | -rw-r--r-- | 63.6 KB |
slab.c | -rw-r--r-- | 118.9 KB |
slob.c | -rw-r--r-- | 17.1 KB |
slub.c | -rw-r--r-- | 122.9 KB |
sparse-vmemmap.c | -rw-r--r-- | 5.9 KB |
sparse.c | -rw-r--r-- | 20.5 KB |
swap.c | -rw-r--r-- | 19.9 KB |
swap_state.c | -rw-r--r-- | 10.4 KB |
swapfile.c | -rw-r--r-- | 65.4 KB |
thrash.c | -rw-r--r-- | 3.9 KB |
truncate.c | -rw-r--r-- | 17.9 KB |
util.c | -rw-r--r-- | 7.3 KB |
vmalloc.c | -rw-r--r-- | 64.2 KB |
vmscan.c | -rw-r--r-- | 97.0 KB |
vmstat.c | -rw-r--r-- | 33.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...