OSDN Git Service
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.
relan [Tue, 24 Mar 2015 20:46:39 +0000 (00:46 +0400)]
Add "create" FUSE operation.
It is required by FreeBSD FUSE implementation.
relan [Sat, 7 Feb 2015 08:40:06 +0000 (11:40 +0300)]
Create README.md.
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>
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>
relan [Mon, 10 Nov 2014 21:17:12 +0000 (21:17 +0000)]
Fix heap corruption: bitmap_size is in bits, not bytes.
relan [Tue, 8 Jul 2014 13:31:50 +0000 (13:31 +0000)]
Bump version to 1.1.0 and update changelog.
relan [Tue, 8 Jul 2014 12:54:13 +0000 (12:54 +0000)]
Update copyright years.
relan [Tue, 8 Jul 2014 12:27:54 +0000 (12:27 +0000)]
Use bool type in fetch_next_entry().
relan [Tue, 8 Jul 2014 12:17:52 +0000 (12:17 +0000)]
Use bool type in verify_vbr_checksum().
relan [Tue, 8 Jul 2014 12:05:07 +0000 (12:05 +0000)]
Rename real_size to valid_size and add comment about this field.
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>
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.
relan [Sun, 1 Jun 2014 19:48:03 +0000 (19:48 +0000)]
Fix opening of a regular file (broken in r403).
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.
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.
relan [Wed, 7 May 2014 19:24:54 +0000 (19:24 +0000)]
Fix memory leak on error path when clusters bitmap writing fails.
relan [Wed, 7 May 2014 19:22:56 +0000 (19:22 +0000)]
Fix potential garbage at the end of clusters bitmap.
relan [Sun, 4 May 2014 16:42:07 +0000 (16:42 +0000)]
Fix negative IUsed in "df -i" output.
relan [Tue, 22 Apr 2014 17:44:25 +0000 (17:44 +0000)]
Fix nodes flush on FUSE implementations that do not call flush().
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>
relan [Tue, 8 Apr 2014 04:21:21 +0000 (04:21 +0000)]
Handle I/O errors in exfat_put_node().
relan [Sun, 23 Feb 2014 11:23:55 +0000 (11:23 +0000)]
Check device size on mount.
relan [Sun, 23 Feb 2014 10:41:29 +0000 (10:41 +0000)]
Validate VBR checksum before other checks.
relan [Thu, 20 Feb 2014 17:40:28 +0000 (17:40 +0000)]
Fix missing node put on error paths.
relan [Sat, 18 Jan 2014 07:36:44 +0000 (07:36 +0000)]
Fix return value from exfat_rename().
relan [Sat, 18 Jan 2014 07:35:26 +0000 (07:35 +0000)]
Fix memory use after free on error paths.
relan [Wed, 15 Jan 2014 17:08:11 +0000 (17:08 +0000)]
Fix compilation on OpenBSD.
Signed-off-by: Helg Bredow <xx404@msn.com>
relan [Mon, 13 Jan 2014 07:17:47 +0000 (07:17 +0000)]
Add OpenBSD support.
Signed-off-by: Helg Bredow <xx404@msn.com>
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>
relan [Mon, 11 Nov 2013 20:09:57 +0000 (20:09 +0000)]
Relax node size check. This fixes pagefile.sys error.
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.