| 451 | } |
| 452 | |
| 453 | func (r *smapOwner) load(smap *smapX) (loaded bool, err error) { |
| 454 | _, err = jsp.LoadMeta(r.fpath, smap) |
| 455 | if err != nil { |
| 456 | if os.IsNotExist(err) { |
| 457 | return false, nil |
| 458 | } |
| 459 | return false, err |
| 460 | } |
| 461 | if smap.version() == 0 || !smap.isValid() { |
| 462 | return false, fmt.Errorf("unexpected: persistent %s is invalid", smap) |
| 463 | } |
| 464 | return true, nil |
| 465 | } |
| 466 | |
| 467 | func (r *smapOwner) Get() *cluster.Smap { return &r.get().Smap } |
| 468 | func (r *smapOwner) Listeners() cluster.SmapListeners { return r.listeners } |