func (rhe RHError) FUSE() fuse.Error {
	if rhe.error == nil {
		return nil
	}
	//log.Printf("Error RH->FUSE: %#v", rhe.error)
	re, ok := rhe.error.(rh.Error)
	if !ok {
		panic("u")
	}
	switch {
	case re.IsEqual(rh.ErrExist):
		return fuse.EACCES
	case re.IsEqual(rh.ErrNotExist):
		return fuse.ENOENT
	case re.IsEqual(rh.ErrBusy):
		return fuse.EBUSY
	case re.IsEqual(rh.ErrGone):
		return fuse.EBADF
	case re.IsEqual(rh.ErrPerm):
		return fuse.EPERM
	case re.IsEqual(rh.ErrIO):
		return fuse.EIO
	case re.IsEqual(rh.ErrEOF):
		return nil // No FUSE equivalent for EOF, right? Return no error for now.
	case re.IsEqual(rh.ErrClash):
		return fuse.EINVAL
	case re.IsEqual(rh.ErrIntr):
		return fuse.EINTR
	}
	return fuse.ESTALE
}
// FUSE converts errors returned from an RH interface to FUSE errors
FUSE converts errors returned from an RH interface to FUSE errors
// FUSE converts errors returned from an RH interface to FUSE errors
func (rhe RHError) FUSE() fuse.Error {
	if rhe.error == nil {
		return nil
	}
	re, ok := rhe.error.(rh.Error)
	if !ok {
		panic("u")
	}
	switch {
	case re.IsEqual(rh.ErrExist):
		return fuse.EACCES
	case re.IsEqual(rh.ErrNotExist):
		return fuse.ENOENT
	case re.IsEqual(rh.ErrBusy):
		return fuse.EBUSY
	case re.IsEqual(rh.ErrGone):
		return fuse.EBADF
	case re.IsEqual(rh.ErrPerm):
		return fuse.EPERM
	case re.IsEqual(rh.ErrIO):
		return fuse.EIO
	case re.IsEqual(rh.ErrEOF):
		return nil 
	case re.IsEqual(rh.ErrClash):
		return fuse.EINVAL
	case re.IsEqual(rh.ErrIntr):
		return fuse.EINTR
	}
	return fuse.ESTALE
}
func ( rhe RHError ) FUSE ( ) fuse . Error { if rhe . error == nil { return nil } re , ok := rhe . error . ( rh . Error ) if ! ok { panic ( " " ) } switch { case re . IsEqual ( rh . ErrExist ) : return fuse . EACCES case re . IsEqual ( rh . ErrNotExist ) : return fuse . ENOENT case re . IsEqual ( rh . ErrBusy ) : return fuse . EBUSY case re . IsEqual ( rh . ErrGone ) : return fuse . EBADF case re . IsEqual ( rh . ErrPerm ) : return fuse . EPERM case re . IsEqual ( rh . ErrIO ) : return fuse . EIO case re . IsEqual ( rh . ErrEOF ) : return nil case re . IsEqual ( rh . ErrClash ) : return fuse . EINVAL case re . IsEqual ( rh . ErrIntr ) : return fuse . EINTR } return fuse . ESTALE }
FUSE converts errors returned from an RH interface to FUSE errors
FUSE converts errors returned from an RH interface to FUSE errors
//log.Printf("Error RH->FUSE: %#v", rhe.error) // No FUSE equivalent for EOF, right? Return no error for now.