117 Commits

Author SHA1 Message Date
relan
8cffe412ea Include config.h before all other headers.
The defines in config.h may affect OS and FUSE API and ABI, so make sure
to include it before everything else.
2025-06-14 11:11:09 +03:00
relan
498a23ea3d Check for ublio only on FreeBSD hosts. 2025-06-14 11:11:02 +03:00
relan
e6d74e94ad Disable macFUSE extensions.
Those extensions change FUSE API making it incompatible with the
upstream FUSE. Disable them for now.
2025-06-09 11:19:28 +03:00
relan
cf2d9bd161 Update copyright years. 2023-03-02 22:32:35 +03:00
relan
7cbc1544a4 Add FUSE 3 support to configure. 2022-12-29 12:05:03 +03:00
relan
e2bc952da6 Allow building with FUSE_USE_VERSION >= 30.
Some fuse_operations changed their prototypes.
2022-12-29 12:05:03 +03:00
Pablo Mendez Hernandez
deffad2e71 Allow building with FUSE_USE_VERSION >= 30.
filler() function gained an argument.
2022-12-29 11:55:58 +03:00
relan
cdd8f98023 Fix a couple of typos in comments. 2022-10-04 21:54:01 +03:00
relan
11e4f032d1 Drop "user" option for FreeBSD.
FreeBSD FUSE implementation does not support it actually.
2021-11-16 16:42:59 +03:00
relan
a8de7e2db3 Free options strings on error.
Make clang static analyzer happy.
2021-10-23 14:42:26 +03:00
relan
e53fa1b43b Make exfat_debug() elimination a bit safer. 2021-07-04 10:24:47 +03:00
Iouri V. Ivliev
cfb6da6cee Add "automounted" to passthrough options list for FreeBSD. 2021-06-30 20:39:37 +03:00
relan
7899317f33 Pass through some options to FUSE.
Allow users to specify the "nonempty" mount option.
2021-04-10 10:46:32 +03:00
relan
02a35baff3 Suppress warnings about unused parameters. 2020-02-29 10:56:27 +03:00
relan
8396b05b33 Soil super block after successful mount.
Leave volume state untouched until we are ready to serve writes.
2019-07-08 20:55:58 +03:00
relan
62b2cc05ec Fix last updated dates in man pages. 2018-09-15 07:17:56 +03:00
Mark Browning
5d55e2a922 Pass stat to filler in readdir for dirent->d_type.
We have SD card reading code that iterates over the file system using
opendir() and readdir() recursively by checking the struct
dirent::d_type field, which is technically non-portable but works in
ext2, ext3, ext4, and vfat. However, it wasn't working with exfat.

Allows fuse to fill in the d_type field.
2018-09-06 07:24:34 +03:00
relan
b80f452a39 Pass "ro" option to FUSE when FS is read-only.
No matter the reason why FS is read-only (requested by user or device is
write-protected), we should inform FUSE about this.
2018-03-10 18:37:30 +03:00
relan
68524e0a51 Wrap platform-specific FUSE options.
fuse_main() fails on unrecognized options.
2018-03-10 18:37:30 +03:00
relan
78d28968cb Split mount options into FUSE- and exFAT-specific.
fuse_main() fails on unrecognized options.
2018-03-10 18:37:30 +03:00
relan
f61d4279d1 Use fuse_main() instead of lower level functions.
This significantly simplifies FUSE-related code.
2018-03-10 18:36:38 +03:00
relan
39b79fb1c0 Unite code that forms options for FUSE. 2018-03-10 18:36:38 +03:00
relan
ca712e7ba8 Update copyright years. 2018-02-03 10:29:39 +03:00
relan
53cdfb64cc Clean up unused parameters in libexfat. 2017-04-01 09:39:47 +03:00
relan
5925b60368 Update copyright years. 2017-01-28 22:11:04 +03:00
relan
27bc40ffd7 Rename node field flags to attrib.
Now it contains only exFAT attributes (from meta2).
2017-01-16 09:29:08 +03:00
relan
c512e12d79 Replace node flags with bit fields.
Bit fields are safer and more readable.
2017-01-16 09:29:08 +03:00
relan
ca112f07b1 Propagate ENOSPC on write.
Return -errno from exfat_generic_pread()/exfat_generic_pwrite()
functions to distinguish between I/O error and out-of-space error.
2016-12-27 17:22:12 +03:00
relan
088ea8a362 Reduce the sizes of name buffers.
EXFAT_NAME_MAX is the number of 16-bit code units, not Unicode
characters. When converting to UTF-8, 3 bytes are enough to keep any
Unicode character encoded by a 16-bit code unit.
2016-12-26 10:01:18 +03:00
relan
e62b969950 Remove buffer size argument for exfat_get_name().
The output buffer is always UTF8_BYTES(EXFAT_NAME_MAX)+1 characters. No
need to repeat this every time.
2016-12-26 10:01:18 +03:00
relan
d2a4dd4d36 Update copyright years. 2016-06-03 08:20:53 +03:00
relan
a7282fe242 Escape commas (and backslashes) in device names.
Otherwise device names containing commas will be truncated.
2016-01-05 17:10:54 +03:00
relan
3aab9cadff Add case-insensitivity note to the mount.exfat-fuse man page. 2015-11-09 09:01:23 +03:00
relan
01be539e4d Move nodes flush from exfat_flush() into a separate function.
Make exfat_flush() execution time more predictable.
2015-11-07 11:24:05 +03:00
relan
8421f50a0a Include man pages into distribution.
They are not installed.
2015-08-26 11:51:36 +03:00
relan
d6f9ccd0de Create symlinks on install.
Install fsck.exfat, mount.exfat and mkfs.exfat convenience aliases.
2015-08-26 11:50:43 +03:00
relan
c50537e148 Drop version.h header.
Use VERSION define from config.h.
2015-08-26 11:50:43 +03:00
relan
c05a94a1d3 Include local headers before system headers.
config.h must always be included before stdio.h because it can contain
defines that enable Large File Support (e.g. _FILE_OFFSET_BITS=64 for
glibc on 32-bit machines).
2015-08-26 11:50:43 +03:00
relan
c50260f4ad Use GNU build system (autotools). 2015-08-26 11:50:35 +03:00
relan
d3c8cf283f Update copyright years. 2015-08-24 08:36:18 +03:00
relan
969a279ff5 Update man page to reflect the change of umask option default.
The change has been made in 0f9f49d.
2015-08-24 08:28:34 +03:00
relan
5b42458ebc Add "create" FUSE operation.
It is required by FreeBSD FUSE implementation.
2015-08-24 08:28:34 +03:00
relan
fc073c6468 Add DEBUG define that enables logging of FUSE events.
Signed-off-by: Helg Bredow <xx404@msn.com>
2015-08-24 08:26:17 +03:00
relan
54c3781686 Pass default_permissions to FUSE.
This makes umask, dmask and fmask options work out-of-the-box.

Signed-off-by: Helg Bredow <xx404@msn.com>
2015-08-24 08:26:17 +03:00
relan
aed66bc492 Update copyright years. 2015-08-24 08:26:17 +03:00
relan
eca4ae8fb3 Use apostrophe for both opening and closing quotes in messages.
This is a recommendation from GNU Coding Standards.
2015-08-24 08:26:16 +03:00
relan
7f46abf86d Fix memory leak on realloc() failure.
In fact reallocf() would do the thing but unfortunetly it's non-standard.
2015-08-24 08:26:16 +03:00
relan
4ad726d930 Fix negative IUsed in "df -i" output. 2015-08-24 08:26:16 +03:00
relan
ed0296133a Fix nodes flush on FUSE implementations that do not call flush(). 2015-08-24 08:26:16 +03:00
relan
ad34cce4fd Add missing node flush on utimens().
Signed-off-by: Helg Bredow <xx404@msn.com>
2015-08-24 08:26:16 +03:00