#
46b7da1f |
| 08-May-2022 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Merge branch 'master' into dev/netservices
Change-Id: I1eb6c2ea2fd0d794ad6378eab8bbb80ce46dfbb8
|
#
92030a4a |
| 22-Mar-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
Revert "vfs: functions to change a vnode busy status and ID"
This reverts commit 8497a2cc289f6d991147995507e4efc0ae189147.
The VFS layer is not at all ready for this. Many places in the code implic
Revert "vfs: functions to change a vnode busy status and ID"
This reverts commit 8497a2cc289f6d991147995507e4efc0ae189147.
The VFS layer is not at all ready for this. Many places in the code implicitly assume ino_t values will never change. This functionality is only necessary for live shrinking of partitions, which is a feature niche enough we do not need to worry about implementing it in the first round of resizing (if ever.)
show more ...
|
#
8497a2cc |
| 12-Jul-2012 |
ahenriksson <sausageboy@gmail.com> |
vfs: functions to change a vnode busy status and ID
The kernel version is only partially tested.
Change-Id: I9a2f6c78087154ab137eadbced99062a8a2dd688 Reviewed-on: https://review.haiku-os.org/c/918
vfs: functions to change a vnode busy status and ID
The kernel version is only partially tested.
Change-Id: I9a2f6c78087154ab137eadbced99062a8a2dd688 Reviewed-on: https://review.haiku-os.org/c/918 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
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 file
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.
show more ...
|
#
5a95af70 |
| 25-Oct-2014 |
Axel Dörfler <axeld@pinc-software.de> |
vfs/{b|btr|package|b}fs/ext2/exfat: common access check.
* Added VFS helper function check_access_permissions() that combines several partially correct versions to the one true version (tm). * All
vfs/{b|btr|package|b}fs/ext2/exfat: common access check.
* Added VFS helper function check_access_permissions() that combines several partially correct versions to the one true version (tm). * All but BFS (since recently) missed the S_IXOTH for root on directories, and all but packagefs missed proper group handling.
show more ...
|
#
5163e1c6 |
| 27-Jul-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Revert "Introduce vnode op supports_operation(), fix devfs_io()"
This reverts commit 98a5231fe5497c526849f2d84b1a9bbcbdfd2dbc.
|
#
98a5231f |
| 27-Jul-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Introduce vnode op supports_operation(), fix devfs_io()
devfs_io() can't fall back to calling vfs_synchronous_io(), if the device driver doesn't support handling requests asynchronously. The presenc
Introduce vnode op supports_operation(), fix devfs_io()
devfs_io() can't fall back to calling vfs_synchronous_io(), if the device driver doesn't support handling requests asynchronously. The presence of the io() hook leads the VFS (do_iterative_fd_io()) to believe that asynchronous handling is supported and set a finished-callback on the request which calls the io() hook to start the next chunk. Thus, instead of iterating through the request in a loop the iteration happens recursively. For sufficiently fragmented requests the stack may overflow (ticket #9900).
* Introduce a new vnode operation supports_operation(). It can be called by the VFS to determine whether a present hook is actually currently supported for a given vnode. * devfs: implement the new hook and remove the fallback handling in devfs_io(). * vfs_request_io.cpp: use the new hook to determine whether the io() hook is really supported.
show more ...
|
#
25a7b01d |
| 05-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature
Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature "gcc2" to allow for easier checks. * Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter is not needed and prevents building for the build platform. * zlib/zutil.h: Fix gcc 2 build. We really should use the external package instead.
Conflicts: .gitignore build/jam/BuildSetup build/jam/FileRules build/jam/FloppyBootImage build/jam/HaikuImage build/jam/ImageRules build/jam/KernelRules build/jam/NetBootArchive build/jam/OptionalBuildFeatures build/jam/OptionalLibPackages build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_haiku_image configure data/bin/installoptionalpackage data/system/boot/Bootscript headers/os/app/Message.h headers/os/package/PackageInfo.h headers/os/package/PackageInfoAttributes.h headers/os/package/PackageInfoSet.h headers/os/package/PackageRoster.h headers/os/package/PackageVersion.h headers/os/package/hpkg/PackageInfoAttributeValue.h headers/os/storage/FindDirectory.h headers/os/storage/Node.h headers/os/support/StringList.h headers/private/system/directories.h src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp src/add-ons/kernel/file_systems/packagefs/Jamfile src/add-ons/kernel/file_systems/packagefs/Package.cpp src/add-ons/kernel/file_systems/packagefs/Package.h src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp src/add-ons/kernel/file_systems/packagefs/PackageDomain.h src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageNode.h src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp src/add-ons/kernel/file_systems/packagefs/Version.cpp src/add-ons/kernel/file_systems/packagefs/Version.h src/add-ons/kernel/file_systems/packagefs/Volume.cpp src/add-ons/kernel/file_systems/packagefs/Volume.h src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c src/apps/deskbar/BarApp.cpp src/apps/deskbar/BarMenuBar.cpp src/apps/deskbar/BarMenuBar.h src/apps/deskbar/BarView.cpp src/apps/deskbar/BarView.h src/apps/deskbar/BarWindow.cpp src/apps/deskbar/BarWindow.h src/apps/deskbar/DeskbarMenu.cpp src/apps/deskbar/DeskbarMenu.h src/apps/deskbar/DeskbarUtils.cpp src/apps/deskbar/DeskbarUtils.h src/apps/deskbar/ExpandoMenuBar.cpp src/apps/deskbar/ExpandoMenuBar.h src/apps/deskbar/TeamMenu.cpp src/apps/processcontroller/ProcessController.cpp src/apps/remotedesktop/RemoteDesktop.cpp src/bin/bash/config-top.h src/bin/finddir.c src/bin/package/Jamfile src/bin/package/command_add.cpp src/bin/package/command_create.cpp src/bin/package/command_list.cpp src/bin/package_repo/command_list.cpp src/bin/pkgman/command_refresh.cpp src/build/libbe/support/Jamfile src/build/libpackage/Jamfile src/build/libroot/Jamfile src/build/libroot/fs.cpp src/build/libroot/remapped_functions.h src/kits/locale/MutableLocaleRoster.cpp src/kits/opengl/GLRendererRoster.cpp src/kits/package/PackageInfo.cpp src/kits/package/PackageInfoSet.cpp src/kits/package/PackageRoster.cpp src/kits/package/PackageVersion.cpp src/kits/package/RepositoryCache.cpp src/kits/package/hpkg/PackageWriterImpl.cpp src/kits/package/hpkg/ReaderImplBase.cpp src/kits/package/hpkg/WriterImplBase.cpp src/kits/print/PrintTransport.cpp src/kits/print/Printer.cpp src/kits/screensaver/ScreenSaverRunner.cpp src/kits/support/StringList.cpp src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/PoseView.cpp src/libs/print/libprint/Transport.cpp src/preferences/printers/AddPrinterDialog.cpp src/preferences/screensaver/ScreenSaverWindow.cpp src/servers/debug/DebugServer.cpp src/servers/input/AddOnManager.cpp src/servers/media_addon/MediaAddonServer.cpp src/system/boot/Jamfile src/system/boot/loader/Jamfile src/system/boot/loader/loader.cpp src/system/boot/loader/vfs.cpp src/system/kernel/fs/vfs.cpp src/system/kernel/fs/vfs_boot.cpp src/system/libroot/os/find_directory.cpp src/system/runtime_loader/runtime_loader.cpp src/tools/package/Jamfile
show more ...
|
#
8b72ce26 |
| 12-Mar-2013 |
François Revol <revol@free.fr> |
Merge branch 'master' into sam460ex
|
#
7f61e6e4 |
| 11-Mar-2013 |
Pawel Dziepak <pdziepak@quarnos.org> |
Merge branch 'nfs4'
Conflicts: build/jam/HaikuImage
|
#
d764d148 |
| 27-Jun-2012 |
Pawel Dziepak <pdziepak@quarnos.org> |
Allow file systems to manage file locks
Haiku implements file locking at vfs level. That would not work for remote and shared file systems, since they need to negotiate locks with peers. This patch
Allow file systems to manage file locks
Haiku implements file locking at vfs level. That would not work for remote and shared file systems, since they need to negotiate locks with peers. This patch introduces three additional hooks in fs_interface that allow file system module to take over the management of file locks.
show more ...
|
#
90ade5e2 |
| 13-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added file_system_module_info::uninitialize() analogously to partition_module_info::uninitialize(). * Implemented the hook for BFS. * Implemented KFileSystem::Uninitialize().
Fixes failure to in
* Added file_system_module_info::uninitialize() analogously to partition_module_info::uninitialize(). * Implemented the hook for BFS. * Implemented KFileSystem::Uninitialize().
Fixes failure to initialize a BFS initialized device with an intel partition map.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42142 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
4a5a077f |
| 24-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only g
Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs. Fix copy right.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39131 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
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-
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
show more ...
|
#
78e7cdae |
| 16-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed the get_next_removed_vnode() call again - besides the problems Ingo pointed out, there is also an unsolvable race condition with BFS that other file systems should share.
git-svn-id:
* Removed the get_next_removed_vnode() call again - besides the problems Ingo pointed out, there is also an unsolvable race condition with BFS that other file systems should share.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30204 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
4e98292b |
| 15-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Introduced new call get_next_removed_vnode() to be able to iterate over removed but not yet deleted vnodes. * Simplified get_vnode_removed(). * Header cleanup.
git-svn-id: file:///srv/svn/repos
* Introduced new call get_next_removed_vnode() to be able to iterate over removed but not yet deleted vnodes. * Simplified get_vnode_removed(). * Header cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30176 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
3cf43c26 |
| 26-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 s
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
show more ...
|
#
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 overl
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
show more ...
|
#
b1a58597 |
| 19-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Add a new fs_volume op all_layers_mounted() that is called when all layers have been mounted. This is to allow layered filesystems to setup internal data that requires all the sub/super volumes to be
Add a new fs_volume op all_layers_mounted() that is called when all layers have been mounted. This is to allow layered filesystems to setup internal data that requires all the sub/super volumes to be available.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29248 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
a26c2439 |
| 14-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Adding volume ops to the overlay filesystem. * Remove the previous method of applying the overlay by flags. In the future the overlay can just be mounted as a filesystem layer. This is probably h
* Adding volume ops to the overlay filesystem. * Remove the previous method of applying the overlay by flags. In the future the overlay can just be mounted as a filesystem layer. This is probably how layers were intended to work in the first place. * Move the filesystem module info and filesystem name from the fs_mount to the fs_volume structure. Filesystem layering is done by having multiple layered volumes and we want to be able to have a different fs per layer. * Adapt VFS code to this move. * Implement mounting layered filesystems. Specifying multiple filesystems separated by a colon on mount will cause the layers to be set up and the corresponding filesystems to be mounted at that layer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29199 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
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. * A
* 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
show more ...
|
#
9f6ae76f |
| 01-Aug-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added acquire_vnode() call that you can use to get another reference to an inode - unlike get_vnode() the busy flag won't prevent you from getting that reference. * Changed put_vnode() to retur
* Added acquire_vnode() call that you can use to get another reference to an inode - unlike get_vnode() the busy flag won't prevent you from getting that reference. * Changed put_vnode() to return an error in case the vnode couldn't be found.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26713 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
7f12cc54 |
| 30-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* It is now supported that I/O operations and requests are only handled partially (e.g. due to hitting the end of file). The respective classes have grown new methods and attributes to deal with
* It is now supported that I/O operations and requests are only handled partially (e.g. due to hitting the end of file). The respective classes have grown new methods and attributes to deal with that. The "finished" callbacks have got additional parameters to indicate whether the transfer was only partial and how much has been transferred. Other callbacks and functions have a size_t* in/out parameter instead of a simple size_t, now. * vfs_{read,write}_pages() do now use the I/O request framework instead of the underlying FS's {read,write}_pages() hooks (those should be unused now). Furthermore they've got an additional "flags" parameter, which is passed to IORequest::Init(), i.e. it allows to specify that the given vecs refer to physical addresses. * The file cache's read_into_cache() reads directly into physical pages, now. * Fixed bug in DoIO::IO(): The offset was not adjusted, so that all pages were incorrectly transferred from/to the same location. * Fixed broken subrequest scheduling loop head in do_iterative_fd_io_iterate(). * Adjusted the test driver and implemented its io() hook. Using this driver I/O requests are passed all the way from the VFS/VM to the driver and through the I/O scheduler. It even seems to work. :-) * Added missing const to the iovec* parameter of the IORequest::Init() methods. * Disabled some debug output by default. Added new optional debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26692 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
7df40c23 |
| 28-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added handy function volume_for_vnode() which returns the fs_volume for a given given fs_vnode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26669 a95241bf-73f2-0310-859d-f6bbb57e9c96
|