lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120525151854.GA23362@infradead.org>
Date:	Fri, 25 May 2012 11:18:54 -0400
From:	Christoph Hellwig <hch@...radead.org>
To:	Stefan Behrens <sbehrens@...ntdisaster.de>
Cc:	linux-btrfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 0/3] Btrfs: add IO error device stats

Can you explain why the device error counters should be in a filesystem
instead of generic block layer code?

On Fri, May 25, 2012 at 04:06:07PM +0200, Stefan Behrens wrote:
> Changes v1-v2:
> - Remove restriction that BTRFS_IOC_GET_DEVICE_STATS is a privileged
>   operation
> - Cast u64 to unsigned long long for printf()
> 
> Changes v2-v3:
> - Rebased on Chris' current master
> 
> Changes v3-v4:
> - Add padding at end of ioctl structure
> 
> Changes v4-v5:
> - The statistic members in the ioctl are now organized as an array of
>   64 bit values. Symbolic names for the array indexes are defined in
>   an enum, which also defines the max value. This change makes it
>   easier to add new statistic members in the future
> - Give ins_len = -1 to btrfs_search_slot() when an item might get
>   deleted
> - Introduce a helper function for the repeated sequence stat_int() +
>   dirty = 1 + stat_print()
> - Introduce a helper function for the code that shares the bio
>   bi_private member for two pieces of information
> 
> The goal is to detect when drives start to get an increased error rate,
> when drives should be replaced soon. Therefore statistic counters are
> added that count IO errors (read, write and flush). Additionally, the
> software detected errors like checksum errors and corrupted blocks are
> counted.
> 
> An ioctl interface is added to get the device statistic counters.
> A second ioctl is added to atomically get and reset these counters.
> 
> The device statistics are written into the device tree with each
> transaction commit. Only modified statistics are written.
> When a filesystem is mounted, the device statistics for each involved
> device are read from the device tree and used to initialize the
> counters.
> 
> A patch for the btrfs-progs world will also be sent.
> 
> Stefan Behrens (3):
>   Btrfs: add device counters for detected IO and checksum errors
>   Btrfs: add ioctl to get and reset the device stats
>   Btrfs: read device stats on mount, write modified ones during commit
> 
>  fs/btrfs/ctree.h       |   38 ++++++
>  fs/btrfs/disk-io.c     |   20 +++-
>  fs/btrfs/extent_io.c   |   18 ++-
>  fs/btrfs/ioctl.c       |   26 +++++
>  fs/btrfs/ioctl.h       |   33 ++++++
>  fs/btrfs/print-tree.c  |    3 +
>  fs/btrfs/scrub.c       |   65 ++++++++---
>  fs/btrfs/transaction.c |    4 +
>  fs/btrfs/volumes.c     |  304 +++++++++++++++++++++++++++++++++++++++++++++++-
>  fs/btrfs/volumes.h     |   52 +++++++++
>  10 files changed, 539 insertions(+), 24 deletions(-)
> 
> -- 
> 1.7.10.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
---end quoted text---
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ