History log of /haiku/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp
Revision Date Author Comments
# 4024e5b6 24-Aug-2023 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Do not advertise ourselves as a persistent filesystem.

The original change to fix ramfs appearance (hrev56642)
in Tracker and elsewhere said the reason for adding the
FS_IS_REMOVABLE flag instead of removing FS_IS_PERSISTENT
was because of problems encountered with writing/deleting
entries on ramfs mounts.

I was unable to reproduce those problems; writing and
deleting entries on RAMFS mounts still works just fine
in Tracker and elsewhere, even after removing the flag.
So it seems safe to remove; subsequent problems can be
addressed as they come up.

Fixes #18173.


# b89f1199 24-Aug-2023 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Rewrite Query system to use the common Query parser-evaluator.

The common version was also derived from BFS' original implementation,
but was genericized during packagefs development, and has more recent
fixes and additions.

Only lightly tested, but arbitrary-attribute-indexed queries seem to be
working just fine.


# 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>


# 1cae9edc 14-Dec-2022 Oscar Lesta <oscar.lesta@gmail.com>

ramfs: add B_FS_IS_REMOVABLE as a workaround for #18137

This work-arounds the issue of the VirtualMemory preflet showing
RAM FS volumes as valid storage options for the swap file.

Removing B_FS_IS_PERSISTENT didn't work as I originally expected,
causing problems when attempting to write/delete entries on RAMFS
mounts after that.

Kudos to waddlesplash for the B_FS_IS_REMOVABLE alternative.

Change-Id: Id5ba1fa192b63b944cf59413a7f580ebb608e50d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5911
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 4e742d81 29-Nov-2022 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Volume->WriteLock but do not unlock in unmount.

As, of course, we are deleting it. This problem was obscured by the
one fixed by the previous commit.


# d48f4fd0 29-Nov-2022 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Prevent creating files or directories named "." and "..".

Fixes #18031.


# 05fdda96 29-Nov-2022 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Acquire write lock before unmounting.

Might help with #18032.


# d5c130a3 29-Nov-2022 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Whitespace fixes, no functional change.


# 0c6a5835 03-Nov-2022 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Set vnode cache in ramfs_create instead of ramfs_open.

This way it will always be set even on the first creation,
and avoids unnecessary sets. Fixes mmap() of newly created files.


# f9b218aa 26-May-2020 Jérôme Duval <jerome.duval@gmail.com>

file_systems: fs_read_link() doesn't use a user buffer

introduced in hrev26728 and hrev54107.

Change-Id: I3e98d54e829bcce559c43a8ee1abe4d889c0a571
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2819
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# e1b7c1c7 19-Apr-2020 Kyle Ambroff-Kao <kyle@ambroffkao.com>

storage/SymLink: Fix Be API regression in ReadLink

After this patch, "UnitTester BSymLink" passes.

BSymLink::ReadLink() in BeOS would always return the length of the
link unless an error occurred. Before this patch, Haiku instead seemed
to emulate posix readlink() behavior, returning the number of bytes
copied into the output buffer.

BeOS also did not guarantee that the string written into the output
buffer is NULL terminated if the output buffer cannot contain the
entire link contents, but the Haiku implementation does since it is is
a basic safety issue.

This patch fixes this and updates the Haiku API docs to describe the
behavior explicitly.

Fixing this required changing behavior in bfs_read_link, which
required changes in many more places.

docs/user/storage/SymLink.dox:
src/kits/storage/SymLink.cpp:
* Don't return B_BUFFER_OVERFLOW if the provided buffer is not large
enough to hold the link contents.
* Update documentation to clearly describe behavior.

src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp:
* Change bfs_read_link() to always return the link length. This is
called by common_read_link in the VFS, which is called by
_kern_read_link().

src/add-ons/kernel/file_systems/btrfs/kernel_interface.cpp:
src/add-ons/kernel/file_systems/exfat/kernel_interface.cpp:
src/add-ons/kernel/file_systems/ext2/kernel_interface.cpp:
src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp:
src/add-ons/kernel/file_systems/netfs/client/netfs.cpp:
src/add-ons/kernel/file_systems/nfs/nfs_add_on.c:
src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp:
src/add-ons/kernel/file_systems/reiserfs/Iterators.cpp:
src/add-ons/kernel/file_systems/reiserfs/Iterators.h:
src/add-ons/kernel/file_systems/reiserfs/Volume.cpp:
src/add-ons/kernel/file_systems/reiserfs/Volume.h:
* Update the implementation of read_link for these filesystems. Some
of them were incorrect, and some had just copied the posix behavior of
bfs from before this patch.
* Use user_memcpy in ext2_read_link()
* Use user_memcpy in nfs fs_read_link()
* Use user_memcpy in reiserfs StreamReader::_ReadIndirectItem and
StreamReader::_ReadDirectItem
* Remove unused method Volume::ReadObject in reiserfs.

src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingLeafNode.cpp:
src/add-ons/kernel/file_systems/packagefs/package_links/PackageLinkSymlink.cpp:
* Update UnpackingLeafNode::ReadSymlink and
PackageSymLink::ReadSymLink() to set the bufferSize out parameter to
the symlink length. Both of these are called by
packagefs_read_symlink.
* Use user_memcpy

src/add-ons/kernel/file_systems/netfs/client/netfs.cpp:
* netfs seems mostly unimplemented. Added a FIXME note for future
implementers so that they know to implement the correct behavior.

src/system/libroot/posix/unistd/link.c:
* readlinkat() was just wrapping _kern_read_link() because before this
patch it had expected posix behavior. But now it does not, so we
need to return the number of bytes written to the output
buffer.

src/build/libroot/fs.cpp:
* Update _kern_read_link() in the compatibility code to emulate the
Haiku behavior on the host system. This is done by using an
intermediate buffer that is guaranteed to fit the link contents and
returning its length. The intermediate buffer is copied into the
output buffer until there is no more room.

src/tests/kits/storage/SymLinkTest.cpp:
* This patch also resolves some test failures similar to those
resolved in ee8cf35f0 which fixed tests for BNode. The tests were
failing because Haiku's error checking is just better.

BeOS allowed constructing a BSymLink with BSymLink(BDirectory*,
const char*) with the entry name of "". The same is true of the
equivilant SetTo() method. The BSymLink object will appear valid
until you attempt to use it by, for example, calling the ReadLink
method, which will return B_BAD_VALUE.

Haiku does a more appropriate thing and returns B_ENTRY_NOT_FOUND,
for this constructor and the equivilant SetTo(BDirectory*, const
char*) method. This patch fixes these test assertions to match Haiku
behavior.

docs/develop/file_systems/overview.txt:
* Add notes for future filesystem driver implementers to call this
mistake when implementing fs_vnode_ops::read_symlink.

docs/user/drivers/fs_interface.dox:
* Fix documentation for fs_vnode_ops::read_symlink

Change-Id: I8bcb8b2a0c9333059c84ace15844c32d4efeed9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2502
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# 58a582ff 31-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Set the vnode's cache object when opening files.

Now it is possible to run applications, do Git checkouts, etc.
on a ramfs (and those seem to work just fine -- a git checkout
followed by a git fsck both succeeded.)


# cbc07268 31-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Overhaul block allocation to use a VMCache and physical pages.

This is a massive efficiency improvement as well as a large address
space usage savings. It also paves the way for file_map() support...


# 349ab005 30-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Fix miscellaneous warnings.


# 29143642 30-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Fix debugging print macro invocations and use B_PRI*.


# b2c20927 30-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Fix setting the ops and an incorrect node cast.

And now ramfs works!


# a41d815c 22-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Lots of fixes to the build.

* Store pointers in an addr_t instead of int32, for 64-bit's sake
* Use DebugSupport.h instead of userlandfs Debug.h and remove extra parentheses
* Create a header-only String class based on the userlandfs String and use it
* RecursiveLock instead of Locker.
* Jamfile cleanups and other misc. changes.

It isn't yet adapted to the new VFS API, so the build is still somewhat
broken.


# 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.


# ca3d3619 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

correct cookie pointers to match filesystem operations; new to new.h; fix parameters of ramfs_read_vnode

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


# 39313f22 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

begin reorganizing ramfs callback parameters to match new filesystem driver standard; correct incorrect style fix as per Ingo; correct layout of fs operation mapping struct

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


# 6305a11c 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

tweak the last of the nodes; break apart old style file_system_module_info; add fVolume to Volume to replicate bfs style

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


# 84a47418 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

change legacy fs_cookie to void**; tweak a few node function parameters

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


# f76a033d 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

first round of style cleanup on ramfs driver; change node _dir to pointer in ramfs_lookup function

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


# 3de080c1 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

change format of fs_volume to match current kernel filesystem interface

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


# f53ec236 02-Mar-2011 Jérôme Duval <korli@users.berlios.de>

changed ioctl hook return code when the opcode isn't supported.


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


# 9d570af7 24-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Changed the type of the "op" parameter of the fs_vnode_ops::ioctl() hook and
the _kern_ioctl() syscall from ulong to uint32.


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


# 3cf43c26 25-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the fs_vnode_ops::create_dir() parameter for returning the ID of the
newly created dir. The VFS really doesn't need it and for some file systems
it might not be easy to get by. Several file systems (e.g. rootfs and fat)
were ignoring the parameter anyway.


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


# aa085ffe 05-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed UserlandFS shared Locker class. Instead use BLocker in userland and
RecursiveLock in the kernel.
* Several adjustments according to UserlandFS header changes.
* Re-added reiserfs to image.


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


# 057f999d 13-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Added a flag B_DISK_SYSTEM_SUPPORTS_WRITING to determine whether or not a
file system can write to files before mounting.
* Set the flag for all file systems that actually can write.


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


# 04a969c8 23-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

Should have been part of r24552 (replaced FS_WRITE_STAT_* constants with
the B_STAT_* constants as found in NodeMonitor.h).


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


# 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


# 43c46e93 11-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Copy'n'paste leftovers.


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


# c7a72423 06-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

*sigh* svn really messed it up. I supposed one should make sure to run
update on the directory to be copied before doing it, even if it is up
to date.

Anyway: Ported RamFS to Haiku's FS interface. Change set apparently merged
with older changes.


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


# 224e7c42 06-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Mmh, apparently I have to check the copied directory itself in first.


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


# ca3d3619b6a273c61576a1adc81fa576f60bd6f0 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

correct cookie pointers to match filesystem operations; new to new.h; fix parameters of ramfs_read_vnode

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


# 39313f2227c9643934a165112f075e2fe0ec8ef0 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

begin reorganizing ramfs callback parameters to match new filesystem driver standard; correct incorrect style fix as per Ingo; correct layout of fs operation mapping struct

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


# 6305a11cd46507131bc5957f4469b61ac16d17e6 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

tweak the last of the nodes; break apart old style file_system_module_info; add fVolume to Volume to replicate bfs style

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


# 84a474186f3bc3b23ff64ad49636fe4a6cfff851 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

change legacy fs_cookie to void**; tweak a few node function parameters

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


# f76a033d0472e4c0f400c73709ab5ce37990daee 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

first round of style cleanup on ramfs driver; change node _dir to pointer in ramfs_lookup function

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


# 3de080c1861217c806c494b8ff797c064fba2a0a 07-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

change format of fs_volume to match current kernel filesystem interface

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


# f53ec236e22695929663822b4050b3cfe9a10c09 02-Mar-2011 Jérôme Duval <korli@users.berlios.de>

changed ioctl hook return code when the opcode isn't supported.


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


# 9d570af7c878ba30043b23e6dce5f3ae5578aa7c 24-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Changed the type of the "op" parameter of the fs_vnode_ops::ioctl() hook and
the _kern_ioctl() syscall from ulong to uint32.


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


# 3cf43c26516b695e35b7433196a530f7541c4ca8 25-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed the fs_vnode_ops::create_dir() parameter for returning the ID of the
newly created dir. The VFS really doesn't need it and for some file systems
it might not be easy to get by. Several file systems (e.g. rootfs and fat)
were ignoring the parameter anyway.


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


# aa085ffef993707b59f861a32404f1fca50055e9 05-Mar-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed UserlandFS shared Locker class. Instead use BLocker in userland and
RecursiveLock in the kernel.
* Several adjustments according to UserlandFS header changes.
* Re-added reiserfs to image.


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


# 057f999da63f5d006591b41a284c0cd50ccbb042 13-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* Added a flag B_DISK_SYSTEM_SUPPORTS_WRITING to determine whether or not a
file system can write to files before mounting.
* Set the flag for all file systems that actually can write.


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


# 04a969c8cfb2742a344641d7e59939944891fd93 23-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

Should have been part of r24552 (replaced FS_WRITE_STAT_* constants with
the B_STAT_* constants as found in NodeMonitor.h).


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


# 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


# 43c46e93803f332d95693a630e3e2ea90dd21fef 11-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Copy'n'paste leftovers.


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


# c7a724230744a64dc579d987791f5ff4e3239115 06-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

*sigh* svn really messed it up. I supposed one should make sure to run
update on the directory to be copied before doing it, even if it is up
to date.

Anyway: Ported RamFS to Haiku's FS interface. Change set apparently merged
with older changes.


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


# 224e7c42697a7425059175c74edb62e706477d52 06-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Mmh, apparently I have to check the copied directory itself in first.


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