No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Namjae Jeon e92aaf1b8a exfat: do not clear VolumeDirty in writeback
Before this commit, VolumeDirty will be cleared first in
writeback if 'dirsync' or 'sync' is not enabled. If the power
is suddenly cut off after cleaning VolumeDirty but other
updates are not written, the exFAT filesystem will not be able
to detect the power failure in the next mount.

And VolumeDirty will be set again but not cleared when updating
the parent directory. It means that BootSector will be written at
least once in each write-back, which will shorten the life of the
device.

Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
2022-03-29 16:44:49 +09:00
.travis.yml exfat: add FITRIM ioctl tests 2021-03-25 08:10:44 +09:00
.travis_cmd_wrapper.pl exfat: add travis-CI build and test support 2020-02-03 22:43:47 +09:00
.travis_get_mainline_kernel exfat: add travis-CI build and test support 2020-02-03 22:43:47 +09:00
balloc.c exfat: remove argument 'sector' from exfat_get_dentry() 2021-12-16 21:30:53 +09:00
cache.c exfat: fix use of uninitialized spinlock on error path 2020-10-12 22:56:52 +09:00
dir.c exfat: remove argument 'sector' from exfat_get_dentry() 2021-12-16 21:30:53 +09:00
exfat_fs.h exfat: allow access to paths with trailing dots 2022-03-18 22:24:29 +09:00
exfat_raw.h exfat: fix shift-out-of-bounds in exfat_fill_super() 2021-02-01 10:35:05 +09:00
fatent.c exfat: simplify is_valid_cluster() 2021-11-03 11:09:14 +09:00
file.c exfat: do not clear VolumeDirty in writeback 2022-03-29 16:44:49 +09:00
inode.c exfat: reuse exfat_inode_info variable instead of calling EXFAT_I() 2021-11-03 11:09:20 +09:00
Kconfig exfat: initial commit 2020-02-03 21:47:19 +09:00
Makefile exfat: fix typo in Makefile 2021-10-14 22:24:23 -07:00
misc.c exfat: fix missing REQ_SYNC in exfat_update_bhs() 2021-12-21 21:47:07 +09:00
namei.c exfat: do not clear VolumeDirty in writeback 2022-03-29 16:44:49 +09:00
nls.c exfat: remove argument 'sector' from exfat_get_dentry() 2021-12-16 21:30:53 +09:00
README.md exfat: fix typo 2020-02-10 21:35:58 +09:00
super.c exfat: do not clear VolumeDirty in writeback 2022-03-29 16:44:49 +09:00

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

  1. Let's take [linux] as the path to your kernel source dir.
	cd [linux]
	cp -ar exfat [linux]/fs/
  1. edit [linux]/fs/Kconfig
	source "fs/fat/Kconfig"
	+source "fs/exfat/Kconfig"
	source "fs/ntfs/Kconfig"
  1. edit [linux]/fs/Makefile
	obj-$(CONFIG_FAT_FS)          += fat/
	+obj-$(CONFIG_EXFAT_FS)       += exfat/
	obj-$(CONFIG_BFS_FS)          += bfs/
  1. make menuconfig and set exfat
	File systems  --->
		DOS/FAT/NT Filesystems  --->
			<M> exFAT filesystem support
			(utf8) Default iocharset for exFAT

build your kernel