Skip to content

Commit

Permalink
RDS: don't update ip address tables if the address hasn't changed
Browse files Browse the repository at this point in the history
If the ip address tables hasn't changed, there is no need to remove
them only to be added back again.

Lets fix it.
Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
santosh.shilimkar@oracle.com authored and David S. Miller committed Aug 25, 2015
1 parent 1bc7b86 commit e1f475a
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions net/rds/ib_rdma.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,12 +151,17 @@ int rds_ib_update_ipaddr(struct rds_ib_device *rds_ibdev, __be32 ipaddr)
struct rds_ib_device *rds_ibdev_old;

rds_ibdev_old = rds_ib_get_device(ipaddr);
if (rds_ibdev_old) {
if (!rds_ibdev_old)
return rds_ib_add_ipaddr(rds_ibdev, ipaddr);

if (rds_ibdev_old != rds_ibdev) {
rds_ib_remove_ipaddr(rds_ibdev_old, ipaddr);
rds_ib_dev_put(rds_ibdev_old);
return rds_ib_add_ipaddr(rds_ibdev, ipaddr);
}
rds_ib_dev_put(rds_ibdev_old);

return rds_ib_add_ipaddr(rds_ibdev, ipaddr);
return 0;
}

void rds_ib_add_conn(struct rds_ib_device *rds_ibdev, struct rds_connection *conn)
Expand Down

0 comments on commit e1f475a

Please sign in to comment.