Dynamic multiple node failure recovery in distributed storage systems