login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2010
»
August
»
23
Re: [PATCH 4/6] btrfs: update stats when allocating from a cluster
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Josef Bacik
Subject:
Re: [PATCH 4/6] btrfs: update stats when allocating from a cluster
Date: Monday, August 23, 2010 - 6:09 am
On Mon, Aug 23, 2010 at 09:23:29AM +0800, Li Zefan wrote:
quoted text
> When allocating extent entry from a cluster, we should update > the free_space and free_extents fields of the block group. > > Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> > --- > fs/btrfs/free-space-cache.c | 17 ++++++++++++++--- > 1 files changed, 14 insertions(+), 3 deletions(-) > > diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c > index 631e14f..20f3141 100644 > --- a/fs/btrfs/free-space-cache.c > +++ b/fs/btrfs/free-space-cache.c > @@ -1090,15 +1090,26 @@ u64 btrfs_alloc_from_cluster(struct btrfs_block_group_cache *block_group, > entry->offset += bytes; > entry->bytes -= bytes; > > - if (entry->bytes == 0) { > + if (entry->bytes == 0) > rb_erase(&entry->offset_index, &cluster->root); > - kfree(entry); > - } > break; > } > out: > spin_unlock(&cluster->lock); > > + if (!ret) > + return 0; > + > + spin_lock(&block_group->tree_lock); > + > + block_group->free_space -= bytes; > + if (entry->bytes == 0) { > + block_group->free_extents--; > + kfree(entry); > + } > + > + spin_unlock(&block_group->tree_lock); > +
Move this part up so we don't drop the spinlock and then re-grab it. Thanks, Josef --
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
[PATCH 0/6] btrfs: some bug fixes for free space cache
, Li Zefan
, (Sun Aug 22, 6:22 pm)
[PATCH 1/6] btrfs: fix threshold calculation for block gro ...
, Li Zefan
, (Sun Aug 22, 6:22 pm)
[PATCH 2/6] btrfs: add helper function free_bitmap()
, Li Zefan
, (Sun Aug 22, 6:23 pm)
[PATCH 3/6] btrfs: free fully occupied bitmap in cluster
, Li Zefan
, (Sun Aug 22, 6:23 pm)
[PATCH 4/6] btrfs: update stats when allocating from a cluster
, Li Zefan
, (Sun Aug 22, 6:23 pm)
[PATCH 5/6] btrfs: add a helper try_merge_free_space()
, Li Zefan
, (Sun Aug 22, 6:23 pm)
[PATCH 6/6] btrfs: check mergeable free space when removin ...
, Li Zefan
, (Sun Aug 22, 6:24 pm)
Re: [PATCH 1/6] btrfs: fix threshold calculation for block ...
, Josef Bacik
, (Mon Aug 23, 6:02 am)
Re: [PATCH 2/6] btrfs: add helper function free_bitmap()
, Josef Bacik
, (Mon Aug 23, 6:03 am)
Re: [PATCH 3/6] btrfs: free fully occupied bitmap in cluster
, Josef Bacik
, (Mon Aug 23, 6:04 am)
Re: [PATCH 4/6] btrfs: update stats when allocating from a ...
, Josef Bacik
, (Mon Aug 23, 6:09 am)
Re: [PATCH 6/6] btrfs: check mergeable free space when rem ...
, Josef Bacik
, (Mon Aug 23, 6:15 am)
Re: [PATCH 5/6] btrfs: add a helper try_merge_free_space()
, Josef Bacik
, (Mon Aug 23, 6:15 am)
Re: [PATCH 4/6] btrfs: update stats when allocating from a ...
, Li Zefan
, (Mon Aug 23, 5:50 pm)
Re: [PATCH 6/6] btrfs: check mergeable free space when rem ...
, Li Zefan
, (Mon Aug 23, 6:04 pm)
Re: [PATCH 4/6] btrfs: update stats when allocating from a ...
, Josef Bacik
, (Mon Aug 23, 7:50 pm)
Re: [PATCH 6/6] btrfs: check mergeable free space when rem ...
, Josef Bacik
, (Mon Aug 23, 7:58 pm)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Michael Trimarchi
Re: [PATCH] VFS: make file->f_pos access atomic on 32bit arch
Miklos Szeredi
[patch 14/15] vfs: more path_permission() conversions
Serge E. Hallyn
Re: [RFC v5][PATCH 7/8] Infrastructure for shared objects
Bernd Schmidt
Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3
Takashi Iwai
[PATCH 2/2] input: Add LED support to Synaptics device
git
:
Junio C Hamano
Re: mingw, windows, crlf/lf, and git
Eyvind Bernhardsen
Re: Where has "git ls-remote" reference pattern matching gone?
Shawn O. Pearce
Re: Switching from CVS to GIT
Todd Zullinger
Re: [PATCH 2/2] send-email: rfc2047-quote subject lines with non-ascii characters
Santi Béjar
Re: How to use git-fmt-merge-msg?
linux-netdev
:
Ramkrishna Vepa
[net-2.6 PATCH 1/10] Neterion: New driver: Driver help file
Mark Anthony
invitation / inquiry
Ingo Molnar
Re: [PATCH 08/16] dma-debug: add core checking functions
David Miller
Re: [PATCH 1/3] f_phonet: dev_kfree_skb instead of dev_kfree_skb_any in TX callback
Sascha Hauer
[PATCH 03/12] fec: do not typedef struct types
git-commits-head
:
Linux Kernel Mailing List
amba: struct device - replace bus_id with dev_name(), dev_set_name()
Linux Kernel Mailing List
MIPS: Yosemite: Convert SMP startup lock to arch spinlock.
Linux Kernel Mailing List
ARM: S5PC100: IRQ and timer
Linux Kernel Mailing List
davinci: edma: clear interrupt status for interrupt enabled channels only
Linux Kernel Mailing List
x86, mm, kprobes: fault.c, simplify notify_page_fault()
openbsd-misc
:
Daniel A. Ramaley
Re: [semi-OT] Can anyone recommend an OpenBSD-compatible colour laser printer?
Matthias Kilian
Re: can't get vesa @ 1280x800 or nv
Tobias Ulmer
Re: Problem after upgrade 4.5 to 4.6: ERR M
Philip Guenther
Re: SIGCHLD and libpthread.so
J.C. Roberts
Re: [semi-OT] Can anyone recommend an OpenBSD-compatible colour laser printer?
Colocation donated by:
Syndicate