diff -NurpP linux-2.6.31.1-vs2.3.0.36.14-pre9/mm/swapfile.c linux-2.6.31.1-vs2.3.0.36.14-pre9.1/mm/swapfile.c --- linux-2.6.31.1-vs2.3.0.36.14-pre9/mm/swapfile.c 2009-09-10 16:11:43.000000000 +0200 +++ linux-2.6.31.1-vs2.3.0.36.14-pre9.1/mm/swapfile.c 2009-10-02 04:53:33.000000000 +0200 @@ -1681,6 +1681,8 @@ static void *swap_next(struct seq_file * if (v == SEQ_START_TOKEN) ptr = swap_info; else { + if (vx_flags(VXF_VIRT_MEM, 0)) + return NULL; ptr = v; ptr++; } @@ -1708,6 +1710,16 @@ static int swap_show(struct seq_file *sw if (ptr == SEQ_START_TOKEN) { seq_puts(swap,"Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n"); + if (vx_flags(VXF_VIRT_MEM, 0)) { + struct sysinfo si; + + vx_vsi_swapinfo(&si); + if (si.totalswap < (1 << 10)) + return 0; + seq_printf(swap, "%s\t\t\t\t\t%s\t%lu\t%lu\t%d\n", + "hdv0", "partition", si.totalswap >> 10, + (si.totalswap - si.freeswap) >> 10, -1); + } return 0; }