On Thu, Jul 22, 2010 at 10:22 AM, Wengang Wang <[email protected]> wrote:
>> -bail:
>>       return status;
>>  }
>>
>> @@ -1050,7 +1048,6 @@ static inline int
>> ocfs2_block_group_set_bits(handle_t *handle,
>>                                    group_bh);
>>       if (status < 0) {
>>               mlog_errno(status);
>> -             goto bail;
>>       }
>
> Why this?
> the following lines are modifying the buffer head.
>
> 1361         le16_add_cpu(&bg->bg_free_bits_count, -num_bits);
> 1362         while(num_bits--)
> 1363                 ocfs2_set_bit(bit_off++, bitmap);
> 1364
> 1365         ocfs2_journal_dirty(handle, group_bh);
> 1366
> 1367 bail:
>
> For the next read of this group descriptor, we can't be sure it will be dirty
> read. So that it may get wrong contents and then the following write will 
> write
> the wrong contents to disk.


Not sure which codebase you are referring to. According to the patch
and the code in the Joel's git repo from kernel.org, the statement
immediately following this was a bail tag.


-- 
Goldwyn

_______________________________________________
Ocfs2-devel mailing list
[email protected]
http://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to