From 08a8b65fac801beca2887c06952943c7ca49c34b Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Fri, 19 Oct 2007 09:23:07 -0400 Subject: [PATCH] --- yaml --- r: 128502 b: refs/heads/master c: bbf0d0062da2b3e1e239e381f8ac20971ef1b2ed h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/btrfs/inode.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index ef5162addf4f..27a3c5ba875a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0a2118dfd4c328e8823cdcfebf839dff73ac21e9 +refs/heads/master: bbf0d0062da2b3e1e239e381f8ac20971ef1b2ed diff --git a/trunk/fs/btrfs/inode.c b/trunk/fs/btrfs/inode.c index 0e1ca423e22d..02d802cdd59b 100644 --- a/trunk/fs/btrfs/inode.c +++ b/trunk/fs/btrfs/inode.c @@ -168,8 +168,10 @@ int btrfs_readpage_end_io_hook(struct page *page, u64 start, u64 end) int ret; struct btrfs_root *root = BTRFS_I(inode)->root; u32 csum = ~(u32)0; + unsigned long flags; ret = get_state_private(em_tree, start, &private); + local_irq_save(flags); kaddr = kmap_atomic(page, KM_IRQ0); if (ret) { goto zeroit; @@ -180,6 +182,7 @@ int btrfs_readpage_end_io_hook(struct page *page, u64 start, u64 end) goto zeroit; } kunmap_atomic(kaddr, KM_IRQ0); + local_irq_restore(flags); return 0; zeroit: @@ -188,6 +191,7 @@ int btrfs_readpage_end_io_hook(struct page *page, u64 start, u64 end) memset(kaddr + offset, 1, end - start + 1); flush_dcache_page(page); kunmap_atomic(kaddr, KM_IRQ0); + local_irq_restore(flags); return 0; }