OSDN Git Service

android-x86/external-exfat.git
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().

8 years agoFix extra decrement of reference counter of hanging nodes.
relan [Wed, 9 Jan 2013 17:50:14 +0000 (17:50 +0000)]
Fix extra decrement of reference counter of hanging nodes.

8 years agoFix cleaning of libexfat broken in r312.
relan [Wed, 9 Jan 2013 17:29:32 +0000 (17:29 +0000)]
Fix cleaning of libexfat broken in r312.

8 years agoGet PATH and SYSROOT variables from the environment.
relan [Wed, 9 Jan 2013 16:58:00 +0000 (16:58 +0000)]
Get PATH and SYSROOT variables from the environment.

8 years agoRespect AR and RANLIB environment variables in SConscript.
relan [Wed, 9 Jan 2013 16:54:08 +0000 (16:54 +0000)]
Respect AR and RANLIB environment variables in SConscript.

Signed-off-by: <vapier@gmail.com>
8 years agoSeek to the beginning of the device after detecting its size.
relan [Sat, 29 Dec 2012 08:01:07 +0000 (08:01 +0000)]
Seek to the beginning of the device after detecting its size.

dumpexfat relies on this.

8 years agoPrint device name in the error message.
relan [Sat, 29 Dec 2012 07:55:29 +0000 (07:55 +0000)]
Print device name in the error message.

8 years agoFix indentation.
relan [Wed, 26 Dec 2012 07:26:48 +0000 (07:26 +0000)]
Fix indentation.

8 years agoImprove trace macros.
relan [Wed, 26 Dec 2012 07:14:07 +0000 (07:14 +0000)]
Improve trace macros.

8 years agoEnable big_writes.
relan [Tue, 25 Dec 2012 17:50:04 +0000 (17:50 +0000)]
Enable big_writes.

This improves write speed (larger block size means less switches between
kernel- and user-space).

8 years agoFix fuse_exfat_read() and fuse_exfat_write() return values.
relan [Tue, 25 Dec 2012 16:58:23 +0000 (16:58 +0000)]
Fix fuse_exfat_read() and fuse_exfat_write() return values.

FUSE read and write ops should return either buffer size on success or EOF
on error.

8 years agoFix exfat_generic_pwrite().
relan [Tue, 25 Dec 2012 16:55:13 +0000 (16:55 +0000)]
Fix exfat_generic_pwrite().

It should return -1 on error, not -errno.

8 years agoReplace fixed PATH to the value from the environment.
relan [Wed, 19 Dec 2012 06:30:24 +0000 (06:30 +0000)]
Replace fixed PATH to the value from the environment.

This makes scons find build tools in non-standard directories specified
in the PATH variable.

8 years agoCheck compiler presense in SConscript.
relan [Wed, 19 Dec 2012 06:19:14 +0000 (06:19 +0000)]
Check compiler presense in SConscript.

8 years agoCheck size of off_t type in SConscript.
relan [Tue, 18 Dec 2012 18:42:39 +0000 (18:42 +0000)]
Check size of off_t type in SConscript.

8 years agoDo not configure when cleaning.
relan [Tue, 18 Dec 2012 18:17:01 +0000 (18:17 +0000)]
Do not configure when cleaning.

8 years agoRemove symlinks on cleaning the install alias.
relan [Tue, 18 Dec 2012 18:06:17 +0000 (18:06 +0000)]
Remove symlinks on cleaning the install alias.

8 years agoFix crash in exfat_rename().
relan [Sat, 15 Dec 2012 08:51:09 +0000 (08:51 +0000)]
Fix crash in exfat_rename().

Crash happened when renaming a file within a single directory and a new
name differs only in case.

8 years agoOS X: fix raw device size detection.
relan [Sat, 15 Dec 2012 08:45:00 +0000 (08:45 +0000)]
OS X: fix raw device size detection.

Each disk has two names: /dev/diskN (block device) and /dev/rdiskN (raw
device).

8 years agoUse bool type.
relan [Wed, 12 Dec 2012 19:16:42 +0000 (19:16 +0000)]
Use bool type.

8 years agoOS X: correctly detect device size.
relan [Wed, 12 Dec 2012 19:14:36 +0000 (19:14 +0000)]
OS X: correctly detect device size.

8 years agoRename exfat_mode() to exfat_get_mode().
relan [Tue, 11 Dec 2012 16:46:55 +0000 (16:46 +0000)]
Rename exfat_mode() to exfat_get_mode().

8 years agoRemove extra include.
relan [Tue, 11 Dec 2012 16:45:27 +0000 (16:45 +0000)]
Remove extra include.

8 years agoCheck file size after all name entries are parsed.
relan [Sat, 8 Dec 2012 12:32:33 +0000 (12:32 +0000)]
Check file size after all name entries are parsed.

Also print file name in case of error.

8 years agoDo not print directory name on size check failure.
relan [Sat, 8 Dec 2012 11:53:58 +0000 (11:53 +0000)]
Do not print directory name on size check failure.

Name is not yet available at that moment.

8 years agoUse bool type.
relan [Sat, 8 Dec 2012 11:51:34 +0000 (11:51 +0000)]
Use bool type.

8 years agoOS X: set deployment target to Mac OS X 10.5 Leopard.
relan [Sat, 8 Dec 2012 11:46:15 +0000 (11:46 +0000)]
OS X: set deployment target to Mac OS X 10.5 Leopard.

8 years agoDo BLKROGET ioctl to make sure the device is not read-only.
relan [Tue, 4 Dec 2012 19:17:52 +0000 (19:17 +0000)]
Do BLKROGET ioctl to make sure the device is not read-only.

After "blockdev --setro" Linux kernel still allows to open the device in
read-write mode but fails writes.

8 years agoRefactor device access mode handling.
relan [Tue, 4 Dec 2012 18:34:01 +0000 (18:34 +0000)]
Refactor device access mode handling.

8 years agoImprove OS X support.
relan [Tue, 4 Dec 2012 16:34:03 +0000 (16:34 +0000)]
Improve OS X support.

Use proper macro for inode numbers bitness management.
Switch to 64-bit inode numbers (this requires Mac OS X 10.5 or later).
Switch from unmaintained MacFUSE to OSXFUSE (http://osxfuse.github.com).

8 years agoAdd empty chmod() handler.
relan [Tue, 4 Dec 2012 16:14:38 +0000 (16:14 +0000)]
Add empty chmod() handler.

OS X utilities report error if fchmod() fails. Use an empty handler as a
workaround.

8 years agoImprove invalid clusters handling.
relan [Sun, 25 Nov 2012 12:03:51 +0000 (12:03 +0000)]
Improve invalid clusters handling.

8 years agoReorganize directories checking.
relan [Sat, 24 Nov 2012 09:36:35 +0000 (09:36 +0000)]
Reorganize directories checking.

Check directory before its files, do not check files if directory is
corrupt, check root directory.

8 years agoImprove error handling.
relan [Sun, 28 Oct 2012 15:14:25 +0000 (15:14 +0000)]
Improve error handling.

8 years agoBump version to 0.9.8 and update changelog.
relan [Thu, 9 Aug 2012 17:09:46 +0000 (17:09 +0000)]
Bump version to 0.9.8 and update changelog.