diff options
author | Younger Liu <younger.liu@huawei.com> | 2013-09-11 23:19:47 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-12 00:56:31 +0200 |
commit | 7e9b79370733945b25c24e09d663b07c3936d10c (patch) | |
tree | c9496c12fdaf0e7313c873397f17a9bc9bea4dbb /Kbuild | |
parent | ocfs2: dlm_request_all_locks() should deal with the status sent from target node (diff) | |
download | linux-7e9b79370733945b25c24e09d663b07c3936d10c.tar.xz linux-7e9b79370733945b25c24e09d663b07c3936d10c.zip |
ocfs2: ac_bits_wanted should be local_alloc_bits when returns -ENOSPC
There is an issue in reserving and claiming space for localalloc, When
localalloc space is not enough, it would claim space from global_bitmap.
And if there is not enough free space in global_bitmap, the size of
claiming space would set to half of orignal size and retry.
The issue is as follows: osb->local_alloc_bits is set to half of orignal
size in ocfs2_recalc_la_window(), but ac->ac_bits_wanted is set to
osb->local_alloc_default_bits which is not changed. localalloc always
reserves and claims local_alloc_default_bits space and returns ENOSPC.
So, ac->ac_bits_wanted should be osb->local_alloc_bits which would be
changed.
Signed-off-by: Younger Liu <younger.liu@huawei.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Jeff Liu <jeff.liu@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Kbuild')
0 files changed, 0 insertions, 0 deletions