]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
btrfs: device stats, log when stats are zeroed
authorAnand Jain <anand.jain@oracle.com>
Fri, 10 Jan 2020 04:26:34 +0000 (12:26 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 20 Jan 2020 15:41:02 +0000 (16:41 +0100)
We had a report indicating that some read errors aren't reported by the
device stats in the userland. It is important to have the errors
reported in the device stat as user land scripts might depend on it to
take the reasonable corrective actions. But to debug these issue we need
to be really sure that request to reset the device stat did not come
from the userland itself. So log an info message when device error reset
happens.

For example:
 BTRFS info (device sdc): device stats zeroed by btrfs(9223)

Reported-by: philip@philip-seeger.de
Link: https://www.spinics.net/lists/linux-btrfs/msg96528.html
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c

index d184a994c39295f64f61cecb0d50ab8fba3467b6..9658c53eec7b17c30f2ad41cce83d46327974b25 100644 (file)
@@ -7329,6 +7329,8 @@ int btrfs_get_dev_stats(struct btrfs_fs_info *fs_info,
                        else
                                btrfs_dev_stat_set(dev, i, 0);
                }
+               btrfs_info(fs_info, "device stats zeroed by %s (%d)",
+                          current->comm, task_pid_nr(current));
        } else {
                for (i = 0; i < BTRFS_DEV_STAT_VALUES_MAX; i++)
                        if (stats->nr_items > i)