|
Lines 1525-1536
Link Here
|
| 1525 |
{ |
1525 |
{ |
| 1526 |
struct hv_sgl_node *sgl_node = NULL; |
1526 |
struct hv_sgl_node *sgl_node = NULL; |
| 1527 |
|
1527 |
|
| 1528 |
sgl_node = LIST_FIRST(&g_hv_sgl_page_pool.in_use_sgl_list); |
1528 |
if (LIST_EMPTY(&g_hv_sgl_page_pool.in_use_sgl_list)) { |
| 1529 |
LIST_REMOVE(sgl_node, link); |
|
|
| 1530 |
if (NULL == sgl_node) { |
| 1531 |
printf("storvsc error: not enough in use sgl\n"); |
1529 |
printf("storvsc error: not enough in use sgl\n"); |
| 1532 |
return; |
1530 |
return; |
| 1533 |
} |
1531 |
} |
|
|
1532 |
sgl_node = LIST_FIRST(&g_hv_sgl_page_pool.in_use_sgl_list); |
| 1533 |
LIST_REMOVE(sgl_node, link); |
| 1534 |
sgl_node->sgl_data = sgl; |
1534 |
sgl_node->sgl_data = sgl; |
| 1535 |
LIST_INSERT_HEAD(&g_hv_sgl_page_pool.free_sgl_list, sgl_node, link); |
1535 |
LIST_INSERT_HEAD(&g_hv_sgl_page_pool.free_sgl_list, sgl_node, link); |
| 1536 |
} |
1536 |
} |
|
Lines 1556-1567
Link Here
|
| 1556 |
struct hv_sgl_node *sgl_node = NULL; |
1556 |
struct hv_sgl_node *sgl_node = NULL; |
| 1557 |
|
1557 |
|
| 1558 |
/* get struct sglist from free_sgl_list */ |
1558 |
/* get struct sglist from free_sgl_list */ |
| 1559 |
sgl_node = LIST_FIRST(&g_hv_sgl_page_pool.free_sgl_list); |
1559 |
if (LIST_EMPTY(&g_hv_sgl_page_pool.free_sgl_list)) { |
| 1560 |
LIST_REMOVE(sgl_node, link); |
|
|
| 1561 |
if (NULL == sgl_node) { |
| 1562 |
printf("storvsc error: not enough free sgl\n"); |
1560 |
printf("storvsc error: not enough free sgl\n"); |
| 1563 |
return NULL; |
1561 |
return NULL; |
| 1564 |
} |
1562 |
} |
|
|
1563 |
sgl_node = LIST_FIRST(&g_hv_sgl_page_pool.free_sgl_list); |
| 1564 |
LIST_REMOVE(sgl_node, link); |
| 1565 |
bounce_sgl = sgl_node->sgl_data; |
1565 |
bounce_sgl = sgl_node->sgl_data; |
| 1566 |
LIST_INSERT_HEAD(&g_hv_sgl_page_pool.in_use_sgl_list, sgl_node, link); |
1566 |
LIST_INSERT_HEAD(&g_hv_sgl_page_pool.in_use_sgl_list, sgl_node, link); |
| 1567 |
|
1567 |
|
|
Lines 1924-1929
Link Here
|
| 1924 |
} |
1924 |
} |