haiku/headers
Ingo Weinhold 98a5231fe5 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.
2013-07-27 17:45:59 +02:00
..
build Convert fs_host files from c back to cpp and style changes. 2012-08-13 18:51:59 -04:00
compatibility Drop "protected"-define from bsd-compatibility header 2012-11-05 09:37:55 +01:00
config Merge branch 'master' into x86_64 2012-08-16 21:11:15 +01:00
cpp Allow use of c_str() on wstring. 2012-10-27 17:14:55 +02:00
glibc
libs Discard Termcap and switch console apps to use Terminfo 2013-05-23 14:07:50 +02:00
os Introduce vnode op supports_operation(), fix devfs_io() 2013-07-27 17:45:59 +02:00
posix libnetwork: Check for ipv4 flag in resolv.conf 2013-04-14 17:03:32 -05:00
private virtio.h: remove trailing whitespaces. 2013-07-18 18:27:01 +02:00
tools