From: Wengang <wen.gang.wang@oracle.com>
To: Ding Tianhong <dingtianhong@huawei.com>,
Andy Gospodarek <gospo@cumulusnetworks.com>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH] bonding: avoid re-entry of bond_release
Date: Mon, 22 Dec 2014 16:30:40 +0800 [thread overview]
Message-ID: <5497D6B0.2040402@oracle.com> (raw)
In-Reply-To: <54977C52.3060309@huawei.com>
OK. Will change as suggested and re-post.
thanks,
wengang
于 2014年12月22日 10:05, Ding Tianhong 写道:
> On 2014/12/22 9:09, Wengang wrote:
>> Hi Andy and Ding,
>>
>> Thanks for your reviews!
>> In the ioctl path, removing a interface that is not currently actually a slave
>> can happen from user space(by mistake), we should avoid the noisy message.
>>
>> While, __bond_release_one() has another call path which is from bond_uninit().
>> In the later case, it should be treated as an error if the interface is not with
>> IFF_SLAVE flag. To notice that error occurred, the message is printed. I think
>> the message is needed for this path.
>>
>> How do you think?
>>
> Just like the bond_enslave(), it is only a warning.
>
> Ding
>
>> thanks,
>> wengang
>>
>> 于 2014年12月21日 10:01, Ding Tianhong 写道:
>>> On 2014/12/19 23:11, Andy Gospodarek wrote:
>>>> On Fri, Dec 19, 2014 at 04:56:57PM +0800, Wengang Wang wrote:
>>>>> If bond_release is run against an interface which is already detached from
>>>>> it's master, then there is an error message shown like
>>>>> "<master name> cannot release <slave name>".
>>>>>
>>>>> The call path is:
>>>>> bond_do_ioctl()
>>>>> bond_release()
>>>>> __bond_release_one()
>>>>>
>>>>> Though it does not really harm, the message the message is misleading.
>>>>> This patch tries to avoid the message.
>>>>>
>>>>> Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
>>>>> ---
>>>>> drivers/net/bonding/bond_main.c | 5 ++++-
>>>>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>>>>> index 184c434..4a71bbd 100644
>>>>> --- a/drivers/net/bonding/bond_main.c
>>>>> +++ b/drivers/net/bonding/bond_main.c
>>>>> @@ -3256,7 +3256,10 @@ static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd
>>>>> break;
>>>>> case BOND_RELEASE_OLD:
>>>>> case SIOCBONDRELEASE:
>>>>> - res = bond_release(bond_dev, slave_dev);
>>>>> + if (slave_dev->flags & IFF_SLAVE)
>>>>> + res = bond_release(bond_dev, slave_dev);
>>>>> + else
>>>>> + res = 0;
>>>> Functionally this patch is fine, but I would prefer that you simply
>>>> change the check in __bond_release_one to not be so noisy. There is a
>>>> check[1] in bond_enslave to see if a slave is already in a bond and that
>>>> just prints a message of netdev_dbg (rather than netdev_err) and it
>>>> seems that would be appropriate for this type of message.
>>>>
>>>> [1] from bond_enslave():
>>>>
>>>> /* already enslaved */
>>>> if (slave_dev->flags & IFF_SLAVE) {
>>>> netdev_dbg(bond_dev, "Error: Device was already enslaved\n");
>>>> return -EBUSY;
>>>> }
>>>>
>>>>
>>>>> break;
>>>>> case BOND_SETHWADDR_OLD:
>>>>> case SIOCBONDSETHWADDR:
>>>>> --
>>> agree ,use netdev_dbg looks more better and enough.
>>>
>>> Ding
>>>
>>>
>>
next prev parent reply other threads:[~2014-12-22 8:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-19 8:56 [PATCH] bonding: avoid re-entry of bond_release Wengang Wang
2014-12-19 15:11 ` Andy Gospodarek
2014-12-21 2:01 ` Ding Tianhong
2014-12-22 1:09 ` Wengang
2014-12-22 2:05 ` Ding Tianhong
2014-12-22 8:30 ` Wengang [this message]
2014-12-22 15:45 ` Andy Gospodarek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5497D6B0.2040402@oracle.com \
--to=wen.gang.wang@oracle.com \
--cc=dingtianhong@huawei.com \
--cc=gospo@cumulusnetworks.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.