#
425ac1b6 |
|
20-Jun-2023 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
refactor: Swap %Ld for %lld in all format usages * %Ld is an undocumented alias for %lld in glibc. * muslc doesn't implement it for this reason. * While we will likely never drop %Ld support, lets clean house and set a better example. Change-Id: Id46dad3104abae483e80cc5c05d1464d3ecd8030 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6636 Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
711e2dc0 |
|
01-Dec-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
Adjust all struct dirent creations (again), this time to use offsetof(). The dirent struct is not packed, so offsetof(dirent, d_name) != sizeof(dirent). Thus in order not to waste the alignment bytes (which are significant, on x86_64 at least, sizeof(dirent)==32, but offsetof(...)=26.) This is also the most portable way to handle things, and should work just fine in cross-platform code that has a non-zero-sized d_name.
|
#
9d242fb9 |
|
18-Nov-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
file_systems & Tracker: Do not assume sizeof(dirent) contains 1 byte for the name. At present, it does, but that is an oddity we have preserved from BeOS that the next commit is going to remove. (This commit thus wastes 1 byte without the following one.) Most changes are pretty straightforward: only a +1 is needed, and a few removed from sizing calculations. Some filesystems like UDF originally passed back the length with the \0 included, so they have been adjusted further. UFS2 had some other sizing problems which are also corrected in this commit.
|
#
29034cf2 |
|
18-Mar-2021 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
CDDA, stop returning error status as a float It is a bit unorthodox, and we expect a number on how well you can handle the partition. Change-Id: Ie1b5d4e0a8e2411f9782957d7f124756f992a086 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3805 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
ed7329a8 |
|
14-Mar-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
file_systems/cdda: Use standard kernel mutexes instead of a custom lock. No behavioral change (intended.)
|
#
72bfb144 |
|
17-Jul-2019 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
PVS V1028: cast result of operation instead of operands If an overflow occurs before the cast, we can't fix it. If we cast first, we can rely on integer promotion to make the result use the appropriate size. Change-Id: I7462e28422456c07f179f94d39c10c408d9bec36 Reviewed-on: https://review.haiku-os.org/c/1623 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
430f303f |
|
23-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
file_systems/cdda: Set CDDB lookups based on the actual parameter. Found by -Werror=set-but-unused.
|
#
7c234361 |
|
02-Dec-2017 |
Augustin Cavalier <waddlesplash@gmail.com> |
Fix more class/struct mixups.
|
#
6f7fc220 |
|
07-Mar-2016 |
Axel Dörfler <axeld@pinc-software.de> |
NodeMonitor: Added B_WATCH_CHILDREN flag. * Added a directory argument for notify_{stat/attribute}_changed(). * This allows to watch only a directory, and get the notifications for all of its files, not just add/remove entry notifications.
|
#
873914a0 |
|
17-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
cdda: use singly linked list for attribute cookies The list is only iterated forward so there is no need for a doubly linked one. No functional changes.
|
#
735ca406 |
|
12-Nov-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
cdda: CID 610847: possibly uninitialized fields In two cases: * Out of memory and strdup on fName failed. Nothing would be initialized (mostly harmless: InitCheck would detect this) * There are no frames in the track: the wav header would be left uninitialized, and this would be readable from userland (bad thing, but needs a specifically crafted malicious CD to happen).
|
#
8566c721 |
|
07-Jul-2014 |
Augustin Cavalier <waddlesplash@gmail.com> |
file_systems/cdda: Various fixes. * When restoring shared attributes, don't affect CDDB:lookup status * Volume renames should not affect CDDB:lookup status, only file renames should This fixes some of the "cddb_daemon not updating CD info" problems. Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
e8f82cdb |
|
09-Jul-2014 |
Jérôme Duval <jerome.duval@gmail.com> |
file_systems/cdda: avoid leaking the attributes fd. * see bug #9528.
|
#
45a52467 |
|
14-Oct-2013 |
Axel Dörfler <axeld@pinc-software.de> |
cdda: Fixed crash on allocation failure. * Thanks korli!
|
#
ae527df3 |
|
13-Oct-2013 |
Axel Dörfler <axeld@pinc-software.de> |
cdda: Use MemoryDeleter where it makes sense.
|
#
a2d3d3ae |
|
13-Oct-2013 |
Axel Dörfler <axeld@pinc-software.de> |
cdda: got rid of kernel_cpp.h - it should not be used. * It's "new" operator does not fail or throw on allocation problems, but just lets the constructor do its work (and likely crash because of accessing a null pointer).
|
#
9499ef8e |
|
13-Oct-2013 |
Axel Dörfler <axeld@pinc-software.de> |
cdda: Fixed include order.
|
#
c3e68d8d |
|
11-May-2013 |
Jerome Duval <jerome.duval@gmail.com> |
cdda, fat, iso9660: clear tv_nsecs fields in the stat struct * devfs in fact doesn't provide a zeroed buffer.
|
#
575eeda9 |
|
06-May-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
cdda: fixes 64 bit warnings
|
#
a0bc9392 |
|
28-Apr-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Correctly detect Enhanced CDs, and take their extra lead gap into account. * This fixes bug #3025. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41290 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3b8f7470 |
|
28-Apr-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Applied cleaned up patch originally by Ziusudra as part of ticket #3473: * Changed the session module to create an extra session for existing audio tracks. * Let cdda also recognize "audio partitions" as published by the session module. * If there is only a single session, the session module now gives file system drivers the chance to play with the device directly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41288 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b21e4191 |
|
26-Apr-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Write the new Media:Length attribute instead of the old Audio:Length one. * Use uint64 instead of off_t for the frame numbers. * Shuffled Volume methods around to match the declaration order. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41282 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d63f4274 |
|
18-Oct-2010 |
Jérôme Duval <korli@users.berlios.de> |
added a file system call preallocate() as described in #6285, currently unused git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39006 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
be136723 |
|
28-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38416 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
36f016dd |
|
01-Jun-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Enlarged the identify TOC buffer to 2048 bytes just to be sure. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36984 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cf5f64c1 |
|
05-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* cdda did not send any node monitoring updates, confusing Tracker when renaming files. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f40c5e32 |
|
05-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* common_rename() now checks the name for validity before passing it on to the file systems, so those checks don't have to be duplicated there, anymore. * Minor cleanup, mostly automatic whitespace. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33895 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
425cb3d7 |
|
09-Sep-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
* revert r32999 and adjusted each filesystem to return B_NOT_A_DIRECTORY in its open_dir() implementation instead (as suggested by Ingo). -alphabranch (it's only a cleanup) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33025 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ffdaa11d |
|
14-Aug-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
cdda_read_dir(): Removed user buffer handling. We're only getting kernel buffers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32385 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a068dcb1 |
|
11-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* cdda_read_dir() could copy too many bytes into the provided buffer (worst case was an unterminated string, though). * fix_dirent() did not copy the trailing null-byte. * Not yet entirely sure why, but this caused #4214. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32254 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bcfb0a33 |
|
16-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- For audio-related stuff, when going from bits per second to kilobits per second we should use 1000 as a factor and not 1024. Thanks Fredrik Ekdahl for the heads up. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51d94f48 |
|
16-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Set the CD:do_lookup attribute correctly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30769 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0bd0e0af |
|
13-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
Marco Nelissen: The bitrate of an audio CD is 44100*4*8 (well, the bitrate of the "files" is, the actual bitrate of the CD is higher because of error correction). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30749 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cec697c |
|
13-May-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Even more cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30742 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27f23ba2 |
|
13-May-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed some naming inconsistencies/typos. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30741 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d95493aa |
|
12-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Ops... Fix compilation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30738 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a7fe1dbb |
|
12-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Added bitrate attribute to audio files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30737 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44f79488 |
|
12-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- If the name of a CD was changed, return this name instead of the generic "Audio CD" or CD Text obtained one. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30732 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
49004dc7 |
|
19-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Remove the additional fs_vnode_ops arugment from get_vnode() again as it's not needed at all when used as intended. Thanks Ingo for the explanation on how this is intended to work. Adjusted the overlay fs accordingly and updated/reverted the changes to the other filesystems. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29250 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
00405f22 |
|
09-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Add an additional argument to get_vnode() that gets the fs_vnode_ops of the node. That is needed for a layered filesystem to be able to construct a full fs_vnode out of a volume/inode pair. * Adapt places where get_vnode is used. Sadly this is a C API and we can't just use a default NULL for that argument. * Introduce a flag B_VNODE_WANTS_OVERLAY_SUB_NODE that can be returned in the flags field of a fs get_vnode call. A filesystem can use this flag to indicate that it doesn't support the full set of fs features (attributes, write support) and it'd like to have unsupported calls emulated by an overlay sub node. * Add a perliminary overlay filesystem that emulates file attributes using files on a filesystem where attributes aren't supported. It does currently only support reading attributes/attribute directories though. All other calls are just passed through to the super filesystem. * Adjust places where a HAS_FS_CALL() is taken as a guarantee that the operation is supported. For the overlay filesystem we may later return a B_UNSUPPORTED, so make sure that in that case proper fallback options are taken. * Make the iso9660 filesystem request overlay sub nodes. This can be fine tuned later to only trigger where there are features on a CD that need emulation at all. If you happened to know the attribute file format and location you could build an iso with read-only attribute support now. Note that this won't be enough to get a bootable iso-only image as the query and index support is yet missing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29177 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d871992 |
|
08-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Only try to store attributes on destruction if the required root node is available. Should fix bug #3426 where an incompletely constructed volume object is deleted. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29166 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f37b0b4f |
|
30-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The Audio:Album was not set from the CD-Text. Thanks to Edwin for the note! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28395 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2c348abb |
|
30-Sep-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Most of the other file systems now maintain the st_blocks value. It might not always be correct, but should be at least close. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27793 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
31ee3b53 |
|
21-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Export the SCSI TOC in the CD:toc attribute (required by the CDDB protocol). - Do not save or load attributes in the protected namespace. Now cddb_server has everything it needs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27120 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b29b6eb8 |
|
21-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Added a version of _RestoreAttributes() that accepts a fd as a parameter. Usefull when, for some reason, you already have an fd around. - Changed the non-parameter version to set the fd and call the parametrized version. - CD-Text reasing is expensive (takes up to 4 seconds on my machine) so now it is only done if this is the first time the CD is inserted (technically, if it errors out when trying to open the attributes file for the CD). With this, the first time I mount a CD still takes 4 seconds, but consecutive mounts happen almost instantaneously. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df8aa69a |
|
20-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Created a static version of Attribute::IsProtectedNamespace() that takes an attribute name as input. Handy for whyen we do not have an Attribute object around. - Made the non-static version fall back to the static version. - Also check for the protected namespace when creating attributes. For consistency, we should also not be able to create attributes in this namespace. - Added some new style violations. ;) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27082 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bb6b4c50 |
|
20-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- More style updates. Thanks Axel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27081 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2807ad6 |
|
20-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Added the concept of a restricted attribute namespace. The attribute class now has a IsProtectedNamespace() member. - All CD:* attributes can not be directly edited by the user as they are internally maintened by the add-on itself. - Style updates (thanks Stefano!) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27080 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
84719cae |
|
20-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Add a new CD:do_lookup attribute. It will be used by userland programs (like cddblinkd) to know if they should lookup the CD or not. It will be true unless: 1 - The CD has CD-Text information. 2 - The user (or a userland program) changed the Volume name. 3 - The user (or a userland program) changed any track names. - Moved (again) attribute creation to before the stored attributes are read. As attribute operations happen in memory in cdda, we don't need to care about the IO cost and this way it is more in line with all the other attributes created. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27079 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
743b3f15 |
|
20-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d4969c91 |
|
19-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Moved creation of the CD:cddbid attribute to after the saved attributes are restored. - Only adds it if it does not exist yet. This does not change anything but makes more sense anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27073 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c1b58f2 |
|
19-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- The wrong version of Inode::Attribute(0 was being called. Now setting the attribute type works. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27072 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2bf20e25 |
|
15-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Add the TLA back. I still think it is useless but I guess even in R5 the files included the extension. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26979 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c4cbe945 |
|
14-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Exported CDDB id trough the CD:cddbid attribute. - Tracks are now called "Track XX" instead of "XX". - We need no stinking TLAs! :) Next step, porting CDDBLinkD to Haiku. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26974 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df6394ae |
|
07-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* cdda_read_dir() did not correctly report the number of entries put into the dirent buffer. This fixes Rene's comment about "ls" entering an endless loop. * It also didn't access the buffer passed in correctly if it came from userland. * It now also fills in as many entries in the buffer as fit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26861 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a89962b9 |
|
07-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* read_cdda_data() needs to know the last frame of the track, so that it can cut down the buffer size on the last request. This fixes bug #2565. * cdda_read() did report an incorrect number of bytes read. This fixes bug #2511, and also that you couldn't copy tracks via "cp". * cdda_read_stat() did not include the WAV header in its reported size. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26853 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ec598fe4 |
|
27-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added FS interface hooks io() and cancel_io(). The former is supposed to provide asynchrounous (or only synchronous, if asynchronous is not supported) I/O request support. It will eventually replace {read,write}_pages(). None of the FS implementations implement them yet. * Implemented some support functions for request-based I/O. File system implementations can use do_fd_io() which passes an I/O request to the layer responsible for a given FD, and do_iterative_fd_io(), which translates a request for a file to subrequests for the underlying device and passes them on. Both fall back to synchrounous processing when the io() hook is not supported. Furthermore added vfs_synchronous_io() which should be handy for the devfs to perform io_requests synchronously for devices that don't support the io() hook. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26655 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e6bd90c5 |
|
23-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* bfs_fsync() was the only place which could cause the fs_vnode_ops::write_pages() to be called with fsReenter = true. Since this is no longer the case, the argument has become superfluous. For read_pages() it always was. Removed the argument from the functions and all functions that propagated it. * Some whitespace at the end of lines was removed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26579 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01f28a0a |
|
27-Jun-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Ported CDDA file system to the current FS API. * Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26145 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1da9f5ce |
|
10-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added BDiskSystem::ShortName() and everything needed to get it there. * Added BDiskDeviceRoster::GetDiskSystem() method, that can get a disk system by short/pretty/module name - since they should all be unique, I put them in a single namespace, please complain if you don't like that :-) * Cleaned up DiskSystem.h and DiskDeviceRoster.h according to the updated header guidelines. * Renamed ntfs pretty name from "ntfs File System" to "Windows NT File System". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25414 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d268eda |
|
10-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Extracted file_map API out of the file cache - it's now an optional service that can be used by file systems. * Changed the way the file cache works: instead of reading/writing to the underlying device directly, it can now be used for any data source, ie. also network file systems. * As a result, the former pages_io() moved to the VFS layer, and can now be called by a file system via {read|write}_file_io_vec_pages() (naming suggestions are always welcomed :-)). It now gets an FD, and uses that to communicate with the device (via its fs_{read|write}_pages() hooks). * The file_cache_{read|write}() functions must now be called without holding an I/O relevant file system lock. That allows the file cache to prepare the pages without colliding with the page writer, IOW the "mayBlock" flag can go into the attic again (yay!). * This also results in a much better performance when the system does I/O and is low on memory, as the page writer can now finally write back some pages, and that even without maxing out the CPU :) * The API changes put slightly more burden on the fs_{read|write}_pages() hooks, but in combination with the file_map it's still pretty straight forward. It just will have to dispatch the call to the underlying device directly, usually it will just call its fs_{read|write}_pages() hooks via the above mentioned calls. * Ported BFS and FAT to the new API, the latter has not been tested, though. * Also ported the API changes to the fs_shell. I also completely removed its file cache level page handling - the downside is that device access is no longer cached (ie. depends on the host OS now), the upside is that the code is greatly simplified. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22886 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3e9513aa |
|
03-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* fs_{write|read}_pages() now has an additional argument "mayBlock". * the page writer don't allow to block, while all other writers do. This fixes bug #1509. The reason the page writer needs this is because it marks several pages from different caches as busy. * Fixed a warning about ASSERT being defined already in BFS, since util/DoublyLinkedList.h now includes debug.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22434 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
76a8ec23 |
|
22-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added disk system flags for whether a partition name and partition content name are supported. * Added file_system_module_info::flags (analogously to partition_module_info::flags) which indicate which disk device features the FS supports. * Replaced the file_system_module_info/partition_module_info::supports_*() hooks by a get_supported_operations() hook and for partitioning systems additionally a get_supported_child_operations() hook. * Updated file and partitioning systems accordingly. * Updated fs_shell accordingly. * Updated the DDM accordingly. The syscall interface remains unchanged, though. * _user_supports_initializing_partition() also checks whether the parent partitioning system is content now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ed432e8e |
|
20-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Data tracks are now filtered out. This should fix bug #1345 - but I did not yet test it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22023 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
245aecda |
|
21-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Got rid of vnode_id and mount_id, replaced with ino_t and dev_t. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21485 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f77a87bf |
|
22-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented persistence storage of attributes and name changes - it's able to read the files the BeOS cdda wrote, but it handles attributes completely different. * All attributes are now stored per CD. * There are some special shared attributes between all CDs (or a specific device) to improve your Tracker experience. * An existing buffer is now used to fill a read request. * Lots of other small changes here and there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21201 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8536d82f |
|
16-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* The WAV header is now created correctly (mixed up endian of the fourcc members) * More or less fixed reading - it now works nicely when you copy the file to the hard drive first, but MediaPlayer cannot handle the files directly from CD for some reason yet to investigate. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21153 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
90c18b97 |
|
16-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented reading from CD and prepending a fake WAV header - not yet tested, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21151 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12ed6d21 |
|
15-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the code that reads the table of contents of the CD a bit more failsafe. * Implemented disk scanner to automatically identify the volume. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21150 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e8113cab |
|
15-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented attribute handling - you can change them, but they are not stored yet. * Implemented CDDB ID computation (that's what BeOS's cdda-fs is using). * Some other minor changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21144 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
40897d39 |
|
14-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved cdda_text test application to the test directory, and separated it from cdda.cpp. * Implemented most of the directory retrieval functions of the file system; even renaming titles should work now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21139 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ff2a7d86 |
|
10-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Start of a CDDA file system (replacement for cdda as part of BeOS): * doesn't do anything useful yet, but it compiles (and should be mountable). * CDDA test app "cdda_text" will dump the table of contents as well as eventually existing CD-Text - if I had known only so few titles in my collection would come with those, I probably wouldn't have gone through it (if the samples I used are representable, it's about 1/10th of the CDs I have) :-) * cdda_text compiles on BeOS, so if you have known CD-Text CDs, please test it and report eventual problems - the test app already tries to beautify the names as much as possible. Usage is "cdda_text <path-to-raw-device>". * The test app will be removed later, so better test now ;) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
873914a02043973156dccbccc36dc9dae7fa164d |
|
17-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
cdda: use singly linked list for attribute cookies The list is only iterated forward so there is no need for a doubly linked one. No functional changes.
|
#
735ca4068d0912990c5f900dc021733d4842599c |
|
12-Nov-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
cdda: CID 610847: possibly uninitialized fields In two cases: * Out of memory and strdup on fName failed. Nothing would be initialized (mostly harmless: InitCheck would detect this) * There are no frames in the track: the wav header would be left uninitialized, and this would be readable from userland (bad thing, but needs a specifically crafted malicious CD to happen).
|
#
8566c721c784837934429855b3179d45ae538ed7 |
|
07-Jul-2014 |
Augustin Cavalier <waddlesplash@gmail.com> |
file_systems/cdda: Various fixes. * When restoring shared attributes, don't affect CDDB:lookup status * Volume renames should not affect CDDB:lookup status, only file renames should This fixes some of the "cddb_daemon not updating CD info" problems. Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
e8f82cdb6e50237defefe705c1a75e8cde33e0e7 |
|
09-Jul-2014 |
Jérôme Duval <jerome.duval@gmail.com> |
file_systems/cdda: avoid leaking the attributes fd. * see bug #9528.
|
#
45a52467063fd0623d8c34c0db7ff1abcbdb99a8 |
|
14-Oct-2013 |
Axel Dörfler <axeld@pinc-software.de> |
cdda: Fixed crash on allocation failure. * Thanks korli!
|
#
ae527df336f44a3a7f12353def921078e2bfabf0 |
|
13-Oct-2013 |
Axel Dörfler <axeld@pinc-software.de> |
cdda: Use MemoryDeleter where it makes sense.
|
#
a2d3d3ae54ed643a6d04c4de3a91ec2ed77c3201 |
|
13-Oct-2013 |
Axel Dörfler <axeld@pinc-software.de> |
cdda: got rid of kernel_cpp.h - it should not be used. * It's "new" operator does not fail or throw on allocation problems, but just lets the constructor do its work (and likely crash because of accessing a null pointer).
|
#
9499ef8e512249d5308c0395a96f070b53b6b52b |
|
13-Oct-2013 |
Axel Dörfler <axeld@pinc-software.de> |
cdda: Fixed include order.
|
#
c3e68d8d92801ca71472daaa7e3c996d13d11ecf |
|
11-May-2013 |
Jerome Duval <jerome.duval@gmail.com> |
cdda, fat, iso9660: clear tv_nsecs fields in the stat struct * devfs in fact doesn't provide a zeroed buffer.
|
#
575eeda9a5ac082851be3e158f26b89a1cedccbd |
|
06-May-2013 |
Jérôme Duval <jerome.duval@gmail.com> |
cdda: fixes 64 bit warnings
|
#
a0bc9392569e5665f7469776fee789107743706e |
|
28-Apr-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Correctly detect Enhanced CDs, and take their extra lead gap into account. * This fixes bug #3025. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41290 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3b8f74706019f7e51d52087a1ec7896630c892fb |
|
28-Apr-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Applied cleaned up patch originally by Ziusudra as part of ticket #3473: * Changed the session module to create an extra session for existing audio tracks. * Let cdda also recognize "audio partitions" as published by the session module. * If there is only a single session, the session module now gives file system drivers the chance to play with the device directly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41288 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b21e41910b4f31cade9b5286d8ca16db245cce60 |
|
26-Apr-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Write the new Media:Length attribute instead of the old Audio:Length one. * Use uint64 instead of off_t for the frame numbers. * Shuffled Volume methods around to match the declaration order. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41282 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d63f4274b665d32065f24a7a01a025578c8a43c9 |
|
18-Oct-2010 |
Jérôme Duval <korli@users.berlios.de> |
added a file system call preallocate() as described in #6285, currently unused git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39006 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
be136723e753a621ad855f0c0bb5371cac77d87d |
|
28-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38416 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
36f016ddbe71bd5bab559a6b59d06426d02666d3 |
|
01-Jun-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Enlarged the identify TOC buffer to 2048 bytes just to be sure. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36984 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cf5f64c103b2fcd4234d76e294991338212f46f6 |
|
05-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* cdda did not send any node monitoring updates, confusing Tracker when renaming files. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f40c5e32115c22bd1b76ee1abe607040c09681a9 |
|
05-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* common_rename() now checks the name for validity before passing it on to the file systems, so those checks don't have to be duplicated there, anymore. * Minor cleanup, mostly automatic whitespace. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33895 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
425cb3d71644c19d925f97846964a32475b09b95 |
|
09-Sep-2009 |
Oliver Tappe <zooey@hirschkaefer.de> |
* revert r32999 and adjusted each filesystem to return B_NOT_A_DIRECTORY in its open_dir() implementation instead (as suggested by Ingo). -alphabranch (it's only a cleanup) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33025 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ffdaa11d3c5bfad1ebfcfd3ae38ed3d833ba719a |
|
14-Aug-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
cdda_read_dir(): Removed user buffer handling. We're only getting kernel buffers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32385 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a068dcb15a83460fe1bee5f8727af3ff12c66fe9 |
|
11-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* cdda_read_dir() could copy too many bytes into the provided buffer (worst case was an unterminated string, though). * fix_dirent() did not copy the trailing null-byte. * Not yet entirely sure why, but this caused #4214. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32254 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bcfb0a3331f18005db90e69279a51ea007a0be25 |
|
16-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- For audio-related stuff, when going from bits per second to kilobits per second we should use 1000 as a factor and not 1024. Thanks Fredrik Ekdahl for the heads up. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
51d94f48fe791c03086f0f2abaf17d55f9b99cf7 |
|
16-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Set the CD:do_lookup attribute correctly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30769 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0bd0e0af2ae625b75632f867f992874c7595159d |
|
13-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
Marco Nelissen: The bitrate of an audio CD is 44100*4*8 (well, the bitrate of the "files" is, the actual bitrate of the CD is higher because of error correction). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30749 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cec697c0b00eb0b1bd40ae04b01956a6d590e4d |
|
13-May-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Even more cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30742 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27f23ba2df7bca5799b72a5c43993b7ccd53749c |
|
13-May-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed some naming inconsistencies/typos. * Some cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30741 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d95493aa4fd84d40afb47ae0f054d1d124e31367 |
|
12-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Ops... Fix compilation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30738 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a7fe1dbb69ab90c019872de7bc1d686b279c9f7d |
|
12-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Added bitrate attribute to audio files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30737 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44f79488922387fda5ce4780cb6f3aabf1f52444 |
|
12-May-2009 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- If the name of a CD was changed, return this name instead of the generic "Audio CD" or CD Text obtained one. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30732 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
49004dc730f842ea3c162b56dee63696c51d17c7 |
|
19-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Remove the additional fs_vnode_ops arugment from get_vnode() again as it's not needed at all when used as intended. Thanks Ingo for the explanation on how this is intended to work. Adjusted the overlay fs accordingly and updated/reverted the changes to the other filesystems. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29250 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
00405f2286fd370a0bd264d0bbac0cfa120e7646 |
|
09-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Add an additional argument to get_vnode() that gets the fs_vnode_ops of the node. That is needed for a layered filesystem to be able to construct a full fs_vnode out of a volume/inode pair. * Adapt places where get_vnode is used. Sadly this is a C API and we can't just use a default NULL for that argument. * Introduce a flag B_VNODE_WANTS_OVERLAY_SUB_NODE that can be returned in the flags field of a fs get_vnode call. A filesystem can use this flag to indicate that it doesn't support the full set of fs features (attributes, write support) and it'd like to have unsupported calls emulated by an overlay sub node. * Add a perliminary overlay filesystem that emulates file attributes using files on a filesystem where attributes aren't supported. It does currently only support reading attributes/attribute directories though. All other calls are just passed through to the super filesystem. * Adjust places where a HAS_FS_CALL() is taken as a guarantee that the operation is supported. For the overlay filesystem we may later return a B_UNSUPPORTED, so make sure that in that case proper fallback options are taken. * Make the iso9660 filesystem request overlay sub nodes. This can be fine tuned later to only trigger where there are features on a CD that need emulation at all. If you happened to know the attribute file format and location you could build an iso with read-only attribute support now. Note that this won't be enough to get a bootable iso-only image as the query and index support is yet missing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29177 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d871992b8e8be2589568f85b9c67d6b21346af9 |
|
08-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Only try to store attributes on destruction if the required root node is available. Should fix bug #3426 where an incompletely constructed volume object is deleted. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29166 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f37b0b4f095eae1a48a6f3e00a94b812958ea7a2 |
|
30-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* The Audio:Album was not set from the CD-Text. Thanks to Edwin for the note! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28395 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2c348abbf7aca35c66b88e159bdafa41f2a9743f |
|
30-Sep-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Most of the other file systems now maintain the st_blocks value. It might not always be correct, but should be at least close. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27793 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
31ee3b53f5c777d8d0a02132a25081481ed9deb6 |
|
21-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Export the SCSI TOC in the CD:toc attribute (required by the CDDB protocol). - Do not save or load attributes in the protected namespace. Now cddb_server has everything it needs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27120 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b29b6eb84ae5101b4ecfc6c76139cb4e6438038c |
|
21-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Added a version of _RestoreAttributes() that accepts a fd as a parameter. Usefull when, for some reason, you already have an fd around. - Changed the non-parameter version to set the fd and call the parametrized version. - CD-Text reasing is expensive (takes up to 4 seconds on my machine) so now it is only done if this is the first time the CD is inserted (technically, if it errors out when trying to open the attributes file for the CD). With this, the first time I mount a CD still takes 4 seconds, but consecutive mounts happen almost instantaneously. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df8aa69a763b5aaf61602354e039330ec03ed447 |
|
20-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Created a static version of Attribute::IsProtectedNamespace() that takes an attribute name as input. Handy for whyen we do not have an Attribute object around. - Made the non-static version fall back to the static version. - Also check for the protected namespace when creating attributes. For consistency, we should also not be able to create attributes in this namespace. - Added some new style violations. ;) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27082 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bb6b4c50764bd3deeb122a9adf09896d78b3be25 |
|
20-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- More style updates. Thanks Axel. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27081 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2807ad696ce626e79ddb7fc16938a4d7690f40f |
|
20-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Added the concept of a restricted attribute namespace. The attribute class now has a IsProtectedNamespace() member. - All CD:* attributes can not be directly edited by the user as they are internally maintened by the add-on itself. - Style updates (thanks Stefano!) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27080 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
84719cae244ef5d9448896bc84fa1c1dd2353aef |
|
20-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Add a new CD:do_lookup attribute. It will be used by userland programs (like cddblinkd) to know if they should lookup the CD or not. It will be true unless: 1 - The CD has CD-Text information. 2 - The user (or a userland program) changed the Volume name. 3 - The user (or a userland program) changed any track names. - Moved (again) attribute creation to before the stored attributes are read. As attribute operations happen in memory in cdda, we don't need to care about the IO cost and this way it is more in line with all the other attributes created. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27079 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
743b3f15272ea92ccf7c7501aeefe8b1f84f078c |
|
20-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d4969c919a4c5f264570309d6d9a9b5dd8a17bd2 |
|
19-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Moved creation of the CD:cddbid attribute to after the saved attributes are restored. - Only adds it if it does not exist yet. This does not change anything but makes more sense anyway. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27073 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c1b58f2bbaf87c3d18588e64906c662b1381104 |
|
19-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- The wrong version of Inode::Attribute(0 was being called. Now setting the attribute type works. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27072 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2bf20e253b299a61f5422ad117093cc206e6c90c |
|
15-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Add the TLA back. I still think it is useless but I guess even in R5 the files included the extension. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26979 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c4cbe945fe0f5798a36d75619d8da7def0c38e05 |
|
14-Aug-2008 |
Bruno G. Albuquerque <bga@bug-br.org.br> |
- Exported CDDB id trough the CD:cddbid attribute. - Tracks are now called "Track XX" instead of "XX". - We need no stinking TLAs! :) Next step, porting CDDBLinkD to Haiku. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26974 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df6394aee14a68847ef69d67e77db45ef02d0003 |
|
07-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* cdda_read_dir() did not correctly report the number of entries put into the dirent buffer. This fixes Rene's comment about "ls" entering an endless loop. * It also didn't access the buffer passed in correctly if it came from userland. * It now also fills in as many entries in the buffer as fit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26861 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a89962b923788cf6db8910262042cb769ce0b9e5 |
|
07-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* read_cdda_data() needs to know the last frame of the track, so that it can cut down the buffer size on the last request. This fixes bug #2565. * cdda_read() did report an incorrect number of bytes read. This fixes bug #2511, and also that you couldn't copy tracks via "cp". * cdda_read_stat() did not include the WAV header in its reported size. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26853 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ec598fe493579e3d522453cb407ca3c6b57d715a |
|
27-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added FS interface hooks io() and cancel_io(). The former is supposed to provide asynchrounous (or only synchronous, if asynchronous is not supported) I/O request support. It will eventually replace {read,write}_pages(). None of the FS implementations implement them yet. * Implemented some support functions for request-based I/O. File system implementations can use do_fd_io() which passes an I/O request to the layer responsible for a given FD, and do_iterative_fd_io(), which translates a request for a file to subrequests for the underlying device and passes them on. Both fall back to synchrounous processing when the io() hook is not supported. Furthermore added vfs_synchronous_io() which should be handy for the devfs to perform io_requests synchronously for devices that don't support the io() hook. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26655 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e6bd90c58dbae64f3b464edcff90dcb06e63a716 |
|
23-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* bfs_fsync() was the only place which could cause the fs_vnode_ops::write_pages() to be called with fsReenter = true. Since this is no longer the case, the argument has become superfluous. For read_pages() it always was. Removed the argument from the functions and all functions that propagated it. * Some whitespace at the end of lines was removed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26579 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
01f28a0ae369a27554112e0563d377cb61785d4c |
|
27-Jun-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Ported CDDA file system to the current FS API. * Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26145 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1da9f5cea5ea4d32c539a01cd94a7b605e941beb |
|
10-May-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added BDiskSystem::ShortName() and everything needed to get it there. * Added BDiskDeviceRoster::GetDiskSystem() method, that can get a disk system by short/pretty/module name - since they should all be unique, I put them in a single namespace, please complain if you don't like that :-) * Cleaned up DiskSystem.h and DiskDeviceRoster.h according to the updated header guidelines. * Renamed ntfs pretty name from "ntfs File System" to "Windows NT File System". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25414 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3d268eda3d0ca504c865533347decf27b54025b6 |
|
10-Nov-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Extracted file_map API out of the file cache - it's now an optional service that can be used by file systems. * Changed the way the file cache works: instead of reading/writing to the underlying device directly, it can now be used for any data source, ie. also network file systems. * As a result, the former pages_io() moved to the VFS layer, and can now be called by a file system via {read|write}_file_io_vec_pages() (naming suggestions are always welcomed :-)). It now gets an FD, and uses that to communicate with the device (via its fs_{read|write}_pages() hooks). * The file_cache_{read|write}() functions must now be called without holding an I/O relevant file system lock. That allows the file cache to prepare the pages without colliding with the page writer, IOW the "mayBlock" flag can go into the attic again (yay!). * This also results in a much better performance when the system does I/O and is low on memory, as the page writer can now finally write back some pages, and that even without maxing out the CPU :) * The API changes put slightly more burden on the fs_{read|write}_pages() hooks, but in combination with the file_map it's still pretty straight forward. It just will have to dispatch the call to the underlying device directly, usually it will just call its fs_{read|write}_pages() hooks via the above mentioned calls. * Ported BFS and FAT to the new API, the latter has not been tested, though. * Also ported the API changes to the fs_shell. I also completely removed its file cache level page handling - the downside is that device access is no longer cached (ie. depends on the host OS now), the upside is that the code is greatly simplified. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22886 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3e9513aa4a8bf5f2fb2b86a767ffe46f6e626acc |
|
03-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* fs_{write|read}_pages() now has an additional argument "mayBlock". * the page writer don't allow to block, while all other writers do. This fixes bug #1509. The reason the page writer needs this is because it marks several pages from different caches as busy. * Fixed a warning about ASSERT being defined already in BFS, since util/DoublyLinkedList.h now includes debug.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22434 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
76a8ec23db391176bac91f33c5f1fc6e8e41866c |
|
22-Aug-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added disk system flags for whether a partition name and partition content name are supported. * Added file_system_module_info::flags (analogously to partition_module_info::flags) which indicate which disk device features the FS supports. * Replaced the file_system_module_info/partition_module_info::supports_*() hooks by a get_supported_operations() hook and for partitioning systems additionally a get_supported_child_operations() hook. * Updated file and partitioning systems accordingly. * Updated fs_shell accordingly. * Updated the DDM accordingly. The syscall interface remains unchanged, though. * _user_supports_initializing_partition() also checks whether the parent partitioning system is content now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ed432e8ec6eb100f258863701a48e3420ecbe0fb |
|
20-Aug-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Data tracks are now filtered out. This should fix bug #1345 - but I did not yet test it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22023 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
245aecda8ac43fc2c0c0bac6a7e4016efa9b71e1 |
|
21-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Got rid of vnode_id and mount_id, replaced with ino_t and dev_t. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21485 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f77a87bfa4589d6fcb9e409d8cfd27725d1ed8cc |
|
22-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented persistence storage of attributes and name changes - it's able to read the files the BeOS cdda wrote, but it handles attributes completely different. * All attributes are now stored per CD. * There are some special shared attributes between all CDs (or a specific device) to improve your Tracker experience. * An existing buffer is now used to fill a read request. * Lots of other small changes here and there. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21201 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8536d82fb62e2bc63ce69cc4c46289b87368276b |
|
16-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* The WAV header is now created correctly (mixed up endian of the fourcc members) * More or less fixed reading - it now works nicely when you copy the file to the hard drive first, but MediaPlayer cannot handle the files directly from CD for some reason yet to investigate. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21153 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
90c18b97c9b675c3a41235ee12ec2458f4fd4aaa |
|
16-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented reading from CD and prepending a fake WAV header - not yet tested, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21151 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
12ed6d2195da8fe7d54611de69939a5533a680f0 |
|
15-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the code that reads the table of contents of the CD a bit more failsafe. * Implemented disk scanner to automatically identify the volume. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21150 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e8113cabe023042a1c96f338fab8f5f47f1688d4 |
|
15-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented attribute handling - you can change them, but they are not stored yet. * Implemented CDDB ID computation (that's what BeOS's cdda-fs is using). * Some other minor changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21144 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
40897d39642f7942f1e46d2eb6c30fd77341fe61 |
|
14-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved cdda_text test application to the test directory, and separated it from cdda.cpp. * Implemented most of the directory retrieval functions of the file system; even renaming titles should work now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21139 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ff2a7d86f8de2368fb292c425b24ce7e0b49a09b |
|
10-May-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Start of a CDDA file system (replacement for cdda as part of BeOS): * doesn't do anything useful yet, but it compiles (and should be mountable). * CDDA test app "cdda_text" will dump the table of contents as well as eventually existing CD-Text - if I had known only so few titles in my collection would come with those, I probably wouldn't have gone through it (if the samples I used are representable, it's about 1/10th of the CDs I have) :-) * cdda_text compiles on BeOS, so if you have known CD-Text CDs, please test it and report eventual problems - the test app already tries to beautify the names as much as possible. Usage is "cdda_text <path-to-raw-device>". * The test app will be removed later, so better test now ;) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|