OSDN Git Service

android-x86/external-exfat.git
8 years agoDo not set archive bit on directory creation.
relan [Thu, 10 Sep 2015 09:24:59 +0000 (12:24 +0300)]
Do not set archive bit on directory creation.

Windows Exporer does not set archive bit for new directories either.
This fixes compatibility with Zalman VE-200 which is unable to read
images from the _ISO directory if it has archive bit set.

8 years agoMake README.md more text-friendly.
relan [Thu, 24 Sep 2015 05:06:06 +0000 (08:06 +0300)]
Make README.md more text-friendly.

8 years agoUpdate changelog.
relan [Wed, 26 Aug 2015 09:34:01 +0000 (12:34 +0300)]
Update changelog.

8 years agoInclude man pages into distribution.
relan [Fri, 21 Aug 2015 19:04:10 +0000 (22:04 +0300)]
Include man pages into distribution.

They are not installed.

8 years agoCreate symlinks on install.
relan [Wed, 12 Aug 2015 04:47:54 +0000 (07:47 +0300)]
Create symlinks on install.

Install fsck.exfat, mount.exfat and mkfs.exfat convenience aliases.

8 years agoDrop version.h header.
relan [Mon, 29 Jun 2015 12:32:49 +0000 (15:32 +0300)]
Drop version.h header.

Use VERSION define from config.h.

8 years agoInclude local headers before system headers.
relan [Mon, 29 Jun 2015 12:25:00 +0000 (15:25 +0300)]
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).

8 years agoAdd .gitignore.
relan [Tue, 4 Aug 2015 15:17:54 +0000 (18:17 +0300)]
Add .gitignore.

It hides everything produced by autoreconf -i && ./configure && make.

8 years agoUse GNU build system (autotools).
relan [Sun, 12 Apr 2015 20:04:13 +0000 (23:04 +0300)]
Use GNU build system (autotools).

8 years agoSupport musl libc that does not define __GLIBC__ macro.
relan [Mon, 27 Jul 2015 18:41:20 +0000 (21:41 +0300)]
Support musl libc that does not define __GLIBC__ macro.

Looks like all libc implementations that support Linux (glibc,
uClibc(-ng), musl and even Bionic) provide the requred defines.
Consider Linux as a single platform.

Signed-off-by: Brendan Heading <brendanheading@gmail.com>
8 years agoTurn "FS is larger than device" error into warning.
relan [Sat, 11 Jul 2015 10:04:51 +0000 (13:04 +0300)]
Turn "FS is larger than device" error into warning.

After formatting a memory card in a Panasonic Lumix DMC TZ-40 camera the
FS appears to be 512 bytes larger than underlying device size. This makes
the last cluster unaccessible. Not a big deal.

8 years agoRecognize optional entries.
relan [Sat, 11 Jul 2015 08:07:53 +0000 (11:07 +0300)]
Recognize optional entries.

Memory cards formatted by Sony cameras have mysterious 0xe1 entries.
Looks like they can be safely ignored. So now if entry type is unknown
and has 0x20 flag set there will be a warning instead of error.

8 years agoFix typo in the dumpexfat man page.
relan [Sat, 13 Jun 2015 12:59:39 +0000 (15:59 +0300)]
Fix typo in the dumpexfat man page.

8 years agoUpdate copyright years.
relan [Sun, 12 Apr 2015 19:52:08 +0000 (22:52 +0300)]
Update copyright years.

8 years agoUpdate man page to reflect the change of umask option default.
relan [Thu, 26 Mar 2015 08:28:24 +0000 (11:28 +0300)]
Update man page to reflect the change of umask option default.

The change has been made in 0f9f49d.

8 years agoAdd /usr/local/lib to LIBPATH on OS X.
relan [Thu, 26 Mar 2015 08:22:27 +0000 (11:22 +0300)]
Add /usr/local/lib to LIBPATH on OS X.

Without this SCons fails to find libosxfuse_i64.

8 years agoMove off_t size check from build script to code.
relan [Thu, 26 Mar 2015 08:16:24 +0000 (11:16 +0300)]
Move off_t size check from build script to code.

Make this check independent from a build system.

8 years agoAdd "create" FUSE operation.
relan [Tue, 24 Mar 2015 20:46:39 +0000 (00:46 +0400)]
Add "create" FUSE operation.

It is required by FreeBSD FUSE implementation.

8 years agoCreate README.md.
relan [Sat, 7 Feb 2015 08:40:06 +0000 (11:40 +0300)]
Create README.md.

8 years agoAdd DEBUG define that enables logging of FUSE events.
relan [Wed, 14 Jan 2015 10:04:22 +0000 (10:04 +0000)]
Add DEBUG define that enables logging of FUSE events.

Signed-off-by: Helg Bredow <xx404@msn.com>
8 years agoPass default_permissions to FUSE.
relan [Wed, 14 Jan 2015 09:53:19 +0000 (09:53 +0000)]
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>
8 years agoFix heap corruption: bitmap_size is in bits, not bytes.
relan [Mon, 10 Nov 2014 21:17:12 +0000 (21:17 +0000)]
Fix heap corruption: bitmap_size is in bits, not bytes.

8 years agoBump version to 1.1.0 and update changelog.
relan [Tue, 8 Jul 2014 13:31:50 +0000 (13:31 +0000)]
Bump version to 1.1.0 and update changelog.

8 years agoUpdate copyright years.
relan [Tue, 8 Jul 2014 12:54:13 +0000 (12:54 +0000)]
Update copyright years.

8 years agoUse bool type in fetch_next_entry().
relan [Tue, 8 Jul 2014 12:27:54 +0000 (12:27 +0000)]
Use bool type in fetch_next_entry().

8 years agoUse bool type in verify_vbr_checksum().
relan [Tue, 8 Jul 2014 12:17:52 +0000 (12:17 +0000)]
Use bool type in verify_vbr_checksum().

8 years agoRename real_size to valid_size and add comment about this field.
relan [Tue, 8 Jul 2014 12:05:07 +0000 (12:05 +0000)]
Rename real_size to valid_size and add comment about this field.

8 years agoPrint errno on device open/close/fsync failure.
relan [Sun, 1 Jun 2014 20:02:48 +0000 (20:02 +0000)]
Print errno on device open/close/fsync failure.

Signed-off-by: Helg Bredow <xx404@msn.com>
8 years agoUse apostrophe for both opening and closing quotes in messages.
relan [Sun, 1 Jun 2014 19:53:48 +0000 (19:53 +0000)]
Use apostrophe for both opening and closing quotes in messages.

This is a recommendation from GNU Coding Standards.

8 years agoFix opening of a regular file (broken in r403).
relan [Sun, 1 Jun 2014 19:48:03 +0000 (19:48 +0000)]
Fix opening of a regular file (broken in r403).

8 years agoSet errno to EROFS on failure to open the device in RW mode.
relan [Sun, 1 Jun 2014 19:28:12 +0000 (19:28 +0000)]
Set errno to EROFS on failure to open the device in RW mode.

8 years agoFix memory leak on realloc() failure.
relan [Fri, 23 May 2014 19:24:13 +0000 (19:24 +0000)]
Fix memory leak on realloc() failure.

In fact reallocf() would do the thing but unfortunetly it's non-standard.

8 years agoFix memory leak on error path when clusters bitmap writing fails.
relan [Wed, 7 May 2014 19:24:54 +0000 (19:24 +0000)]
Fix memory leak on error path when clusters bitmap writing fails.

8 years agoFix potential garbage at the end of clusters bitmap.
relan [Wed, 7 May 2014 19:22:56 +0000 (19:22 +0000)]
Fix potential garbage at the end of clusters bitmap.

8 years agoFix negative IUsed in "df -i" output.
relan [Sun, 4 May 2014 16:42:07 +0000 (16:42 +0000)]
Fix negative IUsed in "df -i" output.

8 years agoFix nodes flush on FUSE implementations that do not call flush().
relan [Tue, 22 Apr 2014 17:44:25 +0000 (17:44 +0000)]
Fix nodes flush on FUSE implementations that do not call flush().

8 years agoAdd missing node flush on utimens().
relan [Tue, 22 Apr 2014 17:41:57 +0000 (17:41 +0000)]
Add missing node flush on utimens().

Signed-off-by: Helg Bredow <xx404@msn.com>
8 years agoHandle I/O errors in exfat_put_node().
relan [Tue, 8 Apr 2014 04:21:21 +0000 (04:21 +0000)]
Handle I/O errors in exfat_put_node().

8 years agoCheck device size on mount.
relan [Sun, 23 Feb 2014 11:23:55 +0000 (11:23 +0000)]
Check device size on mount.

8 years agoValidate VBR checksum before other checks.
relan [Sun, 23 Feb 2014 10:41:29 +0000 (10:41 +0000)]
Validate VBR checksum before other checks.

8 years agoFix missing node put on error paths.
relan [Thu, 20 Feb 2014 17:40:28 +0000 (17:40 +0000)]
Fix missing node put on error paths.

8 years agoFix return value from exfat_rename().
relan [Sat, 18 Jan 2014 07:36:44 +0000 (07:36 +0000)]
Fix return value from exfat_rename().

8 years agoFix memory use after free on error paths.
relan [Sat, 18 Jan 2014 07:35:26 +0000 (07:35 +0000)]
Fix memory use after free on error paths.

8 years agoFix compilation on OpenBSD.
relan [Wed, 15 Jan 2014 17:08:11 +0000 (17:08 +0000)]
Fix compilation on OpenBSD.

Signed-off-by: Helg Bredow <xx404@msn.com>
8 years agoAdd OpenBSD support.
relan [Mon, 13 Jan 2014 07:17:47 +0000 (07:17 +0000)]
Add OpenBSD support.

Signed-off-by: Helg Bredow <xx404@msn.com>
8 years agoAdd note about partition type to the man page.
relan [Mon, 13 Jan 2014 07:16:35 +0000 (07:16 +0000)]
Add note about partition type to the man page.

Signed-off-by: Helg Bredow <xx404@msn.com>
8 years agoRelax node size check. This fixes pagefile.sys error.
relan [Mon, 11 Nov 2013 20:09:57 +0000 (20:09 +0000)]
Relax node size check. This fixes pagefile.sys error.

8 years agoMove node checks into a separate function check_node().
relan [Mon, 11 Nov 2013 17:24:21 +0000 (17:24 +0000)]
Move node checks into a separate function check_node().

8 years agoSimplify return code checking in shrink_directory().
relan [Sun, 10 Nov 2013 15:15:19 +0000 (15:15 +0000)]
Simplify return code checking in shrink_directory().

8 years agoFix bitmaps handling on big-endian machines.
relan [Sat, 26 Oct 2013 18:08:10 +0000 (18:08 +0000)]
Fix bitmaps handling on big-endian machines.

8 years agoHandle I/O error in exfat_next_cluster().
relan [Mon, 21 Oct 2013 07:11:48 +0000 (07:11 +0000)]
Handle I/O error in exfat_next_cluster().

8 years agoFix return codes from exfat_close() and exfat_fsync().
relan [Fri, 23 Aug 2013 05:56:00 +0000 (05:56 +0000)]
Fix return codes from exfat_close() and exfat_fsync().

Return -EIO on error instead of 1. Also do fsync() after ublio_fsync():
ublio_fsync() does not flush changes to the disk, just writes them.

8 years agoFix crash on unmount under OSXFUSE.
relan [Fri, 23 Aug 2013 05:49:35 +0000 (05:49 +0000)]
Fix crash on unmount under OSXFUSE.

OSXFUSE calls fuse_exfat_fsync() for "/" which was not opened.

8 years agoHandle I/O error in exfat_flush().
relan [Tue, 6 Aug 2013 20:16:20 +0000 (20:16 +0000)]
Handle I/O error in exfat_flush().

8 years agoHandle I/O errors in exfat_flush_node().
relan [Tue, 6 Aug 2013 20:08:06 +0000 (20:08 +0000)]
Handle I/O errors in exfat_flush_node().

8 years agoClose device and free super block on failure to read boot sector.
relan [Tue, 6 Aug 2013 19:54:09 +0000 (19:54 +0000)]
Close device and free super block on failure to read boot sector.

8 years agoHandle I/O errors in erase_entry().
relan [Tue, 6 Aug 2013 19:51:50 +0000 (19:51 +0000)]
Handle I/O errors in erase_entry().

8 years agoHandle I/O errors in rename_entry().
relan [Tue, 6 Aug 2013 19:27:43 +0000 (19:27 +0000)]
Handle I/O errors in rename_entry().

8 years agoHandle I/O error in set_next_cluster().
relan [Tue, 6 Aug 2013 19:08:24 +0000 (19:08 +0000)]
Handle I/O error in set_next_cluster().

8 years agoHandle I/O error in erase_raw().
relan [Tue, 6 Aug 2013 18:59:40 +0000 (18:59 +0000)]
Handle I/O error in erase_raw().

8 years agoHandle I/O errors.
relan [Tue, 6 Aug 2013 18:56:09 +0000 (18:56 +0000)]
Handle I/O errors.

8 years agoGive the caller of pread()/pwrite() a chance to handle I/O errors.
relan [Tue, 6 Aug 2013 18:53:10 +0000 (18:53 +0000)]
Give the caller of pread()/pwrite() a chance to handle I/O errors.

8 years agoAddress clusters bitmap using size_t-sized blocks instead of bytes.
relan [Sat, 3 Aug 2013 13:25:28 +0000 (13:25 +0000)]
Address clusters bitmap using size_t-sized blocks instead of bytes.

This should be a bit faster.

8 years agoCheck max continuations count when reading file entry.
relan [Sat, 3 Aug 2013 08:42:58 +0000 (08:42 +0000)]
Check max continuations count when reading file entry.

8 years agoFix buffer overflows for file names of exactly 256 UTF-16 chars.
relan [Sat, 3 Aug 2013 08:36:54 +0000 (08:36 +0000)]
Fix buffer overflows for file names of exactly 256 UTF-16 chars.

8 years agoImplement fsync() and fsyncdir().
relan [Mon, 22 Jul 2013 18:04:26 +0000 (18:04 +0000)]
Implement fsync() and fsyncdir().

8 years agoFix license for the SConscript.
relan [Mon, 8 Jul 2013 17:00:51 +0000 (17:00 +0000)]
Fix license for the SConscript.

8 years agoRelicense the code from GPLv3+ to GPLv2+.
relan [Mon, 8 Jul 2013 07:30:45 +0000 (07:30 +0000)]
Relicense the code from GPLv3+ to GPLv2+.

8 years agoUse safer names for byteorder stuff.
relan [Mon, 8 Jul 2013 06:43:54 +0000 (06:43 +0000)]
Use safer names for byteorder stuff.

8 years agoRemove OpenBSD-specific macros.
relan [Thu, 4 Jul 2013 05:39:50 +0000 (05:39 +0000)]
Remove OpenBSD-specific macros.

There is no OpenBSD port anyway.

8 years agoRemove Solaris-specific macros.
relan [Wed, 3 Jul 2013 17:35:11 +0000 (17:35 +0000)]
Remove Solaris-specific macros.

Solaris support is broken anyway.

8 years agoFix __attribute => __attribute__.
relan [Fri, 21 Jun 2013 18:03:33 +0000 (18:03 +0000)]
Fix __attribute => __attribute__.

8 years agoUse C11 _Static_assert if it is supported by a compiler.
relan [Fri, 21 Jun 2013 17:46:03 +0000 (17:46 +0000)]
Use C11 _Static_assert if it is supported by a compiler.

8 years agoImprove STATIC_ASSERT.
relan [Thu, 13 Jun 2013 18:06:18 +0000 (18:06 +0000)]
Improve STATIC_ASSERT.

Now it can be used both inside and outside of functions.

8 years agoRemove excessive semicolons after static asserts.
relan [Sun, 9 Jun 2013 07:54:35 +0000 (07:54 +0000)]
Remove excessive semicolons after static asserts.

8 years agoMove compiler-specific code into a separate header.
relan [Sun, 9 Jun 2013 07:23:35 +0000 (07:23 +0000)]
Move compiler-specific code into a separate header.

8 years agoRemove extra error message.
relan [Tue, 4 Jun 2013 18:37:56 +0000 (18:37 +0000)]
Remove extra error message.

8 years agoUpdate volume label in struct exfat on exfat_set_label().
relan [Mon, 20 May 2013 16:41:35 +0000 (16:41 +0000)]
Update volume label in struct exfat on exfat_set_label().

8 years agoFix handling of long non-ASCII file names.
relan [Mon, 20 May 2013 16:33:27 +0000 (16:33 +0000)]
Fix handling of long non-ASCII file names.

8 years agoMove platform-specific code into a separate header.
relan [Tue, 14 May 2013 18:41:17 +0000 (18:41 +0000)]
Move platform-specific code into a separate header.

8 years agoRelax mode handling.
relan [Sat, 20 Apr 2013 10:34:48 +0000 (10:34 +0000)]
Relax mode handling.

Allow arbitrary changing of lower 9 bits of mode.
Allow owner/group changing to the same owner/group.
Remove "quiet" option.

8 years agoFix grammar in mount.exfat-fuse man page.
relan [Sat, 20 Apr 2013 10:14:22 +0000 (10:14 +0000)]
Fix grammar in mount.exfat-fuse man page.

8 years agoAdd "quiet" option.
relan [Sat, 20 Apr 2013 10:01:24 +0000 (10:01 +0000)]
Add "quiet" option.

It makes chmod() and chown() always succeed. Useful for applications that
fail if chmod() or chown() is not implemented.

8 years agoAllow -v option for compatibility with mount utility.
relan [Fri, 29 Mar 2013 06:38:16 +0000 (06:38 +0000)]
Allow -v option for compatibility with mount utility.

mount passes -v to its helpers.

8 years agoUse getopt() for options parsing.
relan [Fri, 29 Mar 2013 06:29:10 +0000 (06:29 +0000)]
Use getopt() for options parsing.

8 years agoUse -V instead of -v option to print version.
relan [Thu, 28 Mar 2013 16:51:12 +0000 (16:51 +0000)]
Use -V instead of -v option to print version.

This is more consistent with other utilities.

8 years agoAllow -n option for automount/autofs compatibility.
relan [Mon, 18 Mar 2013 18:37:25 +0000 (18:37 +0000)]
Allow -n option for automount/autofs compatibility.

8 years agoAvoid extra erase on writes to the end of a file.
relan [Tue, 26 Feb 2013 18:58:36 +0000 (18:58 +0000)]
Avoid extra erase on writes to the end of a file.

8 years agoAdd fsname parameter as is.
relan [Wed, 13 Feb 2013 16:41:44 +0000 (16:41 +0000)]
Add fsname parameter as is.

Do not do canonicalization and symbolic links expansion. This fixes
TrueCrypt disks unmounting.

8 years agoUse bool type.
relan [Sun, 10 Feb 2013 21:04:01 +0000 (21:04 +0000)]
Use bool type.

8 years agoMake next_entry() function static.
relan [Sat, 26 Jan 2013 06:42:13 +0000 (06:42 +0000)]
Make next_entry() function static.

8 years agoFix unexpected removal of a directory if it is moved into itself.
relan [Fri, 25 Jan 2013 19:07:05 +0000 (19:07 +0000)]
Fix unexpected removal of a directory if it is moved into itself.

Return EINVAL in this situation. It also happens when trying to change
directory name case.

8 years agoFix "Operation not permitted" error on reading an empty file.
relan [Fri, 25 Jan 2013 17:46:10 +0000 (17:46 +0000)]
Fix "Operation not permitted" error on reading an empty file.

FUSE read/write ops should return a number of bytes actually read/written
or -errno on error.

8 years agoBump version to 1.0.0 and update changelog.
relan [Sat, 19 Jan 2013 13:45:41 +0000 (13:45 +0000)]
Bump version to 1.0.0 and update changelog.

8 years agoUpdate copyright years.
relan [Sat, 19 Jan 2013 13:11:28 +0000 (13:11 +0000)]
Update copyright years.

8 years agoFix allocation of a cluster beyond valid clusters range.
relan [Mon, 14 Jan 2013 18:54:42 +0000 (18:54 +0000)]
Fix allocation of a cluster beyond valid clusters range.

8 years agoAvoid using PATH_MAX constant.
relan [Fri, 11 Jan 2013 07:31:16 +0000 (07:31 +0000)]
Avoid using PATH_MAX constant.

8 years agoOS X: disable permission checks made by FUSE.
relan [Fri, 11 Jan 2013 06:42:18 +0000 (06:42 +0000)]
OS X: disable permission checks made by FUSE.

8 years agoRemove duplicate code in reset_cache().
relan [Thu, 10 Jan 2013 17:09:43 +0000 (17:09 +0000)]
Remove duplicate code in reset_cache().

Now it uses tree_detach() to remove children from the list and the whole
tree is consistent at any iteration.

8 years agoMove tree_attach() and tree_detach() upper.
relan [Thu, 10 Jan 2013 17:00:27 +0000 (17:00 +0000)]
Move tree_attach() and tree_detach() upper.

Now they can be used by reset_cache().