Re: [PATCH] jbd/jbd2: add pointer type conversion on void *arg from void * to journal_t * explicitly in kjournald/kjournald2

Wang Sheng-Hui
2011-08-03T02:18:02Z

On 2011年08月03日 10:04, Li Zefan wrote:
> 09:58, Wang Sheng-Hui wrote:
>> The patch is against 3.0
>>
>> The arg of kjournald/kjournald2 is void *, and points to type
>> journal_t. We should convert it to journal_t * explicitly in
>> the kjournald/kjournald2 function body.
>>
>
> Why?
>
> Implicit convertion from void * to foo * is ok. Did the compiler
> complain about this to you?

I remember any * can be assigned directly to void * in ANSI C, but
void * should be converted to specific point * type. Right?

And I checked the code of kswapd, in which explicitly conversion is
taken on the arg *. I think it should do so in journal.c too.

>
>> Signed-off-by: Wang Sheng-Hui <shhuiw@gmail.com>
>> ---
>> fs/jbd/journal.c | 2 +-
>> fs/jbd2/journal.c | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
>> index e2d4285..32956fd 100644
>> --- a/fs/jbd/journal.c
>> +++ b/fs/jbd/journal.c
>> @@ -116,7 +116,7 @@ static void commit_timeout(unsigned long __data)
>>
>> static int kjournald(void *arg)
>> {
>> - journal_t *journal = arg;
>> + journal_t *journal = (journal_t *)arg;
>> transaction_t *transaction;
>>
>> /*
>> diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
>> index 0dfa5b5..c4f4bfc 100644
>> --- a/fs/jbd2/journal.c
>> +++ b/fs/jbd2/journal.c
>> @@ -129,7 +129,7 @@ static void commit_timeout(unsigned long __data)
>>
>> static int kjournald2(void *arg)
>> {
>> - journal_t *journal = arg;
>> + journal_t *journal = (journal_t *)arg;
>> transaction_t *transaction;
>>
>> /*

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html