libyal / libewf-legacy

Legacy version of libewf
GNU Lesser General Public License v3.0
10 stars 5 forks source link

Question related different libewf versions #8

Closed bobik67 closed 4 years ago

bobik67 commented 4 years ago

Created test program which performs linear read of the e01 image (reads 4096 byte sectors from beginning to end ). Noticed that libewf version 20171104 and 20150126, are twice slower than version 20130416. Is it any method to improve performance using 20171104, or maybe I should use different version of the libewf library ?

joachimmetz commented 4 years ago

20171104 is an experimental version as its readme indicates https://github.com/libyal/libewf/blob/master/README. It is to add and test Ex01 format support https://github.com/libyal/libewf/issues/6. It is not ready for production usage, use the libewf-legacy (this project instead).

joachimmetz commented 4 years ago

Also note that 20171104 is a significant older version of the experimental library (https://github.com/libyal/libewf/blob/master/configure.ac#L5).

igorrogov commented 4 years ago

Hi Joachim,

Yes, we understand that 20171104 is an experimental version. Let me explain the issue in a bit more details.

We've been using libewf 20130416 for many years without any issues for reading both E01 and Ex01 images. But at some point we needed to rebuild the DLL to get rid of the Visual C runtime dependency. Unfortunately the source code for 20130416 is no longer available anywhere, so that's why we had to upgrade to a newer version that also supports both E01 and Ex01.

So what would be your recommendation if we need both formats? Or would it be better to use libewf-legacy for E01s and L01s and the latest experimental version for Ex01s and Lx01s?

joachimmetz commented 4 years ago

This (https://github.com/libyal/libewf/commit/b79e743a0fa8cf5afa9ea7b0c559eecaeaa95f44.) is probably the commit closest to 20130416

So what would be your recommendation if we need both formats? Or would it be better to use libewf-legacy for E01s and L01s and the latest experimental version for Ex01s and Lx01s?

2 short term options come to mind, both not elegant:

  1. use libewf-legacy for E01 and libewf experimental for Ex01
  2. take libewf experimental HEAD and try some of the patches that have been proposed

For both I would recommend thoroughly testing the experimental version.

At the moment EWF is not at the top of my priority list. Making the experimental version ready for usage is still on the to do list but other stuff keeps popping up that has higher priority.

bobik67 commented 4 years ago

Hi.

thanks for your advice , Managed to test it , but in my case library fails on reading Lx01 archive type , I nailed women the problem and discovered , that this happens due to mediatype->number_of_sectors == 0

(klibewf_chunk_table.c:979)

Could you please advice ?

Best regards Bogdan

pt., 14 sie 2020 o 17:03 Joachim Metz notifications@github.com napisał(a):

Also note that 20171104 is a significant older version of the experimental library (https://github.com/libyal/libewf/blob/master/configure.ac#L5).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/libyal/libewf-legacy/issues/8#issuecomment-674117788, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNT2RPDMJENNZKQMXSLO63SAVG3FANCNFSM4P7SEIAQ .

joachimmetz commented 4 years ago

@bobik67 your translation seems to be off, @igorrogov if you can help with translation that could be helpful.

support for Ex01 and Lx01 is work in progress.

bobik67 commented 4 years ago

Hi.

Sorry for mistakes in my previous mail. As I wrote previously , I discovered the reason of failure, it was due to mediatype->number_of_sectors == 0 (libewf_chunk_table.c:979) , I understand Ex01 and Lx01 support is WIP. But maybe you could advise how to handle such a situation.

Kind regards Bogdan

pon., 24 sie 2020 o 12:24 Joachim Metz notifications@github.com napisał(a):

@bobik67 https://github.com/bobik67 your translation seems to be off, @igorrogov https://github.com/igorrogov if you can help with translation that could be helpful.

support for Ex01 and Lx01 is work in progress.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/libyal/libewf-legacy/issues/8#issuecomment-679043750, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNT2RJGMCBLP7F6ALZDA7TSCI5UBANCNFSM4P7SEIAQ .

joachimmetz commented 4 years ago

@bobik67 how are you reading from the Lx01? which libewf API calls are you using?

You'll need to use libewf_handle_get_root_file_entry (https://github.com/libyal/libewf/blob/master/include/libewf.h.in#L1473) and other file entry methods (https://github.com/libyal/libewf/blob/master/include/libewf.h.in#L1539)

igorrogov commented 4 years ago

Hi Joachim,

We have decided to use the approach that you suggested in the beginning: libewf-legacy for E01/L01 and libewf experimental HEAD for Ex01/Lx01. So Bogdan's previous question is no longer actual. Thanks for your help. I think this ticket can be closed now.

joachimmetz commented 4 years ago

@igorrogov thx for the heads up, I'm closing this issue. When time permits I'll go back to making the experimental more stable, but other things keep popping up.