mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
No description
- C 98.2%
- Assembly 1%
- Makefile 0.3%
- Shell 0.2%
- Python 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Doing copy_file_range() on exfat with a file opened for direct IO leads
to an -EFAULT:
# xfs_io -f -d -c "truncate 32768" \
-c "copy_range -d 16384 -l 16384 -f 0" /mnt/test/junk
copy_range: Bad address
and the reason seems to be that we go through:
default_file_splice_write
splice_from_pipe
__splice_from_pipe
write_pipe_buf
__kernel_write
new_sync_write
generic_file_write_iter
generic_file_direct_write
exfat_direct_IO
do_blockdev_direct_IO
iov_iter_get_pages
and land in iterate_all_kinds(), which does "return -EFAULT" for our kvec
iter.
Setting exfat's splice_write to iter_file_splice_write fixes this and lets
fsx (which originally detected the problem) run to success from the xfstests
harness.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
|
||
| .travis.yml | ||
| .travis_cmd_wrapper.pl | ||
| .travis_get_mainline_kernel | ||
| balloc.c | ||
| cache.c | ||
| dir.c | ||
| exfat_fs.h | ||
| exfat_raw.h | ||
| fatent.c | ||
| file.c | ||
| inode.c | ||
| Kconfig | ||
| Makefile | ||
| misc.c | ||
| namei.c | ||
| nls.c | ||
| README.md | ||
| super.c | ||
exFAT filesystem
This is the exfat filesystem for support from the linux 4.1 kernel to the latest kernel.
Installing as a stand-alone module
Install prerequisite package for Fedora, RHEL:
yum install kernel-devel-$(uname -r)
Build step:
make
sudo make install
To load the driver manually, run this as root:
modprobe exfat
Installing as a part of the kernel
- Let's take [linux] as the path to your kernel source dir.
cd [linux]
cp -ar exfat [linux]/fs/
- edit [linux]/fs/Kconfig
source "fs/fat/Kconfig"
+source "fs/exfat/Kconfig"
source "fs/ntfs/Kconfig"
- edit [linux]/fs/Makefile
obj-$(CONFIG_FAT_FS) += fat/
+obj-$(CONFIG_EXFAT_FS) += exfat/
obj-$(CONFIG_BFS_FS) += bfs/
- make menuconfig and set exfat
File systems --->
DOS/FAT/NT Filesystems --->
<M> exFAT filesystem support
(utf8) Default iocharset for exFAT
build your kernel