Re: [PATCH] Btrfs: cleanup redundant code in __btrfs_close_devices()

From: Wang Shilong
Date: Tue Sep 10 2013 - 09:15:30 EST


> On Mon, Sep 9, 2013 at 7:28 AM, Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> wrote:
>> On 09/08/2013 12:15 AM, Azat Khuzhin wrote:
>>>
>>> Signed-off-by: Azat Khuzhin <a3at.mail@xxxxxxxxx>
>>> ---
>>> fs/btrfs/volumes.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
>>> index 1d1b595..124228e 100644
>>> --- a/fs/btrfs/volumes.c
>>> +++ b/fs/btrfs/volumes.c
>>> @@ -644,7 +644,7 @@ static int __btrfs_close_devices(struct
>>> btrfs_fs_devices *fs_devices)
>>> /* Safe because we are under uuid_mutex */
>>> if (device->name) {
>>> name = rcu_string_strdup(device->name->str,
>>> GFP_NOFS);
>>> - BUG_ON(device->name && !name); /* -ENOMEM */
>>> + BUG_ON(!name); /* -ENOMEM *
>>
>> Nice catch! out of memory should not trigger BUG_ON()..
>> Maybe we can handle it gracefully.
>
> Maybe return -ENOMEM ?

Yeah, BUG_On is really unfriendly. And here ENOMEM triggers
BUG_ON() is a lazy approach.

I think we can return -ENOMEM rather than BUG_ON(), the caller can handle this.

Thanks,
Wang
>
>>
>> Thanks,
>> Wang
>>
>>> rcu_assign_pointer(new_device->name, name);
>>> }
>>> new_device->bdev = NULL;
>>
>>
>
>
>
> --
> Respectfully
> Azat Khuzhin
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/