()
| 344 | } |
| 345 | |
| 346 | func (p *parser) getWritebackRateDebug() WritebackRateDebugStats { |
| 347 | var res WritebackRateDebugStats |
| 348 | |
| 349 | if p.err != nil { |
| 350 | return res |
| 351 | } |
| 352 | path := path.Join(p.currentDir, "writeback_rate_debug") |
| 353 | file, err := os.Open(path) |
| 354 | if err != nil { |
| 355 | p.err = fmt.Errorf("failed to read: %s", path) |
| 356 | return res |
| 357 | } |
| 358 | defer file.Close() |
| 359 | |
| 360 | scanner := bufio.NewScanner(file) |
| 361 | for scanner.Scan() { |
| 362 | err = parseWritebackRateDebug(scanner.Text(), &res) |
| 363 | if err != nil { |
| 364 | p.err = fmt.Errorf("failed to parse path %q: %w", path, err) |
| 365 | return res |
| 366 | } |
| 367 | } |
| 368 | if err := scanner.Err(); err != nil { |
| 369 | p.err = fmt.Errorf("failed to parse path %q: %w", path, err) |
| 370 | return res |
| 371 | } |
| 372 | return res |
| 373 | } |
| 374 | |
| 375 | // GetStats collects from sysfs files data tied to one bcache ID. |
| 376 | func GetStats(uuidPath string, priorityStats bool) (*Stats, error) { |
no test coverage detected