github.com/rclone/rclone@v1.66.1-0.20240517100346-7b89735ae726/fs/fserrors/enospc_error.go (about)

     1  //go:build !plan9
     2  
     3  package fserrors
     4  
     5  import (
     6  	"syscall"
     7  
     8  	liberrors "github.com/rclone/rclone/lib/errors"
     9  )
    10  
    11  // IsErrNoSpace checks a possibly wrapped error to
    12  // see if it contains a ENOSPC error
    13  func IsErrNoSpace(cause error) (isNoSpc bool) {
    14  	liberrors.Walk(cause, func(c error) bool {
    15  		if c == syscall.ENOSPC {
    16  			isNoSpc = true
    17  			return true
    18  		}
    19  		isNoSpc = false
    20  		return false
    21  	})
    22  	return
    23  }