[ftpii] r298 committed - More NTFS support - mount NTFS at startup

4 views
Skip to first unread message

ft...@googlecode.com

unread,
Feb 21, 2010, 5:39:04 AM2/21/10
to ftpii-...@googlegroups.com
Revision: 298
Author: joe.g...@psychlaw.com.au
Date: Sun Feb 21 02:38:33 2010
Log: More NTFS support - mount NTFS at startup

http://code.google.com/p/ftpii/source/detail?r=298

Modified:
/branches/0.0.21/source/fs.c

=======================================
--- /branches/0.0.21/source/fs.c Sun Feb 14 02:39:08 2010
+++ /branches/0.0.21/source/fs.c Sun Feb 21 02:38:33 2010
@@ -125,14 +125,6 @@
}
return already_inserted != partition->inserted;
}
-
-static bool fat_initialised = false;
-
-static bool initialise_fat() {
- if (fat_initialised) return true;
- if (fatInit(CACHE_PAGES, false)) fat_initialised = true;
- return fat_initialised;
-}

typedef enum { MOUNTSTATE_START, MOUNTSTATE_SELECTDEVICE,
MOUNTSTATE_WAITFORDEVICE } mountstate_t;
static mountstate_t mountstate = MOUNTSTATE_START;
@@ -159,18 +151,16 @@
} else if (is_fat(partition)) {
bool retry_gecko = true;
gecko_retry:
- if (partition->disc->shutdown() & partition->disc->startup()) {
- if (!fat_initialised) {
- if (initialise_fat()) success = mounted(partition);
- } else if (fatMount(partition->mount_point, partition->disc,
0, CACHE_PAGES, CACHE_SECTORS_PER_PAGE)) {
+ if ((partition == PA_USB || partition->disc->shutdown()) &
partition->disc->startup()) {
+ if (fatMount(partition->mount_point, partition->disc, 0,
CACHE_PAGES, CACHE_SECTORS_PER_PAGE)) {
success = true;
} else {
- sec_t *partitions;
+ sec_t *partitions = NULL;
int partition_count = ntfsFindPartitions(partition->disc,
&partitions);
if (partition_count > 0 &&
ntfsMount(partition->mount_point, partition->disc, partitions[0],
CACHE_PAGES, CACHE_SECTORS_PER_PAGE, NTFS_SU)) {
success = true;
}
- free(partitions);
+ if (partitions) free(partitions);
}
} else if (is_gecko(partition) && retry_gecko) {
retry_gecko = false;
@@ -319,7 +309,6 @@
SEEPROM_Mount();
ISFS_SU();
if (ISFS_Initialize() == IPC_OK) ISFS_Mount();
- initialise_fat();
}

/*

Reply all
Reply to author
Forward
0 new messages