History log of /titanic_52/usr/src/uts/common/fs/zev/zev_checksums.c (Results 1 – 15 of 15)
Revision Date Author Comments
# 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 ...