RDS: Workaround for in-use MRs on close causing crash
authorAndy Grover <andy.grover@oracle.com>
Thu, 11 Mar 2010 13:50:01 +0000 (13:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Mar 2010 04:16:56 +0000 (21:16 -0700)
if a machine is shut down without closing sockets properly, and
freeing all MRs, then a BUG_ON will bring it down. This patch
changes these to WARN_ONs -- leaking MRs is not fatal (although
not ideal, and there is more work to do here for a proper fix.)

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/ib_rdma.c

index 4b0da86..65e668d 100644 (file)
@@ -234,8 +234,8 @@ void rds_ib_destroy_mr_pool(struct rds_ib_mr_pool *pool)
 {
        flush_workqueue(rds_wq);
        rds_ib_flush_mr_pool(pool, 1);
-       BUG_ON(atomic_read(&pool->item_count));
-       BUG_ON(atomic_read(&pool->free_pinned));
+       WARN_ON(atomic_read(&pool->item_count));
+       WARN_ON(atomic_read(&pool->free_pinned));
        kfree(pool);
 }