Michael Sevakis
a56f1ca1ed
Cleanup MV/MD macros a little.
...
When using variadic macros there's no need for IF_MD2/IF_MV2 to deal
with function parameters. IF_MD/IF_MV are enough.
Throw in IF_MD_DRV/ID_MV_VOL that return the parameter if MD/MV, or 0
if not.
Change-Id: I7605e6039f3be19cb47110c84dcb3c5516f2c3eb
2013-08-17 12:18:22 -04:00
Michael Sparmann
1b5e31ed43
iPod Classic CE-ATA Support (Part 2 of 4: Remove on-stack sector buffers, and replace them with a single statically allocated sector buffer that's arbitrated amongst users)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29445 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 22:44:54 +00:00
Michael Sparmann
751303c2ac
iPod Classic CE-ATA Support (Part 1 of 4: Cacheline align some statically allocated sector buffers)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29444 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 22:44:30 +00:00
Michael Sparmann
7fea136903
Autodetect sector size on superfloppy volumes based on the FAT32 BPB (kudos to Frank Gevaerts)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28946 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 22:28:22 +00:00
Amaury Pouly
a8137252a5
FS#11118: reduce the number of cached sector in FAT code because some are useless after a rewrite of LFN entries handling. Also makes LFN handling more robust.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25290 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 10:35:25 +00:00
Amaury Pouly
26c0e753d1
Rewrite dircache generation to take advantage for the FAT code. Reduce RAM usage by ~30Kb and binsize by at least several hundreds bytes. Also remove the directory depth limit of dircache.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24657 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 19:09:52 +00:00
Dave Chapman
14eb02d347
Patch #1 from FS#10633 (Nano 2G developments) by Michael Sparmann - Allows targets to set a different sector size than 512 for the storage system. Should not affect any other target.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22874 a1c6a512-1295-4272-9138-f99709370657
2009-10-02 16:41:55 +00:00
Frank Gevaerts
c0a5a67387
Commit FS#9545, storage cleanup and multi-driver support
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21933 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 22:28:49 +00:00
Frank Gevaerts
2f8a0081c6
Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*.
...
This should be a good first step to allow multi-driver targets, like the Elio (ATA/SD), or the D2 (NAND/SD).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18960 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 16:14:28 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Michael Sevakis
06a5299aff
Do some crackdown on kernel object reinitialization after they could be in use and use before initialization. For c200/e200: Be sure fat cache and ata locks are acquired in the proper order during hot swapping. Delay hotswap monitoring until after initial file mounting (address 2nd kobj concern + possible call of fat driver before init).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16636 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 10:03:52 +00:00
Nils Wallménius
e53e67014f
Remove unused code, make comments c-style, make one private function static
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12480 a1c6a512-1295-4272-9138-f99709370657
2007-02-25 15:44:55 +00:00
Linus Nielsen Feltzing
ca91b679a5
Reverting the FAT32 driver change - it seems to have introduced a bug
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12152 a1c6a512-1295-4272-9138-f99709370657
2007-01-29 23:35:21 +00:00
Linus Nielsen Feltzing
0f03e3af31
Changed fat_getnext():
...
1) Fixed a bug where really long filenames could be messed up if they spanned 3 sectors
2) Now uses 2 buffers instead of 3, without copying the buffers with memcpy()
3) Can now use aligned sector reads, first step towards iPod 5.5G 80GB
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12151 a1c6a512-1295-4272-9138-f99709370657
2007-01-29 22:26:16 +00:00
Jens Arnold
ef3e129b65
Much simpler implementation of large virtual sector support, not needing larger sector buffers and not touching file.c at all. secmult is simply used to normalize all sector counts to 512-byte physical sectors. * Moved MAX_SECTOR_SIZE definition to config-*.h, and enabled it for iPod Video only. MAX_SECTOR_SIZE now only enables checking for alternate disk layouts due to sector size (as iPod Video G5.5 is presented as having 2048-byte _physical_ sectors to the PC). Large virtual sector support in fat.c is always enabled.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11659 a1c6a512-1295-4272-9138-f99709370657
2006-12-04 21:37:22 +00:00
Miika Pekkarinen
ae66c2b9ee
Add support (runtime detection) for 2048 bytes/sector filesystem.
...
Large sectors are enabled for iPod Video (including 5.5G) only. Might
still cause FS corruption (however, unlikely), so beware! Based on
FS#6169 by Robert Carboneau.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11651 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 18:12:19 +00:00
Rani Hod
8630f072e9
Applied FS# 5736 by Alexander Levin.
...
Fixed fat buffer overflow with LFNs longer than 255 bytes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10389 a1c6a512-1295-4272-9138-f99709370657
2006-07-31 22:59:45 +00:00
Jean-Philippe Bernardy
5da99ed570
long policy
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6071 a1c6a512-1295-4272-9138-f99709370657
2005-02-26 21:18:05 +00:00
Jean-Philippe Bernardy
fc19445ba0
more long policy
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6065 a1c6a512-1295-4272-9138-f99709370657
2005-02-25 18:50:16 +00:00
Jean-Philippe Bernardy
36b8e13f47
int -> long where needed
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5642 a1c6a512-1295-4272-9138-f99709370657
2005-01-23 23:20:40 +00:00
Jörg Hohensohn
7414687c58
unmount function in preparation for MMC hotswap, more mutexing
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5536 a1c6a512-1295-4272-9138-f99709370657
2005-01-05 00:09:04 +00:00
Jens Arnold
316ae187aa
Correct handling of FAT16 root directory when it does not start on a pseudo cluster boundary. Fixed some places where the cluster number can become negative. Significant code cleanup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5527 a1c6a512-1295-4272-9138-f99709370657
2005-01-03 07:59:49 +00:00
Jörg Hohensohn
da84857631
prepared to mount multiple partitions into one logical file system (most useful for Ondio, internal memory + external MMC)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5514 a1c6a512-1295-4272-9138-f99709370657
2004-12-28 22:16:07 +00:00
Linus Nielsen Feltzing
e0e0140f4e
Bug fix: renaming a directory could cause a name clash. New feature: rename() can now move files/directories as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5008 a1c6a512-1295-4272-9138-f99709370657
2004-08-22 11:28:24 +00:00
Jens Arnold
0ceaa5e365
Const policed pointer arguments to functions, part 2
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4996 a1c6a512-1295-4272-9138-f99709370657
2004-08-17 01:45:48 +00:00
Linus Nielsen Feltzing
bc9397d1fa
New function: rmdir(). Also some changes in the fat code, to track the parent directory in opendir(), to be able to delete directories
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4509 a1c6a512-1295-4272-9138-f99709370657
2004-04-16 08:58:29 +00:00
Linus Nielsen Feltzing
ef1698e648
Added cluster size to the disk debug screen
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4469 a1c6a512-1295-4272-9138-f99709370657
2004-04-06 00:17:02 +00:00
Linus Nielsen Feltzing
60b1c4bbe1
Implemented the mkdir() function in the FAT32 driver
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4238 a1c6a512-1295-4272-9138-f99709370657
2004-01-15 14:30:59 +00:00
Hardeep Sidhu
fc9b28d0a9
Small seek optimization -- begin seek at last read cluster if possible
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3720 a1c6a512-1295-4272-9138-f99709370657
2003-06-03 18:04:22 +00:00
Daniel Stenberg
e597ca4732
Move publicly (from apps) accessed files from drivers/ to export/.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3219 a1c6a512-1295-4272-9138-f99709370657
2003-02-07 10:08:02 +00:00