OSDN Git Service

android-x86/external-exfat.git
9 years agoAdd function that calculates UTF-16 string length.
relan [Sat, 28 Nov 2009 17:47:15 +0000 (17:47 +0000)]
Add function that calculates UTF-16 string length.

It will be used in future.

9 years agoFix node flush.
relan [Sat, 28 Nov 2009 17:40:45 +0000 (17:40 +0000)]
Fix node flush.

Consider contiguous flag of the directory when moving to the next
subentry.

9 years agoAdd pointer to parent for each node.
relan [Sat, 28 Nov 2009 17:22:40 +0000 (17:22 +0000)]
Add pointer to parent for each node.

9 years agoRename nextent() function to fetch_next_entry().
relan [Sat, 28 Nov 2009 17:13:07 +0000 (17:13 +0000)]
Rename nextent() function to fetch_next_entry().

9 years agoAdd install target to SConscript.
relan [Fri, 27 Nov 2009 17:53:27 +0000 (17:53 +0000)]
Add install target to SConscript.

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

The offset is within this particular cluster.

9 years agoFix directory contents reading.
relan [Tue, 17 Nov 2009 19:56:37 +0000 (19:56 +0000)]
Fix directory contents reading.

It failed if directory occupied more than 1 cluster and an entry in it
was aligned on at cluster boundary.

9 years agoAdd FUSE debug option (-d).
relan [Sun, 15 Nov 2009 16:26:54 +0000 (16:26 +0000)]
Add FUSE debug option (-d).

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

9 years agoRemove non-existent functions declarations.
relan [Sat, 14 Nov 2009 19:57:20 +0000 (19:57 +0000)]
Remove non-existent functions declarations.

9 years agoFlush clusters bitmap on file close.
relan [Sat, 14 Nov 2009 19:53:44 +0000 (19:53 +0000)]
Flush clusters bitmap on file close.

It's more optimal than flushing on each cluster allocation and
deallocation.

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

9 years agoPass struct exfat to exfat_put_node() function.
relan [Sat, 14 Nov 2009 18:56:40 +0000 (18:56 +0000)]
Pass struct exfat to exfat_put_node() function.

It will be used in future.

9 years agoAdd node clusters check in fsck.
relan [Wed, 11 Nov 2009 18:14:09 +0000 (18:14 +0000)]
Add node clusters check in fsck.

9 years agoAdd directory size verification on node creation.
relan [Mon, 9 Nov 2009 19:16:32 +0000 (19:16 +0000)]
Add directory size verification on node creation.

9 years agoRemember recently used cluster of each node.
relan [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.

9 years agoImprove clusters allocation algorithm.
relan [Sat, 7 Nov 2009 09:54:36 +0000 (09:54 +0000)]
Improve clusters allocation algorithm.

Now it attempts to allocate cluster right after the previous one to keep
a file contiguous.

9 years agoImprove find_bit_and_set() function.
relan [Sat, 7 Nov 2009 09:39:19 +0000 (09:39 +0000)]
Improve find_bit_and_set() function.

Now it scans a range of bits.

9 years agoFix clusters bitmap handling: it starts from cluster 2, not 0.
relan [Fri, 6 Nov 2009 19:36:26 +0000 (19:36 +0000)]
Fix clusters bitmap handling: it starts from cluster 2, not 0.

9 years agoErase struct exfat on mount.
relan [Thu, 5 Nov 2009 20:19:03 +0000 (20:19 +0000)]
Erase struct exfat on mount.

This avoids uninitialized data use in case of errors.

9 years agoImplement existing files writing in FUSE driver.
relan [Sat, 31 Oct 2009 18:21:29 +0000 (18:21 +0000)]
Implement existing files writing in FUSE driver.

9 years agoImplement existing files writing in libexfat.
relan [Sat, 31 Oct 2009 18:20:49 +0000 (18:20 +0000)]
Implement existing files writing in libexfat.

9 years agoImplement checksum verification on node creation.
relan [Sat, 31 Oct 2009 08:44:47 +0000 (08:44 +0000)]
Implement checksum verification on node creation.

9 years agoAdd checksum calculation functions.
relan [Sat, 31 Oct 2009 08:36:23 +0000 (08:36 +0000)]
Add checksum calculation functions.

9 years agoMove MIN macro to header to be used by other units.
relan [Fri, 30 Oct 2009 20:27:58 +0000 (20:27 +0000)]
Move MIN macro to header to be used by other units.

9 years agoShow in fsck only percentage of used space.
relan [Thu, 29 Oct 2009 20:11:08 +0000 (20:11 +0000)]
Show in fsck only percentage of used space.

Absolute used and free space values cannot be calculated accurately.

9 years agoPass node to exfat_next_cluster() and exfat_advance_cluster().
relan [Mon, 26 Oct 2009 19:51:10 +0000 (19:51 +0000)]
Pass node to exfat_next_cluster() and exfat_advance_cluster().

9 years agoRemove separate field for the root directory size.
relan [Mon, 26 Oct 2009 19:46:21 +0000 (19:46 +0000)]
Remove separate field for the root directory size.

Root directory size is a part of the root node.

9 years agoEnable write in libexfat.
relan [Sat, 24 Oct 2009 07:20:49 +0000 (07:20 +0000)]
Enable write in libexfat.

9 years agoMove mount and unmount functions into separate file.
relan [Thu, 22 Oct 2009 18:47:23 +0000 (18:47 +0000)]
Move mount and unmount functions into separate file.

9 years agoImplement nodes cache (in-core directory structure representation).
relan [Thu, 22 Oct 2009 18:38:01 +0000 (18:38 +0000)]
Implement nodes cache (in-core directory structure representation).

This is a prerequisite for write support and further performance
improvements.

9 years agoFix integer overflow in fsck.
relan [Sun, 18 Oct 2009 07:38:24 +0000 (07:38 +0000)]
Fix integer overflow in fsck.

Incorrect volume size was printed for big volumes.

9 years agoAdd cleanup on FUSE module shutdown.
relan [Sun, 11 Oct 2009 16:23:41 +0000 (16:23 +0000)]
Add cleanup on FUSE module shutdown.

9 years agoFix crash in FUSE module on shutdown.
relan [Sun, 11 Oct 2009 15:36:57 +0000 (15:36 +0000)]
Fix crash in FUSE module on shutdown.

9 years agoMake get_comp() static because it is used only in one module.
relan [Sun, 11 Oct 2009 15:00:15 +0000 (15:00 +0000)]
Make get_comp() static because it is used only in one module.

9 years agoFix debug output in fsck.
relan [Mon, 5 Oct 2009 17:42:08 +0000 (17:42 +0000)]
Fix debug output in fsck.

9 years agoImplement dynamic nodes allocation.
relan [Mon, 5 Oct 2009 17:35:56 +0000 (17:35 +0000)]
Implement dynamic nodes allocation.

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

9 years agoAdd function that converts Unix time to exFAT time.
relan [Fri, 2 Oct 2009 16:40:45 +0000 (16:40 +0000)]
Add 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.

9 years agoAdd macro that checks whether year is leap.
relan [Fri, 2 Oct 2009 16:15:31 +0000 (16:15 +0000)]
Add macro that checks whether year is leap.

Only XX and XXI centuries are considered, so the check is simplified.

9 years agoAdd macro that calculates leap years count passed from exFAT epoch.
relan [Fri, 2 Oct 2009 15:45:08 +0000 (15:45 +0000)]
Add macro that calculates leap years count passed from exFAT epoch.

9 years agoRemove commented out debug code.
relan [Fri, 2 Oct 2009 15:34:12 +0000 (15:34 +0000)]
Remove commented out debug code.

9 years agoSplit EPOCH_DIFF_SEC macro into two macros for simplicity.
relan [Fri, 2 Oct 2009 15:30:55 +0000 (15:30 +0000)]
Split EPOCH_DIFF_SEC macro into two macros for simplicity.

9 years agoFix leap days accounting.
relan [Thu, 1 Oct 2009 18:24:15 +0000 (18:24 +0000)]
Fix leap days accounting.

Fix conversion from exFAT to Unix time format.

9 years agoUse timezone variable instead of gettimeofday().
relan [Thu, 1 Oct 2009 18:05:41 +0000 (18:05 +0000)]
Use timezone variable instead of gettimeofday().

The latter is obsolete.

9 years agoAdd parentheses to macro definition.
relan [Thu, 1 Oct 2009 17:56:35 +0000 (17:56 +0000)]
Add parentheses to macro definition.

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

9 years agoFix time conversion from exFAT to Unix format.
relan [Wed, 30 Sep 2009 08:55:10 +0000 (08:55 +0000)]
Fix time conversion from exFAT to Unix format.

exfat_exfat2unix() erroneously added an extra day.

9 years agoFix atime and mtime for the root directory.
relan [Mon, 28 Sep 2009 09:25:48 +0000 (09:25 +0000)]
Fix atime and mtime for the root directory.

Set zero (i.e. 1 Jan 1970) atime and mtime for the root directory (as
Linux does) instead of senseless mount time.

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

9 years agoPath parsing cleanup.
relan [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.

9 years agoFix integer underflow in compare_char().
relan [Mon, 28 Sep 2009 08:45:26 +0000 (08:45 +0000)]
Fix integer underflow in compare_char().

9 years agoRemove char substraction from compare_name().
relan [Mon, 28 Sep 2009 08:40:30 +0000 (08:40 +0000)]
Remove char substraction from compare_name().

Char comparison logic must be in compare_char().

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

9 years agoAdd check for label entry.
relan [Thu, 17 Sep 2009 19:16:25 +0000 (19:16 +0000)]
Add check for label entry.

9 years agoAdd checks for clusters bitmap entry.
relan [Thu, 17 Sep 2009 19:07:45 +0000 (19:07 +0000)]
Add checks for clusters bitmap entry.

9 years agoUse exfat_read_raw() to read upcase table.
relan [Thu, 17 Sep 2009 18:58:24 +0000 (18:58 +0000)]
Use exfat_read_raw() to read upcase table.

This eliminates initialization of node structure on upcase table reading.

9 years agoAdd check of malloc() return value.
relan [Thu, 17 Sep 2009 18:50:06 +0000 (18:50 +0000)]
Add check of malloc() return value.

9 years agoInitial code drop.
relan [Mon, 14 Sep 2009 18:44:13 +0000 (18:44 +0000)]
Initial code drop.