diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-21 22:01:34 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-21 22:01:34 -0400 |
| commit | f3270b16e00f0614fa418dcc50883da5949375b4 (patch) | |
| tree | 2f76b9679cbc9e8da39c8a67cd2bc00084d441e7 /fs/ocfs2/suballoc.c | |
| parent | 3044100e58c84e133791c8b60a2f5bef69d732e4 (diff) | |
| parent | 2decd65a2630633cee04d0b83fdcee46ad2989a1 (diff) | |
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (48 commits)
ocfs2: Avoid to evaluate xattr block flags again.
ocfs2/cluster: Release debugfs file elapsed_time_in_ms
ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes.
Initialize max_slots early
When I tried to compile I got the following warning: fs/ocfs2/slot_map.c: In function ‘ocfs2_init_slot_info’: fs/ocfs2/slot_map.c:360: warning: ‘bytes’ may be used uninitialized in this function fs/ocfs2/slot_map.c:360: note: ‘bytes’ was declared here Compiler: gcc version 4.4.3 (GCC) on Mandriva I'm not sure why this warning occurs, I think compiler don't know that variable "bytes" is initialized when it is sent by reference to ocfs2_slot_map_physical_size and it throws that ugly warning. However, a simple initialization of "bytes" variable with 0 will fix it.
ocfs2: validate bg_free_bits_count after update
ocfs2/cluster: Bump up dlm protocol to version 1.1
ocfs2/cluster: Show per region heartbeat elapsed time
ocfs2/cluster: Add mlogs for heartbeat up/down events
ocfs2/cluster: Create debugfs dir/files for each region
ocfs2/cluster: Create debugfs files for live, quorum and failed region bitmaps
ocfs2/cluster: Maintain bitmap of failed regions
ocfs2/cluster: Maintain bitmap of quorum regions
ocfs2/cluster: Track bitmap of live heartbeat regions
ocfs2/cluster: Track number of global heartbeat regions
ocfs2/cluster: Maintain live node bitmap per heartbeat region
ocfs2/cluster: Reorganize o2hb debugfs init
ocfs2/cluster: Check slots for unconfigured live nodes
ocfs2/cluster: Print messages when adding/removing nodes
ocfs2/cluster: Print messages when adding/removing heartbeat regions
...
Diffstat (limited to 'fs/ocfs2/suballoc.c')
| -rw-r--r-- | fs/ocfs2/suballoc.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c index 849c2f0e0a0e..5fed60de7630 100644 --- a/fs/ocfs2/suballoc.c +++ b/fs/ocfs2/suballoc.c | |||
| @@ -1380,6 +1380,14 @@ static inline int ocfs2_block_group_set_bits(handle_t *handle, | |||
| 1380 | } | 1380 | } |
| 1381 | 1381 | ||
| 1382 | le16_add_cpu(&bg->bg_free_bits_count, -num_bits); | 1382 | le16_add_cpu(&bg->bg_free_bits_count, -num_bits); |
| 1383 | if (le16_to_cpu(bg->bg_free_bits_count) > le16_to_cpu(bg->bg_bits)) { | ||
| 1384 | ocfs2_error(alloc_inode->i_sb, "Group descriptor # %llu has bit" | ||
| 1385 | " count %u but claims %u are freed. num_bits %d", | ||
| 1386 | (unsigned long long)le64_to_cpu(bg->bg_blkno), | ||
| 1387 | le16_to_cpu(bg->bg_bits), | ||
| 1388 | le16_to_cpu(bg->bg_free_bits_count), num_bits); | ||
| 1389 | return -EROFS; | ||
| 1390 | } | ||
| 1383 | while(num_bits--) | 1391 | while(num_bits--) |
| 1384 | ocfs2_set_bit(bit_off++, bitmap); | 1392 | ocfs2_set_bit(bit_off++, bitmap); |
| 1385 | 1393 | ||
| @@ -2419,6 +2427,14 @@ static int ocfs2_block_group_clear_bits(handle_t *handle, | |||
| 2419 | (unsigned long *) undo_bg->bg_bitmap); | 2427 | (unsigned long *) undo_bg->bg_bitmap); |
| 2420 | } | 2428 | } |
| 2421 | le16_add_cpu(&bg->bg_free_bits_count, num_bits); | 2429 | le16_add_cpu(&bg->bg_free_bits_count, num_bits); |
| 2430 | if (le16_to_cpu(bg->bg_free_bits_count) > le16_to_cpu(bg->bg_bits)) { | ||
| 2431 | ocfs2_error(alloc_inode->i_sb, "Group descriptor # %llu has bit" | ||
| 2432 | " count %u but claims %u are freed. num_bits %d", | ||
| 2433 | (unsigned long long)le64_to_cpu(bg->bg_blkno), | ||
| 2434 | le16_to_cpu(bg->bg_bits), | ||
| 2435 | le16_to_cpu(bg->bg_free_bits_count), num_bits); | ||
| 2436 | return -EROFS; | ||
| 2437 | } | ||
| 2422 | 2438 | ||
| 2423 | if (undo_fn) | 2439 | if (undo_fn) |
| 2424 | jbd_unlock_bh_state(group_bh); | 2440 | jbd_unlock_bh_state(group_bh); |
