summaryrefslogtreecommitdiff
path: root/firmware/common/file.c (unfollow)
Commit message (Collapse)Author
2006-12-04Much simpler implementation of large virtual sector support, not needing ↵Jens Arnold
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-03Add support (runtime detection) for 2048 bytes/sector filesystem.Miika Pekkarinen
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-05-16Update dircache startcluster at file close when writing. Fixes bug when ↵Hardeep Sidhu
creating small files (dircache startcluster remains 0 because fat write doesn't occur until close). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9950 a1c6a512-1295-4272-9138-f99709370657
2006-04-13Fixed the file renaming/removing issue with dircache enabled.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9649 a1c6a512-1295-4272-9138-f99709370657
2006-03-30Do the dircache operation first to block properly when necessary.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9356 a1c6a512-1295-4272-9138-f99709370657
2006-03-28Boost open() performance on platforms with dircache. Tagcache initialMiika Pekkarinen
scanning now over 50% faster than before. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9306 a1c6a512-1295-4272-9138-f99709370657
2006-03-02TAB policed.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8887 a1c6a512-1295-4272-9138-f99709370657
2006-03-02Change rename() to set errno to EXDEV if a rename is attempted across volumes.Dan Everton
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8883 a1c6a512-1295-4272-9138-f99709370657
2005-12-17More compact & straight-forward headbytes handling.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8255 a1c6a512-1295-4272-9138-f99709370657
2005-12-16Now the file corruption bug when reading & writing the same file isMiika Pekkarinen
hopefully fully fixed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8251 a1c6a512-1295-4272-9138-f99709370657
2005-12-13Fixed a file system driver caching bug corrupting files on certain situationsMiika Pekkarinen
(when reading and writing the same file). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8231 a1c6a512-1295-4272-9138-f99709370657
2005-10-07Implemented directory caching. No more waiting for disk to spin up whileMiika Pekkarinen
browsing when cache is enabled (system -> disk -> enable directory cache). Cache building on boot is transparent except the first boot. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7588 a1c6a512-1295-4272-9138-f99709370657
2005-01-28preparations for hotswapping MMCJörg Hohensohn
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5701 a1c6a512-1295-4272-9138-f99709370657
2005-01-23int -> long where neededJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5643 a1c6a512-1295-4272-9138-f99709370657
2004-12-28prepared to mount multiple partitions into one logical file system (most ↵Jörg Hohensohn
useful for Ondio, internal memory + external MMC) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5514 a1c6a512-1295-4272-9138-f99709370657
2004-11-17Bug fix: Do only flush the sector buffer after writing head bytes if it ↵Jens Arnold
really needs to be. The old code did flush always, causing the huge slowdown of fprintf() and other places writing byte-wise git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5413 a1c6a512-1295-4272-9138-f99709370657
2004-10-01void* can't be offset, gcc should not allows thisJörg Hohensohn
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5147 a1c6a512-1295-4272-9138-f99709370657
2004-09-06Bug fix: open() now handles O_TRUNC correctly (this was the real cause for ↵Jens Arnold
the .playlist_control corruption) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5048 a1c6a512-1295-4272-9138-f99709370657
2004-08-22Bug fix: renaming a directory could cause a name clash. New feature: ↵Linus Nielsen Feltzing
rename() can now move files/directories as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5008 a1c6a512-1295-4272-9138-f99709370657
2004-07-19The pathname argument for open() is declared const, so copy it has to be copiedJens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4894 a1c6a512-1295-4272-9138-f99709370657
2004-04-16No need to call fat_truncate() to delete the file, fat_remove() frees all ↵Linus Nielsen Feltzing
clusters anyway git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4508 a1c6a512-1295-4272-9138-f99709370657
2004-03-10You can't open() a directory as a file (at least not for writing)Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4359 a1c6a512-1295-4272-9138-f99709370657
2004-02-11Empty file/dir names are now rejected by open() and mkdir()Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4303 a1c6a512-1295-4272-9138-f99709370657
2003-12-08my take at fixing the simulator warnings by adding mode_t, size_t, ssize_tDaniel Stenberg
and off_t git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4116 a1c6a512-1295-4272-9138-f99709370657
2003-07-01Added dynamic playlists. ON+PLAY->Playlist on a track, directory, or ↵Hardeep Sidhu
playlist from file browser to see available options. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3796 a1c6a512-1295-4272-9138-f99709370657
2003-06-29Renamed flush() to fsync() to be more in line with POSIX/unixBjörn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3766 a1c6a512-1295-4272-9138-f99709370657
2003-06-19Slightly better handling of disk-full situationsLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3756 a1c6a512-1295-4272-9138-f99709370657
2003-04-15Update fileoffset and cacheoffset on error.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3556 a1c6a512-1295-4272-9138-f99709370657
2003-03-18Added the filesize() functionLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3473 a1c6a512-1295-4272-9138-f99709370657
2003-03-15Previous change broke read after seek. Reverted that change and added ↵Hardeep Sidhu
temporary fix in flush_cache to make sure we are on correct sector before writing to disk. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3448 a1c6a512-1295-4272-9138-f99709370657
2003-03-14Make sure we are on correct sector after lseek. This fixes the queue file ↵Hardeep Sidhu
corruption bug. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3443 a1c6a512-1295-4272-9138-f99709370657
2003-03-12flush_cache() failure should still return error.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3433 a1c6a512-1295-4272-9138-f99709370657
2003-03-12Bug fix: If head bytes were read but sector read failed, return head byte ↵Björn Stenberg
count instead of error. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3432 a1c6a512-1295-4272-9138-f99709370657
2003-03-10Killed compiling error on debug buildsLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3425 a1c6a512-1295-4272-9138-f99709370657
2003-03-10Killed a warningLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3423 a1c6a512-1295-4272-9138-f99709370657
2003-03-10Zagor added the flush() functionLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3416 a1c6a512-1295-4272-9138-f99709370657
2003-02-26rename() didn't close the file if the target name exists, and didn't return ↵Linus Nielsen Feltzing
a negative error code Enhanced the return codes to make it easier to track panics. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3340 a1c6a512-1295-4272-9138-f99709370657
2003-02-22Lame debug outputLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3322 a1c6a512-1295-4272-9138-f99709370657
2003-01-27Directories can now be renamed too.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3167 a1c6a512-1295-4272-9138-f99709370657
2003-01-24Remove use of rockbox-mode.el in local variables list.Mats Lidell
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3157 a1c6a512-1295-4272-9138-f99709370657
2002-12-19Use flush_cache() when writing headbytes to disk to make sure we are on the ↵Hardeep Sidhu
correct sector. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3023 a1c6a512-1295-4272-9138-f99709370657
2002-11-19Added rename()Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2857 a1c6a512-1295-4272-9138-f99709370657
2002-11-14Flush sector cache before truncating.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2849 a1c6a512-1295-4272-9138-f99709370657
2002-11-13creat() now includes the O_TRUNC flag.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2846 a1c6a512-1295-4272-9138-f99709370657
2002-11-11Cosmetic: Replaced dozens of openfiles[fd] with 'file' pointers.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2831 a1c6a512-1295-4272-9138-f99709370657
2002-11-11Bugfix: Flags work better when they're binary...Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2830 a1c6a512-1295-4272-9138-f99709370657
2002-11-11Added support for O_CREAT, O_APPEND and O_TRUNC.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2828 a1c6a512-1295-4272-9138-f99709370657
2002-11-11Added ftruncate().Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2827 a1c6a512-1295-4272-9138-f99709370657
2002-11-11Added support for O_RDWR and lseek() while writing.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2826 a1c6a512-1295-4272-9138-f99709370657
2002-11-11Bug fix for previous commit: write() always returned 0 on even sector writes.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2822 a1c6a512-1295-4272-9138-f99709370657