OSDN Git Service
relan [Mon, 11 Nov 2013 17:24:21 +0000 (17:24 +0000)]
Move node checks into a separate function check_node().
relan [Sun, 10 Nov 2013 15:15:19 +0000 (15:15 +0000)]
Simplify return code checking in shrink_directory().
relan [Sat, 26 Oct 2013 18:08:10 +0000 (18:08 +0000)]
Fix bitmaps handling on big-endian machines.
relan [Mon, 21 Oct 2013 07:11:48 +0000 (07:11 +0000)]
Handle I/O error in exfat_next_cluster().
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.
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.
relan [Tue, 6 Aug 2013 20:16:20 +0000 (20:16 +0000)]
Handle I/O error in exfat_flush().
relan [Tue, 6 Aug 2013 20:08:06 +0000 (20:08 +0000)]
Handle I/O errors in exfat_flush_node().
relan [Tue, 6 Aug 2013 19:54:09 +0000 (19:54 +0000)]
Close device and free super block on failure to read boot sector.
relan [Tue, 6 Aug 2013 19:51:50 +0000 (19:51 +0000)]
Handle I/O errors in erase_entry().
relan [Tue, 6 Aug 2013 19:27:43 +0000 (19:27 +0000)]
Handle I/O errors in rename_entry().
relan [Tue, 6 Aug 2013 19:08:24 +0000 (19:08 +0000)]
Handle I/O error in set_next_cluster().
relan [Tue, 6 Aug 2013 18:59:40 +0000 (18:59 +0000)]
Handle I/O error in erase_raw().
relan [Tue, 6 Aug 2013 18:56:09 +0000 (18:56 +0000)]
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.
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.
relan [Sat, 3 Aug 2013 08:42:58 +0000 (08:42 +0000)]
Check max continuations count when reading file entry.
relan [Sat, 3 Aug 2013 08:36:54 +0000 (08:36 +0000)]
Fix buffer overflows for file names of exactly 256 UTF-16 chars.
relan [Mon, 22 Jul 2013 18:04:26 +0000 (18:04 +0000)]
Implement fsync() and fsyncdir().
relan [Mon, 8 Jul 2013 17:00:51 +0000 (17:00 +0000)]
Fix license for the SConscript.
relan [Mon, 8 Jul 2013 07:30:45 +0000 (07:30 +0000)]
Relicense the code from GPLv3+ to GPLv2+.
relan [Mon, 8 Jul 2013 06:43:54 +0000 (06:43 +0000)]
Use safer names for byteorder stuff.
relan [Thu, 4 Jul 2013 05:39:50 +0000 (05:39 +0000)]
Remove OpenBSD-specific macros.
There is no OpenBSD port anyway.
relan [Wed, 3 Jul 2013 17:35:11 +0000 (17:35 +0000)]
Remove Solaris-specific macros.
Solaris support is broken anyway.
relan [Fri, 21 Jun 2013 18:03:33 +0000 (18:03 +0000)]
Fix __attribute => __attribute__.
relan [Fri, 21 Jun 2013 17:46:03 +0000 (17:46 +0000)]
Use C11 _Static_assert if it is supported by a compiler.
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.
relan [Sun, 9 Jun 2013 07:54:35 +0000 (07:54 +0000)]
Remove excessive semicolons after static asserts.
relan [Sun, 9 Jun 2013 07:23:35 +0000 (07:23 +0000)]
Move compiler-specific code into a separate header.
relan [Tue, 4 Jun 2013 18:37:56 +0000 (18:37 +0000)]
Remove extra error message.
relan [Mon, 20 May 2013 16:41:35 +0000 (16:41 +0000)]
Update volume label in struct exfat on exfat_set_label().
relan [Mon, 20 May 2013 16:33:27 +0000 (16:33 +0000)]
Fix handling of long non-ASCII file names.
relan [Tue, 14 May 2013 18:41:17 +0000 (18:41 +0000)]
Move platform-specific code into a separate header.
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.
relan [Sat, 20 Apr 2013 10:14:22 +0000 (10:14 +0000)]
Fix grammar in mount.exfat-fuse man page.
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.
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.
relan [Fri, 29 Mar 2013 06:29:10 +0000 (06:29 +0000)]
Use getopt() for options parsing.
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.
relan [Mon, 18 Mar 2013 18:37:25 +0000 (18:37 +0000)]
Allow -n option for automount/autofs compatibility.
relan [Tue, 26 Feb 2013 18:58:36 +0000 (18:58 +0000)]
Avoid extra erase on writes to the end of a file.
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.
relan [Sun, 10 Feb 2013 21:04:01 +0000 (21:04 +0000)]
Use bool type.
relan [Sat, 26 Jan 2013 06:42:13 +0000 (06:42 +0000)]
Make next_entry() function static.
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.
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.
relan [Sat, 19 Jan 2013 13:45:41 +0000 (13:45 +0000)]
Bump version to 1.0.0 and update changelog.
relan [Sat, 19 Jan 2013 13:11:28 +0000 (13:11 +0000)]
Update copyright years.
relan [Mon, 14 Jan 2013 18:54:42 +0000 (18:54 +0000)]
Fix allocation of a cluster beyond valid clusters range.
relan [Fri, 11 Jan 2013 07:31:16 +0000 (07:31 +0000)]
Avoid using PATH_MAX constant.
relan [Fri, 11 Jan 2013 06:42:18 +0000 (06:42 +0000)]
OS X: disable permission checks made by FUSE.
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.
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().
relan [Wed, 9 Jan 2013 17:50:14 +0000 (17:50 +0000)]
Fix extra decrement of reference counter of hanging nodes.
relan [Wed, 9 Jan 2013 17:29:32 +0000 (17:29 +0000)]
Fix cleaning of libexfat broken in r312.
relan [Wed, 9 Jan 2013 16:58:00 +0000 (16:58 +0000)]
Get PATH and SYSROOT variables from the environment.
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>
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.
relan [Sat, 29 Dec 2012 07:55:29 +0000 (07:55 +0000)]
Print device name in the error message.
relan [Wed, 26 Dec 2012 07:26:48 +0000 (07:26 +0000)]
Fix indentation.
relan [Wed, 26 Dec 2012 07:14:07 +0000 (07:14 +0000)]
Improve trace macros.
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).
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.
relan [Tue, 25 Dec 2012 16:55:13 +0000 (16:55 +0000)]
Fix exfat_generic_pwrite().
It should return -1 on error, not -errno.
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.
relan [Wed, 19 Dec 2012 06:19:14 +0000 (06:19 +0000)]
Check compiler presense in SConscript.
relan [Tue, 18 Dec 2012 18:42:39 +0000 (18:42 +0000)]
Check size of off_t type in SConscript.
relan [Tue, 18 Dec 2012 18:17:01 +0000 (18:17 +0000)]
Do not configure when cleaning.
relan [Tue, 18 Dec 2012 18:06:17 +0000 (18:06 +0000)]
Remove symlinks on cleaning the install alias.
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.
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).
relan [Wed, 12 Dec 2012 19:16:42 +0000 (19:16 +0000)]
Use bool type.
relan [Wed, 12 Dec 2012 19:14:36 +0000 (19:14 +0000)]
OS X: correctly detect device size.
relan [Tue, 11 Dec 2012 16:46:55 +0000 (16:46 +0000)]
Rename exfat_mode() to exfat_get_mode().
relan [Tue, 11 Dec 2012 16:45:27 +0000 (16:45 +0000)]
Remove extra include.
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.
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.
relan [Sat, 8 Dec 2012 11:51:34 +0000 (11:51 +0000)]
Use bool type.
relan [Sat, 8 Dec 2012 11:46:15 +0000 (11:46 +0000)]
OS X: set deployment target to Mac OS X 10.5 Leopard.
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.
relan [Tue, 4 Dec 2012 18:34:01 +0000 (18:34 +0000)]
Refactor device access mode handling.
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).
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.
relan [Sun, 25 Nov 2012 12:03:51 +0000 (12:03 +0000)]
Improve invalid clusters handling.
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.
relan [Sun, 28 Oct 2012 15:14:25 +0000 (15:14 +0000)]
Improve error handling.
relan [Thu, 9 Aug 2012 17:09:46 +0000 (17:09 +0000)]
Bump version to 0.9.8 and update changelog.
relan [Sat, 9 Jun 2012 18:32:49 +0000 (18:32 +0000)]
Avoid integer truncation.
relan [Sat, 9 Jun 2012 18:28:22 +0000 (18:28 +0000)]
Fix erasing of label buffer.
relan [Sat, 2 Jun 2012 06:14:13 +0000 (06:14 +0000)]
The new mkfs rewritten in more declarative style.
relan [Fri, 18 May 2012 16:05:13 +0000 (16:05 +0000)]
Explicitly require C99 and define _GNU_SOURCE.
This enables all needed functions.
relan [Fri, 18 May 2012 15:52:30 +0000 (15:52 +0000)]
Define FUSE_USE_VERSION only before inclusion of fuse.h.
No need to define it globally.
relan [Fri, 18 May 2012 15:45:38 +0000 (15:45 +0000)]
Fix _FILE_OFFSET_BITS check: it can be not defined at all.
relan [Fri, 18 May 2012 15:42:49 +0000 (15:42 +0000)]
Update copyright years in SConscript.
relan [Thu, 17 May 2012 16:32:08 +0000 (16:32 +0000)]
Respect CPPFLAGS environment variable in SConscript.
Signed-off-by: Sven Hoexter <sven@timegate.de>
relan [Mon, 14 May 2012 17:24:02 +0000 (17:24 +0000)]
Fix handling of characters beyond BMP.
UTF-16 surrogate pairs encode Unicode character minus 0x10000.
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
relan [Mon, 7 May 2012 07:32:43 +0000 (07:32 +0000)]
Fix file name in heading.
relan [Tue, 1 May 2012 09:46:02 +0000 (09:46 +0000)]
Update copyright years.
relan [Tue, 3 Apr 2012 17:52:49 +0000 (17:52 +0000)]
Echo messages to syslog only if stderr is not attached to terminal.
relan [Mon, 19 Mar 2012 17:27:34 +0000 (17:27 +0000)]
Suggest valid cluster size if user specified too small value.