History log of /haiku-fatelf/src/add-ons/kernel/file_systems/udf/kernel_interface.cpp
Revision Date Author Comments
# c530d46c 09-Oct-2012 Jérôme Duval <jerome.duval@gmail.com>

UDF: support for metadata partition (feature from 2.50)

* added Icb::FindBlock() to find block in extents.
* MetadataPartition uses extents descriptors found in the metadatafile
to lookup blocks on a physical partition
* uses struct timespec instead of time_t
* added init_entities() to call C++ structures constructors. This is
called at module initialization, C++ constructors are currently not called when
a kernel module is loaded.
* tested with a sample bluray ISO.


# dcea2eba 26-Dec-2010 Michael Lotz <mmlr@mlotz.ch>

CID 2196: The sanity check did check the pointer size instead of the type size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39956 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


# d2a6c051 28-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed superfluous check, and fixed wrong indentation. This also closes
CID 1510.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38422 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17d87ddf 28-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* Finish the partition scanning part so that UDF is recognized and mountable.
* Added myself to the copyrights.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35654 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cadc8af 28-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* Cleanup the Jamfile, this one doesn't work on BeOS anymore.
* Turn off remaining verbose debug output.
* Add UDF to the default image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35653 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af15ee68 28-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* Implement udf_io and udf_get_file_map.
* Add file map and cache and do reads through the file_cache for file ICBs.
* Move the private _Read() backend from the header to the implementation file.
* Read() is now only used for directory iteration.
* Turned off the verbose debug output.
* Minor cleanup.

This fixes the abuse of the block_cache, should allow executables on UDF and
won't panic on protected content.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35652 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8d3a8691 27-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* UDF didn't actually initializing _flags to 0 (same as with fat).
* Set the _type as well, this gets file listings work.
* Some cleanup and debug output moves/fixes/additions.

Yet crashes when accessing files though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35647 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20d84995 20-Sep-2009 Rene Gollent <anevilyak@gmail.com>

Various changes to get this mostly compiling, with the exception of a template issue I don't yet completely understand.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33213 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


# 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


# 43a5ec83 22-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Added some more TRACE, eventually they will be removed
* replace sizeof(dirent) with sizeof(struct dirent) as the pointer passed was called dirent!
that would cause d_reclen to be set to the wrong value, making panic. Thanks Stefano!

I finally managed to mount and list its content.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27151 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 764ca477 22-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* fix udf build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27139 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e2dc263c 22-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Replaced some PRINT with TRACE
* Rename error to status
* Fix assignements in udf_read_stat
* Added udf_{close_dir,free_dir_cookie} hook functions which prevented
udf from mounting the partition

It seems mouting an udf partition works correctly but I'm still unable
to list its content.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27138 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 812da77b 21-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* added udf_{open,close,free_cookie,access}.

Still missing something though, as it still panics with an ip 0x0


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27112 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0c80398 21-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Removing new_vnode which was commented out in favor of publish_vnode
in order to publish the root node
* fixed _RootVNodeID assignement
* Applying our coding guidelines

Mounting now goes as far as lookup, then I get a panic from w>Desktop
thread in CreateVolume -> GetRootDirectory. ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27104 a95241bf-73f2-0310-859d-f6bbb57e9c96


# feea3738 20-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Replaced PRINT call with TRACE
* Improved debug output



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27084 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cef3610a 18-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Fixed typo that prevented udf from being picked up: it's "modules", not
"module" - hope that helps, Salvatore :-)
* Fixed warnings.
* Fixed udf_identify_partition() not to crash the system when a UDF partition
is available, and also fixed it to actually not claim non-UDF partitions.
* Moved partition naming (that shouldn't be done in identify!) to
udf_scan_partition(), and corrected it (ie. use strdup(), don't copy into
a NULL pointer...), but also disabled it for now, as it needs some more
work to pass a cookie from identify now.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27048 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4124725 18-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Removed DirectoryIterator.{h,cpp} and included them in Icp.{h,cpp}
* Porting Icb to new file cache system


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27017 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51933b55 16-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Renamed udf.cpp to kernel_interface.cpp and ported it to the new FS API.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26994 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c530d46cca3cb9bde36e243e634796eb2e17a23a 09-Oct-2012 Jérôme Duval <jerome.duval@gmail.com>

UDF: support for metadata partition (feature from 2.50)

* added Icb::FindBlock() to find block in extents.
* MetadataPartition uses extents descriptors found in the metadatafile
to lookup blocks on a physical partition
* uses struct timespec instead of time_t
* added init_entities() to call C++ structures constructors. This is
called at module initialization, C++ constructors are currently not called when
a kernel module is loaded.
* tested with a sample bluray ISO.


# dcea2eba12b084218a04dd4d8287ea6e5fe07a3b 26-Dec-2010 Michael Lotz <mmlr@mlotz.ch>

CID 2196: The sanity check did check the pointer size instead of the type size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39956 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


# d2a6c0514540895f9459c33ef43022d7ac83efc6 28-Aug-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed superfluous check, and fixed wrong indentation. This also closes
CID 1510.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38422 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17d87ddf36f84df7f990af426944ae72da4a8cab 28-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* Finish the partition scanning part so that UDF is recognized and mountable.
* Added myself to the copyrights.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35654 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cadc8aff2fd2c7fdf2b48c7b8dc4f83324c5594 28-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* Cleanup the Jamfile, this one doesn't work on BeOS anymore.
* Turn off remaining verbose debug output.
* Add UDF to the default image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35653 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af15ee68f1946a47cad0c4de56dfd9b3de213d77 28-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* Implement udf_io and udf_get_file_map.
* Add file map and cache and do reads through the file_cache for file ICBs.
* Move the private _Read() backend from the header to the implementation file.
* Read() is now only used for directory iteration.
* Turned off the verbose debug output.
* Minor cleanup.

This fixes the abuse of the block_cache, should allow executables on UDF and
won't panic on protected content.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35652 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8d3a8691d4a47bd8de146d044f820557ce28c13b 27-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* UDF didn't actually initializing _flags to 0 (same as with fat).
* Set the _type as well, this gets file listings work.
* Some cleanup and debug output moves/fixes/additions.

Yet crashes when accessing files though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35647 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20d84995300bd9c3c5fd62bf8ba599aa7c7e0de9 20-Sep-2009 Rene Gollent <anevilyak@gmail.com>

Various changes to get this mostly compiling, with the exception of a template issue I don't yet completely understand.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33213 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


# 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


# 43a5ec83efb303e1937d0a0af48159efbb4b3358 22-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Added some more TRACE, eventually they will be removed
* replace sizeof(dirent) with sizeof(struct dirent) as the pointer passed was called dirent!
that would cause d_reclen to be set to the wrong value, making panic. Thanks Stefano!

I finally managed to mount and list its content.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27151 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 764ca4773be36149604e9a992206639aef016e8e 22-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* fix udf build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27139 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e2dc263c431e22a72cc42ed5c7b86ba8b813ec2d 22-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Replaced some PRINT with TRACE
* Rename error to status
* Fix assignements in udf_read_stat
* Added udf_{close_dir,free_dir_cookie} hook functions which prevented
udf from mounting the partition

It seems mouting an udf partition works correctly but I'm still unable
to list its content.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27138 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 812da77b028a284efece1e982cc3658824d41c8d 21-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* added udf_{open,close,free_cookie,access}.

Still missing something though, as it still panics with an ip 0x0


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27112 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0c80398165f2838001154ad4c1ab580f65f48a3 21-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Removing new_vnode which was commented out in favor of publish_vnode
in order to publish the root node
* fixed _RootVNodeID assignement
* Applying our coding guidelines

Mounting now goes as far as lookup, then I get a panic from w>Desktop
thread in CreateVolume -> GetRootDirectory. ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27104 a95241bf-73f2-0310-859d-f6bbb57e9c96


# feea37380d164710fe55ad7a3526d62b0ccf6c20 20-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Replaced PRINT call with TRACE
* Improved debug output



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27084 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cef3610a76394f4d5e5fb3f882a6e210f307edf6 18-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Fixed typo that prevented udf from being picked up: it's "modules", not
"module" - hope that helps, Salvatore :-)
* Fixed warnings.
* Fixed udf_identify_partition() not to crash the system when a UDF partition
is available, and also fixed it to actually not claim non-UDF partitions.
* Moved partition naming (that shouldn't be done in identify!) to
udf_scan_partition(), and corrected it (ie. use strdup(), don't copy into
a NULL pointer...), but also disabled it for now, as it needs some more
work to pass a cookie from identify now.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27048 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a41247254616ec78e3c67297653b4b5f4475abb4 18-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Removed DirectoryIterator.{h,cpp} and included them in Icp.{h,cpp}
* Porting Icb to new file cache system


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27017 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51933b55338ae30c8618617d6f7aa64b9faa878c 16-Aug-2008 Salvatore Benedetto <salvatore.benedetto@gmail.com>

* Renamed udf.cpp to kernel_interface.cpp and ported it to the new FS API.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26994 a95241bf-73f2-0310-859d-f6bbb57e9c96