From 3ba196532002293027a6a3e96f8eb1960c70e00c Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Sat, 5 Jan 2013 16:53:04 +0100 Subject: [PATCH 085/364] * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block): Rename to ... (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log of groups_per_block. All users updated. --- ChangeLog | 7 +++++++ grub-core/fs/nilfs2.c | 20 ++++++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index f15e098..ea191b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2013-01-05 Vladimir Serbinenko + * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block): + Rename to ... + (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log + of groups_per_block. All users updated. + +2013-01-05 Vladimir Serbinenko + * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call grub_error properly. * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise. diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c index f36c513..5b34486 100644 --- a/grub-core/fs/nilfs2.c +++ b/grub-core/fs/nilfs2.c @@ -214,6 +214,8 @@ struct grub_nilfs2_palloc_group_desc grub_uint32_t pg_nfrees; }; +#define LOG_SIZE_GROUP_DESC 2 + #define LOG_NILFS_DAT_ENTRY_SIZE 5 struct grub_nilfs2_dat_entry { @@ -311,10 +313,12 @@ grub_nilfs2_palloc_group (struct grub_nilfs2_data *data, } static inline grub_uint32_t -grub_nilfs2_palloc_groups_per_desc_block (struct grub_nilfs2_data *data) +grub_nilfs2_palloc_log_groups_per_desc_block (struct grub_nilfs2_data *data) { - return NILFS2_BLOCK_SIZE (data) / - sizeof (struct grub_nilfs2_palloc_group_desc); + return LOG2_BLOCK_SIZE (data) - LOG_SIZE_GROUP_DESC; + + COMPILE_TIME_ASSERT (sizeof (struct grub_nilfs2_palloc_group_desc) + == (1 << LOG_SIZE_GROUP_DESC)); } static inline grub_uint32_t @@ -338,8 +342,8 @@ static inline grub_uint32_t grub_nilfs2_blocks_per_desc_block_log (struct grub_nilfs2_data *data, unsigned long log_entry_size) { - return grub_nilfs2_palloc_groups_per_desc_block (data) * - grub_nilfs2_blocks_per_group_log (data, log_entry_size) + 1; + return(grub_nilfs2_blocks_per_group_log (data, log_entry_size) + << grub_nilfs2_palloc_log_groups_per_desc_block (data)) + 1; } static inline grub_uint32_t @@ -348,7 +352,7 @@ grub_nilfs2_palloc_desc_block_offset_log (struct grub_nilfs2_data *data, unsigned long log_entry_size) { grub_uint32_t desc_block = - group / grub_nilfs2_palloc_groups_per_desc_block (data); + group >> grub_nilfs2_palloc_log_groups_per_desc_block (data); return desc_block * grub_nilfs2_blocks_per_desc_block_log (data, log_entry_size); } @@ -358,8 +362,8 @@ grub_nilfs2_palloc_bitmap_block_offset (struct grub_nilfs2_data *data, unsigned long group, unsigned long log_entry_size) { - unsigned long desc_offset = group % - grub_nilfs2_palloc_groups_per_desc_block (data); + unsigned long desc_offset = group + & ((1 << grub_nilfs2_palloc_log_groups_per_desc_block (data)) - 1); return grub_nilfs2_palloc_desc_block_offset_log (data, group, log_entry_size) + 1 -- 1.8.1.4