#
c864ba1a |
|
16-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Build a separate libsupc++ for the kernel with correct flags. Kernel mode code on x86_64 needs to be built with -mno-red-zone as interrupts would corrupt the red zone if it were in use. However, the kernel is linked with libsupc++, which was not compiled with -mno-red-zone. If an interrupt occurred in libsupc++ code the red zone would get corrupted. This was causing random panics, particularly under heavy system load. Therefore, on x86_64 a separate build of libsupc++ with -mno-red-zone is now done for the kernel to use. Note: this commit will require a rerun of configure and rebuild of cross tools.
|
#
03aed3a3 |
|
08-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Attribute index support for non-special attributes * Add AttributeIndex class. * Each attribute does now have an attribute index cookie. The new attribute index service methods Node::IndexAttribute() and IndexCookieForAttribute() create+set/retrieve the cookie. The cookie is actually the attribute index's tree node. * Add OldNodeAttribute::IndexCookieForAttribute() so the cookie is available when the node changes.
|
#
6cc3dcdb |
|
07-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move helper function out of QueryParser.h They live in the new QueryParserUtils.{h,cpp} now.
|
#
ed81de86 |
|
07-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add last modified index support * Add class LastModifiedIndex. * Create and add an instance of it in Volume::Mount().
|
#
3793289c |
|
07-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add size index support * Add class SizeIndex. * Create and add an instance of it in Volume mount.
|
#
182e58f7 |
|
07-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
NodeListener::NodeChanged(): Provide old value * Add interface OldNodeAttributes an instance of which is passed to NodeListener::NodeChanged() to provide the old attribute values (currently only modification time and file size). * Also extend PackageLinksListener::PackageLinkNodeChanged() with a OldNodeAttributes parameter. * Add OldNodeAttributes implementations for PackageLinkSymlink (inner class OldAttributes) and UnpackingNode (OldUnpackageNodeAttributes).
|
#
617ac41c |
|
05-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add Query class and query management in Volume
|
#
331b89b3 |
|
05-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add NameIndex class and create instance in Volume
|
#
4791f5eb |
|
05-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add Index base class and index table in Volume
|
#
ec59ac75 |
|
05-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add a global node listener mechanism
|
#
c4c9e06c |
|
25-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Support for auto-generated package node attributes * Add utility class AutoPackageAttributes and AttributeCookie subclass AutoPackageAttributeCookie. * UnpackingAttributeCookie::Open() does now try to create a AutoPackageAttributeCookie, when it doesn't find the attribute in the PackageNode. * Adjust UnpackingAttributeDirectoryCookie to also list auto-generated attributes. Currently the only supported attribute is "SYS:PACKAGE", which is the file name of the package containing the node.
|
#
c6dd2207 |
|
25-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move PackageLinkDirectory::Link to own file And rename it to PackageLinkSymlink.
|
#
7d2fa6f0 |
|
25-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
WIP towards dependency package links * Add ResolvableFamily and DependencyFamily classes for grouping equally named resolvables/dependencies. * Add hash tables to PackageFSRoot to track resolvables and dependencies. That is done in {Add,Remove}Package. * Resolvable does now have a list of Dependency objects, the ones it satisfies.
|
#
fe49869e |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add package link directories to system volume * Add PackageLinksListener interface. It is used by PackageLink[s]Directory to notify a listener about changes. * Volume does now implement PackageLinksListener and recursively adds/ removes package link directories. This makes the package link directories appear at least. They are still empty.
|
#
b5baaa84 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
WIP: Create empty package links directories * Rename PackageFamily to PackageLinkDirectory and derive from Directory. * PackageLinksDirectory: Add the PackageLinkDirectory objects as children and remove the no longer needed hash table (we use the Directory's child hash table).
|
#
d1756818 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move EmptyAttributeDirectoryCookie to own files
|
#
63875d17 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add yet empty package-links directory * Add PackageLinksDirectory Directory subclass. Currently not doing anything. * PackageFSRoot: Create a PackageLinksDirectory. * Volume: Add/remove the package links directory for the system volume.
|
#
e16ce53b |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Pull derived UnpackingDirectory out of Directory Move all package specifics from now abstract Directory to new derived class UnpackingDirectory and adjust the Volume implementation accordingly. This concludes the Node/Directory refactoring. Neither class is aware of packages anymore.
|
#
097e795f |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Rename LeafNode to UnpackingLeafNode
|
#
20142717 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Remove package related dependencies from Node * Move package related methods from Node to new interface UnpackingNode. * LeafNode and Directory derive from UnpackingNode now. * Adjust Volume implementation accordingly.
|
#
5167a807 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Attribute dir access kernel interface abstraction * Introduce interface AttributeDirectoryCookie and currently only implementation UnpackingAttributeDirectoryCookie. This is an interface for reading/rewinding an attribute directory. * Add abstract virtual Node::OpenAttributeDirectory() method that returns an AttributeDirectoryCookie and implement it for derived classes. * In the kernel interface attribute directory hooks use AttributeDirectoryCookie now.
|
#
882b03ab |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Kernel interface abstraction for attribute access * Introduce interface AttributeCookie and currently only implementation UnpackingAttributeCookie. This is an interface for reading/stat()ing an attribute. * Add abstract virtual Node::OpenAttribute() method that returns an AttributeCookie and implemented it for derived classes. * In the kernel interface attribute hooks use AttributeCookie now. The attribute directory hooks are unchanged.
|
#
991ba9fd |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
WIP towards packagefs package links support * Introduce Version class representing a version. * Introduce Dependency and Resolvable class and add lists of either to Package. * Parse package attributes and add dependencies and resolvables to Package. * Add a mount type to Volume and add a respective mount parameter "mount-type" (values "system", "common", "home", "custom"). Also implies the shine-through type, if that's not given. * Introduce class PackageFamily which groups equally named and versioned packages. * Add class PackageFSRoot. Each instance represents a possible file system root (separate roots for different chroot environments). Tracks Volumes belonging to the same root and their packages.
|
#
fab5eddc |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Split package kit DataReader.cpp Pull AttributeDataReader and FDDataReader implementations out of DataReader.cpp into own source files. Thus we can avoid dependencies (e.g. to fs_attr code) we don't need/want.
|
#
ad6a8dbe |
|
14-Feb-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Pulled reusable stuff from PackageReaderImpl into new class ReaderImplBase. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40485 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5fb1c6ff |
|
30-Jan-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Refactored hpkg implementation to provide some separation between public and private API (still far from ideal, but a start): * moved several HPKG-classes into the public namespace BPackageKit::HPKG * added fImpl-wrappers around PackageReader and PackageWriter to hide most of the gory details * adjusted 'package'-binary and packagefs accordingly git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40320 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0d6b3b20 |
|
27-Jan-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
More work on package kit: * added class BPackageInfo, which contains packaging attributes of a package (the values relevant for package management) * implemented parser (mostly) for reading a BPackageInfo from a config file (.PackageInfo) in order to pass them on to the PackageWriter when creating a package * pulled hpkg-related stuff from bin/package into the package kit * adjusted packagefs-Volume to skip .PackageInfo files when populating the mountpoint, as those files shouldn't appear as part of an activated package git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40301 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46776004 |
|
18-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Extract the attributes from the package files and attach them as PackageNodeAttribute to the PackageNodes. * Implemented the attribute FS interface hooks. * Made Package and PackageNode BReferenceable. * Fixed the reference management for Node. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34119 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4e2cd771 |
|
18-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added new interface BufferCache -- basically a memory allocator with the option to cache a freed buffer -- and implementations BlockBufferCache{NoLock,Kernel}. * ZlibPackageDataReader does now dynamically get its read and uncompress buffers from a provided BufferCache when needed. * Allocating the buffers once and keeping them over the whole life time was a bit too memory heavy, since we create a reader for every file for which a vnode is created. A FS module global factory provides a buffer cache. * Added a mutex to PackageFile::DataAccessor which guards the access to the data reader which isn't thread safe. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34115 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
694cb0b2 |
|
17-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented intermediate base class PackageLeafNode for PackageFile and PackageSymlink with a "fat" interface. * Replaced File and Symlink by fat class LeafNode. * Added Package* object management to Directory and LeafNode. * Implemented packagefs_read_symlink(), so symlinks work now. * Added some missing locking the kernel interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34096 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc32c484 |
|
17-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Work in progress: * The FS parses package files from "/boot/common/packages" and builds an node tree representation of the contained entries. Merging directories should work. Lots of other stuff is missing yet, though. * Implemented the hooks for directory entry lookup and iteration. So it's possible to see the contents of the FS at least. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34088 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b932032a |
|
15-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented the most basic functionality required to cleanly mount and unmount (at least in userlandfs). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34069 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eaf37e54 |
|
15-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added Jamfile for building for the userlandfs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34065 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3791c3fc |
|
15-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The very beginning of a package FS: Empty stubs for a minimal read-only file system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34064 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c864ba1a2d8525aeabd6199c01675f70f5abd7bd |
|
16-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Build a separate libsupc++ for the kernel with correct flags. Kernel mode code on x86_64 needs to be built with -mno-red-zone as interrupts would corrupt the red zone if it were in use. However, the kernel is linked with libsupc++, which was not compiled with -mno-red-zone. If an interrupt occurred in libsupc++ code the red zone would get corrupted. This was causing random panics, particularly under heavy system load. Therefore, on x86_64 a separate build of libsupc++ with -mno-red-zone is now done for the kernel to use. Note: this commit will require a rerun of configure and rebuild of cross tools.
|
#
03aed3a3146e5e989b327eba191e41a1d4bf3dfc |
|
08-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Attribute index support for non-special attributes * Add AttributeIndex class. * Each attribute does now have an attribute index cookie. The new attribute index service methods Node::IndexAttribute() and IndexCookieForAttribute() create+set/retrieve the cookie. The cookie is actually the attribute index's tree node. * Add OldNodeAttribute::IndexCookieForAttribute() so the cookie is available when the node changes.
|
#
6cc3dcdb9baedcc500d02055ff8927cc947f59bf |
|
07-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move helper function out of QueryParser.h They live in the new QueryParserUtils.{h,cpp} now.
|
#
ed81de869e47eff53197b2a81a739a6da6e4b64c |
|
07-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add last modified index support * Add class LastModifiedIndex. * Create and add an instance of it in Volume::Mount().
|
#
3793289c21d17d6e8f22c149879d4201871a4880 |
|
07-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add size index support * Add class SizeIndex. * Create and add an instance of it in Volume mount.
|
#
182e58f709cc0d9e0ae0f905874c13dfe38ce516 |
|
07-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
NodeListener::NodeChanged(): Provide old value * Add interface OldNodeAttributes an instance of which is passed to NodeListener::NodeChanged() to provide the old attribute values (currently only modification time and file size). * Also extend PackageLinksListener::PackageLinkNodeChanged() with a OldNodeAttributes parameter. * Add OldNodeAttributes implementations for PackageLinkSymlink (inner class OldAttributes) and UnpackingNode (OldUnpackageNodeAttributes).
|
#
617ac41c601a395ce3065e44cc8355d792c33765 |
|
05-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add Query class and query management in Volume
|
#
331b89b3a5568ad9efcd8a10aa587366753bc6a4 |
|
05-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add NameIndex class and create instance in Volume
|
#
4791f5ebb3bec07d9592b2bc5b461e269880ed3b |
|
05-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add Index base class and index table in Volume
|
#
ec59ac751529851c81e8c3db96e06ba1b790dcbd |
|
05-Jul-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add a global node listener mechanism
|
#
c4c9e06c88d03c20bcf84b4e627ce4a4fb15d22f |
|
25-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Support for auto-generated package node attributes * Add utility class AutoPackageAttributes and AttributeCookie subclass AutoPackageAttributeCookie. * UnpackingAttributeCookie::Open() does now try to create a AutoPackageAttributeCookie, when it doesn't find the attribute in the PackageNode. * Adjust UnpackingAttributeDirectoryCookie to also list auto-generated attributes. Currently the only supported attribute is "SYS:PACKAGE", which is the file name of the package containing the node.
|
#
c6dd220780584bd9debaad5bd82bab1dc953b881 |
|
25-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move PackageLinkDirectory::Link to own file And rename it to PackageLinkSymlink.
|
#
7d2fa6f0f83c87b90df3d3f87f47873bf0f26b4d |
|
25-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
WIP towards dependency package links * Add ResolvableFamily and DependencyFamily classes for grouping equally named resolvables/dependencies. * Add hash tables to PackageFSRoot to track resolvables and dependencies. That is done in {Add,Remove}Package. * Resolvable does now have a list of Dependency objects, the ones it satisfies.
|
#
fe49869e03e724de875ad54c91f9f66275cfcf32 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add package link directories to system volume * Add PackageLinksListener interface. It is used by PackageLink[s]Directory to notify a listener about changes. * Volume does now implement PackageLinksListener and recursively adds/ removes package link directories. This makes the package link directories appear at least. They are still empty.
|
#
b5baaa8428dc8319bb8a040430cd44a9ae18b677 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
WIP: Create empty package links directories * Rename PackageFamily to PackageLinkDirectory and derive from Directory. * PackageLinksDirectory: Add the PackageLinkDirectory objects as children and remove the no longer needed hash table (we use the Directory's child hash table).
|
#
d175681861f0d38517da21cba36c14c08381ba8d |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move EmptyAttributeDirectoryCookie to own files
|
#
63875d1702406f1bdc0e0f7adaa3492dd9fa3bdd |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add yet empty package-links directory * Add PackageLinksDirectory Directory subclass. Currently not doing anything. * PackageFSRoot: Create a PackageLinksDirectory. * Volume: Add/remove the package links directory for the system volume.
|
#
e16ce53bccea3c101dadc1c4f4cfb73913aacd39 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Pull derived UnpackingDirectory out of Directory Move all package specifics from now abstract Directory to new derived class UnpackingDirectory and adjust the Volume implementation accordingly. This concludes the Node/Directory refactoring. Neither class is aware of packages anymore.
|
#
097e795f8e34d908418b06ae63d81d2f7916eb54 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Rename LeafNode to UnpackingLeafNode
|
#
20142717e78e3d349d0da642a8a5ae66a6d0a415 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Remove package related dependencies from Node * Move package related methods from Node to new interface UnpackingNode. * LeafNode and Directory derive from UnpackingNode now. * Adjust Volume implementation accordingly.
|
#
5167a807038bd05fa521f7efd389815578cb1bc9 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Attribute dir access kernel interface abstraction * Introduce interface AttributeDirectoryCookie and currently only implementation UnpackingAttributeDirectoryCookie. This is an interface for reading/rewinding an attribute directory. * Add abstract virtual Node::OpenAttributeDirectory() method that returns an AttributeDirectoryCookie and implement it for derived classes. * In the kernel interface attribute directory hooks use AttributeDirectoryCookie now.
|
#
882b03aba9f028dc99fd79499f3e20b52a91a485 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Kernel interface abstraction for attribute access * Introduce interface AttributeCookie and currently only implementation UnpackingAttributeCookie. This is an interface for reading/stat()ing an attribute. * Add abstract virtual Node::OpenAttribute() method that returns an AttributeCookie and implemented it for derived classes. * In the kernel interface attribute hooks use AttributeCookie now. The attribute directory hooks are unchanged.
|
#
991ba9fddf31971e08b038b0f84ff165c8cb94b7 |
|
23-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
WIP towards packagefs package links support * Introduce Version class representing a version. * Introduce Dependency and Resolvable class and add lists of either to Package. * Parse package attributes and add dependencies and resolvables to Package. * Add a mount type to Volume and add a respective mount parameter "mount-type" (values "system", "common", "home", "custom"). Also implies the shine-through type, if that's not given. * Introduce class PackageFamily which groups equally named and versioned packages. * Add class PackageFSRoot. Each instance represents a possible file system root (separate roots for different chroot environments). Tracks Volumes belonging to the same root and their packages.
|
#
fab5eddca9e54e7325fe452aed2c7a0bbd3dfe62 |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Split package kit DataReader.cpp Pull AttributeDataReader and FDDataReader implementations out of DataReader.cpp into own source files. Thus we can avoid dependencies (e.g. to fs_attr code) we don't need/want.
|
#
ad6a8dbe2bffcac6a1df7a59ee6119f240a8edee |
|
14-Feb-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Pulled reusable stuff from PackageReaderImpl into new class ReaderImplBase. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40485 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5fb1c6ff1f55fe4094a761b653041b3a0b9abf1d |
|
30-Jan-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Refactored hpkg implementation to provide some separation between public and private API (still far from ideal, but a start): * moved several HPKG-classes into the public namespace BPackageKit::HPKG * added fImpl-wrappers around PackageReader and PackageWriter to hide most of the gory details * adjusted 'package'-binary and packagefs accordingly git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40320 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0d6b3b20e15fe2cbeb5e81749f888c26ca289338 |
|
27-Jan-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
More work on package kit: * added class BPackageInfo, which contains packaging attributes of a package (the values relevant for package management) * implemented parser (mostly) for reading a BPackageInfo from a config file (.PackageInfo) in order to pass them on to the PackageWriter when creating a package * pulled hpkg-related stuff from bin/package into the package kit * adjusted packagefs-Volume to skip .PackageInfo files when populating the mountpoint, as those files shouldn't appear as part of an activated package git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40301 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
46776004f7f9bdf5af8c91372f050ee9f4e64076 |
|
18-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Extract the attributes from the package files and attach them as PackageNodeAttribute to the PackageNodes. * Implemented the attribute FS interface hooks. * Made Package and PackageNode BReferenceable. * Fixed the reference management for Node. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34119 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4e2cd77109c257aa0be1e475ddcd379f9e9286df |
|
18-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added new interface BufferCache -- basically a memory allocator with the option to cache a freed buffer -- and implementations BlockBufferCache{NoLock,Kernel}. * ZlibPackageDataReader does now dynamically get its read and uncompress buffers from a provided BufferCache when needed. * Allocating the buffers once and keeping them over the whole life time was a bit too memory heavy, since we create a reader for every file for which a vnode is created. A FS module global factory provides a buffer cache. * Added a mutex to PackageFile::DataAccessor which guards the access to the data reader which isn't thread safe. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34115 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
694cb0b270e4acba08d83b0a520217081011ba28 |
|
17-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented intermediate base class PackageLeafNode for PackageFile and PackageSymlink with a "fat" interface. * Replaced File and Symlink by fat class LeafNode. * Added Package* object management to Directory and LeafNode. * Implemented packagefs_read_symlink(), so symlinks work now. * Added some missing locking the kernel interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34096 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc32c48494415e116417542ddc25bf0d28e616c5 |
|
17-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Work in progress: * The FS parses package files from "/boot/common/packages" and builds an node tree representation of the contained entries. Merging directories should work. Lots of other stuff is missing yet, though. * Implemented the hooks for directory entry lookup and iteration. So it's possible to see the contents of the FS at least. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34088 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b932032a35bf6775e1b37bc3b39a2c9afa8c3ac1 |
|
15-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Implemented the most basic functionality required to cleanly mount and unmount (at least in userlandfs). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34069 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
eaf37e54bf6c781c10beadeddb2f3331d74f44f1 |
|
15-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added Jamfile for building for the userlandfs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34065 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3791c3fc274dc21abaaa8619045e016489ce123b |
|
15-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The very beginning of a package FS: Empty stubs for a minimal read-only file system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34064 a95241bf-73f2-0310-859d-f6bbb57e9c96
|