forked from luck/tmp_suning_uos_patched
drop_monitor: Add error code to detect duplicate state changes
Patch to add -EAGAIN error to dropwatch netlink message handling code. -EAGAIN will be returned anytime userspace attempts to transition the state of the drop monitor service to a state that its already in. That allows user space to detect this condition, so it doesn't wait for a success ACK that will never arrive. Tested successfully by me Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d79d991379
commit
4b706372f1
@ -223,6 +223,11 @@ static int set_all_monitor_traces(int state)
|
||||
|
||||
spin_lock(&trace_state_lock);
|
||||
|
||||
if (state == trace_state) {
|
||||
rc = -EAGAIN;
|
||||
goto out_unlock;
|
||||
}
|
||||
|
||||
switch (state) {
|
||||
case TRACE_ON:
|
||||
rc |= register_trace_kfree_skb(trace_kfree_skb_hit, NULL);
|
||||
@ -251,11 +256,12 @@ static int set_all_monitor_traces(int state)
|
||||
|
||||
if (!rc)
|
||||
trace_state = state;
|
||||
else
|
||||
rc = -EINPROGRESS;
|
||||
|
||||
out_unlock:
|
||||
spin_unlock(&trace_state_lock);
|
||||
|
||||
if (rc)
|
||||
return -EINPROGRESS;
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user