564e7d37 | 10-Aug-2015 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: workaround: mount cb bails for failed mount
The zev mount callback got called for failed mounts, which then crashed the system when the callback tried to access zfsvfs data. A fix in zfs_mount(
zev: workaround: mount cb bails for failed mount
The zev mount callback got called for failed mounts, which then crashed the system when the callback tried to access zfsvfs data. A fix in zfs_mount() was written, but since updating the zfs module is painful we also work around this problem from inside the callback, so that only the zev module needs to be updated.
Seperate commit so it can be backported to earlier titanic releases.
(cherry picked from commit 06a9f6b8e3d58ecf30294ed84afa5b700aed283d)
show more ...
|
6450d95e | 08-Jul-2015 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: dynamically create temporary queues
The zev driver can now create new ephemeral queues in the fly.
When the tmpqueue device is opened, a new non-persistent queue is created and the userland ca
zev: dynamically create temporary queues
The zev driver can now create new ephemeral queues in the fly.
When the tmpqueue device is opened, a new non-persistent queue is created and the userland can immediatly use it as though the tmpqueue device itself was a valid queue device. As soon as the device is closed the temporary queue is removed.
This should make using tmp queues easier. It is no longer necessary to find or generate a free queue name, and tmp queues opened via the tmpqueue device can not be orphaned - they are already opened when they are created. Using the old method a userland process might crash or forget about a tmp queue it has created - which would then remain in the queue list indefinitly.
(cherry picked from commit 441d11320a78072d7e6d87230d4271396bf53648)
show more ...
|
1ca5a13b | 22-Jul-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: create and symlink events now inlude checksum
When a symlink or another new file is created, the resulting zev events now include a signature for the new file.
Symlinks are treated like files
zev: create and symlink events now inlude checksum
When a symlink or another new file is created, the resulting zev events now include a signature for the new file.
Symlinks are treated like files that contain the "link" part as text. Block and character devices have a signature based on the format string "%c%d,%d", with 'b'/'c', getmajor() and getminor() as values. All other file types will result in an all-zero signature.
Hardlinks create a new directory entry, but no new inode. Therefore, rdlink events still do not contain a signature.
(cherry picked from commit d27baf235074c236575a6c7ec7d3fe89a7d8af6e)
show more ...
|
4ca7dd5e | 08-May-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: changes for #1891 review (multiplayer)
Review feedback addressed in this commit:
- remove avl, replace with array - read() can block (but can be interrupted by signals) - style changes - q
zev: changes for #1891 review (multiplayer)
Review feedback addressed in this commit:
- remove avl, replace with array - read() can block (but can be interrupted by signals) - style changes - queue threshold can be set to 0 bytes (no delay) - FIND_QUEUE macro replaced by function - new mutex to avoid races when queues are full - zevadm can be told to poll events from a specified queue - zevadm can create blocking queues
additional changes:
- mark events are delivered without delay
(cherry picked from commit e4ea145c5d454bda934f8af75eec9ea17f2489c0)
show more ...
|