On Tue, Sep 10, 2013 at 5:15 PM, Wang Shilong <wangshilong1...@gmail.com> wrote:
>> On Mon, Sep 9, 2013 at 7:28 AM, Wang Shilong <wangsl.f...@cn.fujitsu.com> 
>> wrote:
>>> On 09/08/2013 12:15 AM, Azat Khuzhin wrote:
>>>>
>>>> Signed-off-by: Azat Khuzhin <a3at.m...@gmail.com>
>>>> ---
>>>>  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.

I will write a patch, when this one will be merged, to avoid conflicts,
and also because the issue that this patch solves is different from BUG_ON().

>
> 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 majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



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

Reply via email to