[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <C2E97AF9310E467696FA7F4C62C88AC5@nsl.ad.nec.co.jp>
Date: Mon, 30 Jun 2008 08:13:07 +0900
From: "Takashi Sato" <t-sato@...jp.nec.com>
To: "Andrew Morton" <akpm@...ux-foundation.org>
Cc: <viro@...IV.linux.org.uk>, <linux-ext4@...r.kernel.org>,
<xfs@....sgi.com>, <dm-devel@...hat.com>,
<linux-fsdevel@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<axboe@...nel.dk>, <mtk.manpages@...glemail.com>
Subject: Re: [PATCH 3/3] Add timeout feature
Hi,
>> >> case XFS_FSOP_GOING_FLAGS_DEFAULT: {
>> >> - struct super_block *sb = freeze_bdev(mp->m_super->s_bdev);
>> >> + struct super_block *sb = freeze_bdev(mp->m_super->s_bdev, 0);
>> >
>> > Using NULL here is clearer and will, I expect, avoid a sparse warning.
>>
>> I checked it but I couldn't find a sparse warning in xfs_fsops.c.
>> Can you tell me how to use NULL?
>
> struct super_block *sb = freeze_bdev(mp->m_super->s_bdev, NULL);
>
> :)
>
> It's much better to use NULL here rather than literal zero because the
> reader of this code can then say "ah-hah, we're passing in a pointer".
> Whereas plain old "0" could be a pointer or a scalar.
The second argument's type of freeze_bdev() is "long", not pointer as below.
struct super_block *freeze_bdev(struct block_device *, long timeout_msec);
So "0" is reasonable, isn't it?
> We should always use NULL to represent a null pointer in the kernel.
> The one acceptable exception is when testing for nullness:
>
> if (ptr1)
> if (!ptr2)
>
> Often people will use
>
> if (ptr1 != NULL)
> if (ptr2 == NULL)
>
> in this case as well. (I prefer the shorter version personally, but
> either is OK).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists