I have a few questions about the BTRFS_IOC_FILE_EXTENT_SAME ioctl, and
was hoping that I could get answers here without having to go source
diving or trying to test things myself:

1. What kind of overhead is there when it is called on a group of
extents that aren't actually the same (aside from the obvious pair of
context-switches that are required for an ioctl)?  I would think that it
would bail at the first difference it finds, but I have learned that
when it comes to kernel code, just because something seems obvious
doesn't mean that's how it's done.

2. Does it matter if the ranges passed in are actual extents, or can
they be arbitrary ranges of equal bytes in the files?

3. What happens if one of the ranges is truncated by the end of a file?
 IOW, if I have files A and B, and file A is longer than file B, and
file B is identical to the start of file A, what happens if I pass in
both files starting at offset 0, but pass the length of file A instead
of passing in the length of file B?

4. Does it matter if one of the extents passed in is compressed and the
other is not?

Thanks in advance.


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to