#
4053e902 |
| 03-Dec-2015 |
Simon Klinkert <klinkert@webgods.de> |
zev: fix wrong return code in zev_get_checksums
Return EIO if offset > znode size instead of 0 (success)
(cherry picked from commit de5d7d2ae3b023a958df7ca3bb8d40aa9638fb30)
|
#
86dc7a29 |
| 03-Dec-2015 |
Simon Klinkert <klinkert@webgods.de> |
zev: fix double free in zev_get_checksums()
this fix is related to https://redmine.ob1.de/issues/2920
(cherry picked from commit aafcdfa4fe23b427b0efcbfe7b1950c80ac40251)
|
#
df8caf2d |
| 23-Nov-2015 |
Simon Klinkert <klinkert@webgods.de> |
further lint fixes
(cherry picked from commit 4ab1323af43e16c3c75773a928cdb4b8a38b6621)
|
#
a287bd3a |
| 20-Jul-2015 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: lock zfsvfs for znode operations
Akin to zfs' other znode ops, zev now uses (a modified version of) ZFS_ENTER, ZFS_VERIFY_ZP and ZFS_EXIT to protect against operations on unmounted object sets.
zev: lock zfsvfs for znode operations
Akin to zfs' other znode ops, zev now uses (a modified version of) ZFS_ENTER, ZFS_VERIFY_ZP and ZFS_EXIT to protect against operations on unmounted object sets. This only concerns the get_checksums ioctl. All other znode ops are callbacks from inside zfs znode ops, so the locks were already held.
(cherry picked from commit f8d4f0f619a3e7597825fb95d1aa6dc322694d3c)
show more ...
|
#
16a2f000 |
| 04-Feb-2015 |
Simon Klinkert <klinkert@webgods.de> |
zev fix: ds_phys was replaced by dsl_dataset_phys().
replaced by commit 8d62b2231107 commit msg: 5314 Remove "dbuf phys" db->db_data pointer aliases in ZFS
(cherry picked from commit 0358d6fdc001dc
zev fix: ds_phys was replaced by dsl_dataset_phys().
replaced by commit 8d62b2231107 commit msg: 5314 Remove "dbuf phys" db->db_data pointer aliases in ZFS
(cherry picked from commit 0358d6fdc001dc06b41229927fa1b0b0910edbff)
show more ...
|
#
c2200253 |
| 12-Nov-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: add l0 checksum to truncates at offset 4096
Since the beaverd doesn't store l0 checksums for files larger than 4k, we need a way to get that checksum if a file shrinks to 4k. This worked if it
zev: add l0 checksum to truncates at offset 4096
Since the beaverd doesn't store l0 checksums for files larger than 4k, we need a way to get that checksum if a file shrinks to 4k. This worked if it was shrunk to < 4k already, but now we've added a special handling for truncates to exactly 4k file size.
(cherry picked from commit 1a8183867382c3f077234868042bb9963d638749)
show more ...
|
#
f96935a8 |
| 06-Oct-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: fixed off-by-one error in cache invalidation
If only the first byte in a 4k block was written, the cache invalidation function would erroneously not expire that block's checksum.
(cherry picke
zev: fixed off-by-one error in cache invalidation
If only the first byte in a 4k block was written, the cache invalidation function would erroneously not expire that block's checksum.
(cherry picked from commit cefd41bc3095dacd89bd6a0a458d5873ff75e19a)
show more ...
|
#
59938026 |
| 17-Sep-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: bugfix: used checksum cache without mutex
In some cases the checksum cache for file checksums was used without getting the appropriate mutex first. This could crash if another thread was chang
zev: bugfix: used checksum cache without mutex
In some cases the checksum cache for file checksums was used without getting the appropriate mutex first. This could crash if another thread was changing the list while it was being used.
(cherry picked from commit 33d4c3485b7025e40bfc2899cbb35cbaac7543e1)
show more ...
|
#
aae4944b |
| 13-Aug-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: off-by-one bug fixed for returning checksums
Changes to a file at only the very first byte of a level 0 block did not return the corresponding checksum(s).
(cherry picked from commit 94c406e7e
zev: off-by-one bug fixed for returning checksums
Changes to a file at only the very first byte of a level 0 block did not return the corresponding checksum(s).
(cherry picked from commit 94c406e7ec5a900992d4978ecf7de5c2ac48ec7b)
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 ...
|
#
266747ef |
| 11-Jul-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: bugfix: memory leak in error condition
zev gives an error when checksums beyond EOF are requested. There was a memory leak in that case: the result buffer was not freed.
Additionally, the erro
zev: bugfix: memory leak in error condition
zev gives an error when checksums beyond EOF are requested. There was a memory leak in that case: the result buffer was not freed.
Additionally, the error message is now more verbose, which might help in finding the actual bug: why were we asked for checksums beyond EOF, in the first place? The bug can't be reproduced, so we're putting in better diagnostics and see whether it'll reappear.
(cherry picked from commit c09b3f1ab4e2f1368ff689a0c91f5e9b0fa45bb2)
show more ...
|
#
80d9297c |
| 12-Jun-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: modified LRU code to use OS list functions
(cherry picked from commit 86d836510436987c39115866494430f9bb7b7ba9)
|
#
a0e77e28 |
| 26-May-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: bug fix: cache expiry crash fixed
(cherry picked from commit 6a7145cb6fa4e2c38014ea2fa98e677c6b49d090)
|
#
b9710123 |
| 22-May-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: ioctl() to get signatures for an open file
There's a new ioctl() ZEV_IOC_GET_FILE_SIGNATURES to get beaver signatures for a data range in an open file. The provided buffer has to be large enou
zev: ioctl() to get signatures for an open file
There's a new ioctl() ZEV_IOC_GET_FILE_SIGNATURES to get beaver signatures for a data range in an open file. The provided buffer has to be large enough to hold the parameters and the signatures.
zevadm can display a file's signatures using 'zevadm -c <filename>'
(cherry picked from commit 6b4c2eb9a413da85091774d0095ad61946ae043d)
show more ...
|
#
5e286361 |
| 08-May-2014 |
Andreas Jaekel <jaekel@strato-rz.de> |
zev: calculate beaver-compatible checksums of changes
Ranges required to calculate the checksums will be range locked before the zev callbacks are called. Checksums are calculated in the zev module
zev: calculate beaver-compatible checksums of changes
Ranges required to calculate the checksums will be range locked before the zev callbacks are called. Checksums are calculated in the zev module and reported to userland. Checksums of all-zeroes blocks are omitted. Userland is expected to infer that the block must have bee all-zeroes.
An internal cache is implemented to avoid re-reading the same data over and over again.
(cherry picked from commit d8e62bab61474da73f26dc58b26d937c9cc17397)
show more ...
|