(ino *Inode)
| 219 | } |
| 220 | |
| 221 | func (t *InodeTable) Add(ino *Inode) { |
| 222 | if _, ok := t.Get(ino.Number); ok { // fast path |
| 223 | return |
| 224 | } |
| 225 | |
| 226 | t.mu.Lock() |
| 227 | defer t.mu.Unlock() |
| 228 | |
| 229 | if old, ok := t.known[ino.Number]; ok { |
| 230 | if old != ino { |
| 231 | panic(fmt.Errorf("duplicate inode %d (old=%p, new=%p): old=%q, new=%q", ino.Number, old, ino, old.LogValue().String(), ino.LogValue().String())) |
| 232 | } |
| 233 | } else { |
| 234 | t.known[ino.Number] = ino |
| 235 | } |
| 236 | } |