File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -2657,13 +2657,15 @@ func (r *PhysRestore) checkDiskSpace(bcpSize int64) error {
2657
2657
return errors .Wrap (err , "get statfs" )
2658
2658
}
2659
2659
2660
- free := int64 (stat .Bavail ) * int64 (stat .Bsize )
2661
- tenGiB := 10 * (1 << 30 )
2662
- totalReqSize := bcpSize + int64 (tenGiB )
2663
- r .log .Debug ("free space on disk: %s; backup size: %s; total requested free size: %s" ,
2664
- storage .PrettySize (free ), storage .PrettySize (bcpSize ), storage .PrettySize (totalReqSize ))
2665
-
2666
- if totalReqSize >= free {
2660
+ total := stat .Blocks * uint64 (stat .Bsize )
2661
+ free := stat .Bavail * uint64 (stat .Bsize )
2662
+ used := total - free
2663
+ availDiskWatermark := uint64 (0.85 * float64 (total ))
2664
+ avail := max (availDiskWatermark - used , 0 )
2665
+ r .log .Debug ("free space on disk: %s; available for pbm usage: %s; backup size: %s;" ,
2666
+ storage .PrettySize (int64 (free )), storage .PrettySize (int64 (avail )), storage .PrettySize (bcpSize ))
2667
+
2668
+ if uint64 (bcpSize ) >= avail {
2667
2669
return errors .New ("not enough disk space for fallback strategy, " +
2668
2670
"consider using --fallback-enabled=false" )
2669
2671
}
You can’t perform that action at this time.
0 commit comments