OSDN Git Service

android-x86/external-exfat.git
14 years agoImplemented unlink and rmdir in FUSE driver.
resver [Sat, 28 Nov 2009 18:08:24 +0000 (18:08 +0000)]
Implemented unlink and rmdir in FUSE driver.

git-svn-id: http://exfat.googlecode.com/svn/trunk@62 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoImplemented unlink and rmdir in libexfat.
resver [Sat, 28 Nov 2009 18:07:02 +0000 (18:07 +0000)]
Implemented unlink and rmdir in libexfat.

git-svn-id: http://exfat.googlecode.com/svn/trunk@61 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded function that calculates UTF-16 string length (will be used in future).
resver [Sat, 28 Nov 2009 17:47:15 +0000 (17:47 +0000)]
Added function that calculates UTF-16 string length (will be used in future).

git-svn-id: http://exfat.googlecode.com/svn/trunk@60 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed node flush: consider contiguous flag of the directory when moving to the next...
resver [Sat, 28 Nov 2009 17:40:45 +0000 (17:40 +0000)]
Fixed node flush: consider contiguous flag of the directory when moving to the next subentry.

git-svn-id: http://exfat.googlecode.com/svn/trunk@59 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded pointer to parent for each node.
resver [Sat, 28 Nov 2009 17:22:40 +0000 (17:22 +0000)]
Added pointer to parent for each node.

git-svn-id: http://exfat.googlecode.com/svn/trunk@58 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoRenamed nextent() function to fetch_next_entry().
resver [Sat, 28 Nov 2009 17:13:07 +0000 (17:13 +0000)]
Renamed nextent() function to fetch_next_entry().

git-svn-id: http://exfat.googlecode.com/svn/trunk@57 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded install target to SConscript.
resver [Fri, 27 Nov 2009 17:53:27 +0000 (17:53 +0000)]
Added install target to SConscript.

git-svn-id: http://exfat.googlecode.com/svn/trunk@56 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoRepresent directory entry address as cluster + offset within this cluster.
resver [Tue, 24 Nov 2009 20:22:24 +0000 (20:22 +0000)]
Represent directory entry address as cluster + offset within this cluster.

git-svn-id: http://exfat.googlecode.com/svn/trunk@55 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed directory contents reading: it failed if directory occupied more than 1 cluster...
resver [Tue, 17 Nov 2009 19:56:37 +0000 (19:56 +0000)]
Fixed directory contents reading: it failed if directory occupied more than 1 cluster and an entry in it was aligned on at cluster boundary.

git-svn-id: http://exfat.googlecode.com/svn/trunk@54 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded FUSE debug option (-d).
resver [Sun, 15 Nov 2009 16:26:54 +0000 (16:26 +0000)]
Added FUSE debug option (-d).

git-svn-id: http://exfat.googlecode.com/svn/trunk@53 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoUpdate mtime on each write.
resver [Sun, 15 Nov 2009 16:19:42 +0000 (16:19 +0000)]
Update mtime on each write.

git-svn-id: http://exfat.googlecode.com/svn/trunk@52 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoRemoved non-existent functions declarations.
resver [Sat, 14 Nov 2009 19:57:20 +0000 (19:57 +0000)]
Removed non-existent functions declarations.

git-svn-id: http://exfat.googlecode.com/svn/trunk@51 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFlush clusters bitmap on file close instead of flushing on each cluster allocation...
resver [Sat, 14 Nov 2009 19:53:44 +0000 (19:53 +0000)]
Flush clusters bitmap on file close instead of flushing on each cluster allocation and deallocation.

git-svn-id: http://exfat.googlecode.com/svn/trunk@50 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFlush node on close instead of flushing on each node modification.
resver [Sat, 14 Nov 2009 19:22:12 +0000 (19:22 +0000)]
Flush node on close instead of flushing on each node modification.

git-svn-id: http://exfat.googlecode.com/svn/trunk@49 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoPass struct exfat to exfat_put_node() function (will be used in future).
resver [Sat, 14 Nov 2009 18:56:40 +0000 (18:56 +0000)]
Pass struct exfat to exfat_put_node() function (will be used in future).

git-svn-id: http://exfat.googlecode.com/svn/trunk@48 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded node clusters check in fsck.
resver [Wed, 11 Nov 2009 18:14:09 +0000 (18:14 +0000)]
Added node clusters check in fsck.

git-svn-id: http://exfat.googlecode.com/svn/trunk@47 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded directory size verification on node creation.
resver [Mon, 9 Nov 2009 19:16:32 +0000 (19:16 +0000)]
Added directory size verification on node creation.

git-svn-id: http://exfat.googlecode.com/svn/trunk@46 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoRemember recently used cluster of each node. This improves sequential read and write...
resver [Mon, 9 Nov 2009 18:58:50 +0000 (18:58 +0000)]
Remember recently used cluster of each node. This improves sequential read and write speed.

git-svn-id: http://exfat.googlecode.com/svn/trunk@45 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoImproved clusters allocation algorithm: now it attempts to allocate cluster right...
resver [Sat, 7 Nov 2009 09:54:36 +0000 (09:54 +0000)]
Improved clusters allocation algorithm: now it attempts to allocate cluster right after the previous one to keep a file contiguous.

git-svn-id: http://exfat.googlecode.com/svn/trunk@44 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoImproved find_bit_and_set() function: now it scans a range of bits.
resver [Sat, 7 Nov 2009 09:39:19 +0000 (09:39 +0000)]
Improved find_bit_and_set() function: now it scans a range of bits.

git-svn-id: http://exfat.googlecode.com/svn/trunk@43 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed clusters bitmap handling: it starts from cluster 2, not 0.
resver [Fri, 6 Nov 2009 19:36:26 +0000 (19:36 +0000)]
Fixed clusters bitmap handling: it starts from cluster 2, not 0.

git-svn-id: http://exfat.googlecode.com/svn/trunk@42 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoErase struct exfat on mount to avoid uninitialized data use in case of errors.
resver [Thu, 5 Nov 2009 20:19:03 +0000 (20:19 +0000)]
Erase struct exfat on mount to avoid uninitialized data use in case of errors.

git-svn-id: http://exfat.googlecode.com/svn/trunk@41 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoImplemented existing files writing in FUSE driver.
resver [Sat, 31 Oct 2009 18:21:29 +0000 (18:21 +0000)]
Implemented existing files writing in FUSE driver.

git-svn-id: http://exfat.googlecode.com/svn/trunk@40 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoImplemented existing files writing in libexfat.
resver [Sat, 31 Oct 2009 18:20:49 +0000 (18:20 +0000)]
Implemented existing files writing in libexfat.

git-svn-id: http://exfat.googlecode.com/svn/trunk@39 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoImplemented checksum verification on node creation.
resver [Sat, 31 Oct 2009 08:44:47 +0000 (08:44 +0000)]
Implemented checksum verification on node creation.

git-svn-id: http://exfat.googlecode.com/svn/trunk@38 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded checksum calculation functions.
resver [Sat, 31 Oct 2009 08:36:23 +0000 (08:36 +0000)]
Added checksum calculation functions.

git-svn-id: http://exfat.googlecode.com/svn/trunk@37 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoMoved MIN macro to header to be used by other units.
resver [Fri, 30 Oct 2009 20:27:58 +0000 (20:27 +0000)]
Moved MIN macro to header to be used by other units.

git-svn-id: http://exfat.googlecode.com/svn/trunk@36 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoShow in fsck only percentage of used space instead of absolute used and free space...
resver [Thu, 29 Oct 2009 20:11:08 +0000 (20:11 +0000)]
Show in fsck only percentage of used space instead of absolute used and free space values because they cannot be calculated accurately.

git-svn-id: http://exfat.googlecode.com/svn/trunk@35 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoPass pointer to a node to exfat_next_cluster() and exfat_advance_cluster() for simpli...
resver [Mon, 26 Oct 2009 19:51:10 +0000 (19:51 +0000)]
Pass pointer to a node to exfat_next_cluster() and exfat_advance_cluster() for simplicity.

git-svn-id: http://exfat.googlecode.com/svn/trunk@34 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoRemoved separate field for the root directory size since this is a part of root node.
resver [Mon, 26 Oct 2009 19:46:21 +0000 (19:46 +0000)]
Removed separate field for the root directory size since this is a part of root node.

git-svn-id: http://exfat.googlecode.com/svn/trunk@33 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoPermitted write in libexfat.
resver [Sat, 24 Oct 2009 07:20:49 +0000 (07:20 +0000)]
Permitted write in libexfat.

git-svn-id: http://exfat.googlecode.com/svn/trunk@32 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoMoved mount and unmount functions into separate file.
resver [Thu, 22 Oct 2009 18:47:23 +0000 (18:47 +0000)]
Moved mount and unmount functions into separate file.

git-svn-id: http://exfat.googlecode.com/svn/trunk@31 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoImplemented nodes cache (in-core directories structure representation). This is a...
resver [Thu, 22 Oct 2009 18:38:01 +0000 (18:38 +0000)]
Implemented nodes cache (in-core directories structure representation). This is a prerequisite for write support and further performance improvements.

git-svn-id: http://exfat.googlecode.com/svn/trunk@30 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed integer overflow in fsck (incorrect volume size was printed for big volumes).
resver [Sun, 18 Oct 2009 07:38:24 +0000 (07:38 +0000)]
Fixed integer overflow in fsck (incorrect volume size was printed for big volumes).

git-svn-id: http://exfat.googlecode.com/svn/trunk@29 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded clean up on FUSE module shutdown.
resver [Sun, 11 Oct 2009 16:23:41 +0000 (16:23 +0000)]
Added clean up on FUSE module shutdown.

git-svn-id: http://exfat.googlecode.com/svn/trunk@28 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed crash in FUSE module on shutdown.
resver [Sun, 11 Oct 2009 15:36:57 +0000 (15:36 +0000)]
Fixed crash in FUSE module on shutdown.

git-svn-id: http://exfat.googlecode.com/svn/trunk@27 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoMade get_comp() static because it is used only in one module.
resver [Sun, 11 Oct 2009 15:00:15 +0000 (15:00 +0000)]
Made get_comp() static because it is used only in one module.

git-svn-id: http://exfat.googlecode.com/svn/trunk@26 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed debug output in fsck.
resver [Mon, 5 Oct 2009 17:42:08 +0000 (17:42 +0000)]
Fixed debug output in fsck.

git-svn-id: http://exfat.googlecode.com/svn/trunk@25 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoImplemented dynamic nodes allocation.
resver [Mon, 5 Oct 2009 17:35:56 +0000 (17:35 +0000)]
Implemented dynamic nodes allocation.

git-svn-id: http://exfat.googlecode.com/svn/trunk@24 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoUse exfat_get_name() to get file name in fuse_exfat_readdir().
resver [Sun, 4 Oct 2009 17:02:50 +0000 (17:02 +0000)]
Use exfat_get_name() to get file name in fuse_exfat_readdir().

git-svn-id: http://exfat.googlecode.com/svn/trunk@23 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded function that converts Unix time to exFAT time. Unfortunately Earth rotation...
resver [Fri, 2 Oct 2009 16:40:45 +0000 (16:40 +0000)]
Added function that converts Unix time to exFAT time. Unfortunately Earth rotation period is about 365 1/4 days, not 256 (for example). That is why this code is so complicated.

git-svn-id: http://exfat.googlecode.com/svn/trunk@22 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded macro that checks whether year is leap. Only XX and XXI centuries are considere...
resver [Fri, 2 Oct 2009 16:15:31 +0000 (16:15 +0000)]
Added macro that checks whether year is leap. Only XX and XXI centuries are considered, so the check is simplified.

git-svn-id: http://exfat.googlecode.com/svn/trunk@21 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded macro that calculates leap years count passed from exFAT epoch.
resver [Fri, 2 Oct 2009 15:45:08 +0000 (15:45 +0000)]
Added macro that calculates leap years count passed from exFAT epoch.

git-svn-id: http://exfat.googlecode.com/svn/trunk@20 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoRemoved commented out debug code.
resver [Fri, 2 Oct 2009 15:34:12 +0000 (15:34 +0000)]
Removed commented out debug code.

git-svn-id: http://exfat.googlecode.com/svn/trunk@19 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoSplitted EPOCH_DIFF_SEC macro into two macros for simplicity.
resver [Fri, 2 Oct 2009 15:30:55 +0000 (15:30 +0000)]
Splitted EPOCH_DIFF_SEC macro into two macros for simplicity.

git-svn-id: http://exfat.googlecode.com/svn/trunk@18 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed leap days accounting while converting time from exFAT to Unix format.
resver [Thu, 1 Oct 2009 18:24:15 +0000 (18:24 +0000)]
Fixed leap days accounting while converting time from exFAT to Unix format.

git-svn-id: http://exfat.googlecode.com/svn/trunk@17 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoUse timezone variable instead of gettimeofday() because the latter is obsolete.
resver [Thu, 1 Oct 2009 18:05:41 +0000 (18:05 +0000)]
Use timezone variable instead of gettimeofday() because the latter is obsolete.

git-svn-id: http://exfat.googlecode.com/svn/trunk@16 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded parentheses to macro definition.
resver [Thu, 1 Oct 2009 17:56:35 +0000 (17:56 +0000)]
Added parentheses to macro definition.

git-svn-id: http://exfat.googlecode.com/svn/trunk@15 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoUse positive time shift for simplicity.
resver [Wed, 30 Sep 2009 08:57:33 +0000 (08:57 +0000)]
Use positive time shift for simplicity.

git-svn-id: http://exfat.googlecode.com/svn/trunk@14 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed time conversion from exFAT to Unix format (exfat_exfat2unix() added extra day).
resver [Wed, 30 Sep 2009 08:55:10 +0000 (08:55 +0000)]
Fixed time conversion from exFAT to Unix format (exfat_exfat2unix() added extra day).

git-svn-id: http://exfat.googlecode.com/svn/trunk@13 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoRepresent zero (i.e. 1 Jan 1970) atime and mtime for the root directory (as Linux...
resver [Mon, 28 Sep 2009 09:25:48 +0000 (09:25 +0000)]
Represent zero (i.e. 1 Jan 1970) atime and mtime for the root directory (as Linux does) instead of senseless mount time.

git-svn-id: http://exfat.googlecode.com/svn/trunk@12 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoCalculate root directory size and represent it.
resver [Mon, 28 Sep 2009 09:20:03 +0000 (09:20 +0000)]
Calculate root directory size and represent it.

git-svn-id: http://exfat.googlecode.com/svn/trunk@11 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoPath parsing cleanup: now only path component length is limited to 256 chars (this...
resver [Mon, 28 Sep 2009 08:56:07 +0000 (08:56 +0000)]
Path parsing cleanup: now only path component length is limited to 256 chars (this is exFAT limitation), not the whole path.

git-svn-id: http://exfat.googlecode.com/svn/trunk@10 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoFixed integer underflow in compare_char().
resver [Mon, 28 Sep 2009 08:45:26 +0000 (08:45 +0000)]
Fixed integer underflow in compare_char().

git-svn-id: http://exfat.googlecode.com/svn/trunk@9 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoRemoved char substraction from compare_name(); char comparison logic must be in compa...
resver [Mon, 28 Sep 2009 08:40:30 +0000 (08:40 +0000)]
Removed char substraction from compare_name(); char comparison logic must be in compare_char().

git-svn-id: http://exfat.googlecode.com/svn/trunk@8 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoReturn error if entry type is unrecognized.
resver [Fri, 18 Sep 2009 16:00:29 +0000 (16:00 +0000)]
Return error if entry type is unrecognized.

git-svn-id: http://exfat.googlecode.com/svn/trunk@7 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded check for label entry.
resver [Thu, 17 Sep 2009 19:16:25 +0000 (19:16 +0000)]
Added check for label entry.

git-svn-id: http://exfat.googlecode.com/svn/trunk@6 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded checks for clusters bitmap entry.
resver [Thu, 17 Sep 2009 19:07:45 +0000 (19:07 +0000)]
Added checks for clusters bitmap entry.

git-svn-id: http://exfat.googlecode.com/svn/trunk@5 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoUse exfat_read_raw() instead of high-level exfat_read() to read upcase table. This...
resver [Thu, 17 Sep 2009 18:58:24 +0000 (18:58 +0000)]
Use exfat_read_raw() instead of high-level exfat_read() to read upcase table. This eliminates initialization of node structure on upcase table reading.

git-svn-id: http://exfat.googlecode.com/svn/trunk@4 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoAdded check of malloc() return value.
resver [Thu, 17 Sep 2009 18:50:06 +0000 (18:50 +0000)]
Added check of malloc() return value.

git-svn-id: http://exfat.googlecode.com/svn/trunk@3 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoInitial check in.
resver [Mon, 14 Sep 2009 18:44:13 +0000 (18:44 +0000)]
Initial check in.

git-svn-id: http://exfat.googlecode.com/svn/trunk@2 60bc1c72-a15a-11de-b98f-4500b42dc123

14 years agoInitial directory structure.
(no author) [Mon, 14 Sep 2009 18:14:01 +0000 (18:14 +0000)]
Initial directory structure.

git-svn-id: http://exfat.googlecode.com/svn/trunk@1 60bc1c72-a15a-11de-b98f-4500b42dc123