summaryrefslogtreecommitdiff
path: root/kernel-lib
Commit message (Collapse)AuthorAge
* btrfs-progs: kernel-lib: add generated tables.cDavid Sterba2017-08-24
| | | | | | | | | The contents of tables.c hasn't changed for more than 15 years, we don't expect any changes to current contents. New tables might be still added, in that case the file should be regenerated using the included mktables tool and updated. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: Introduce wrapper to recover raid56 dataQu Wenruo2017-07-03
| | | | | | | | | | | | | Introduce a wrapper to recover raid56 data. The logical is the same with kernel one, but with different interfaces, since kernel ones cares the performance while in btrfs we don't care that much. And the interface is more caller friendly inside btrfs-progs. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: raid56: Allow raid6 to recover data and PQu Wenruo2017-07-03
| | | | | | | | | | | Copied from kernel lib/raid6/recov.c. Minor modifications includes: - Rename from raid6_datap_recov_intx() to raid5_recov_datap() - Rename parameter from faila to dest1 Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: raid56: Allow raid6 to recover 2 data stripesQu Wenruo2017-07-03
| | | | | | | | | | Copied from kernel lib/raid6/recov.c raid6_2data_recov_intx1() function. With the following modification: - Rename to raid6_recov_data2() for shorter name - s/kfree/free/g modification Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: raid56: Introduce tables for RAID6 recoveryQu Wenruo2017-07-03
| | | | | | | | | | | | | | | | | Use kernel RAID6 galois tables for later RAID6 recovery. Galois tables file, kernel-lib/tables.c is generated by user space program, mktable. Galois field tables declaration, in kernel-lib/raid56.h, is completely copied from kernel. The mktables.c is copied from kernel with minor header/macro modification, to ensure the generated tables.c works well in btrfs-progs. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: raid56: Introduce raid56 header for later recovery usageQu Wenruo2017-07-03
| | | | | | | | | | | | | | | Introduce a new header, kernel-lib/raid56.h, for later raid56 works. It contains 2 functions, from original btrfs-progs code: void raid6_gen_syndrome(int disks, size_t bytes, void **ptrs); int raid5_gen_result(int nr_devs, size_t stripe_len, int dest, void **data); Will be expanded later and some part of it(RAID6 recover part) may keep sync with kernel later. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> [ unify gpl header, rename header macro ] Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: Introduce kernel sizes to cleanup large intermediate numberQu Wenruo2017-03-08
| | | | | | | | | | | Large numbers like (1024 * 1024 * 1024) may cost reader/reviewer to waste one second to convert to 1G. Introduce kernel include/linux/sizes.h to replace any intermediate number larger than 4096 (not including 4096) to SZ_*. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: move bitops.h to kernel-libDavid Sterba2016-11-24
| | | | | | Forgotten when the rest got moved. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: crc32: use fallback implementation for unaligned buffersDavid Sterba2016-11-09
| | | | | | | | ASAN reports that at some point the crc function gets an unaligned buffer. It's the optimized intel version that casts char to ulong, the buffer is the embedded filename in the directory items. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: move 3rd party kernel library modules to own directoryDavid Sterba2016-10-03
Signed-off-by: David Sterba <dsterba@suse.com>