Ignore:
Timestamp:
Aug 30, 2015, 2:33:49 AM (9 years ago)
Author:
Bruno Cornec
Message:
  • Adds a mr-device-mounted binary to MondoRescue (replaces the code of the C function is_this_device_mounted) and the corresponding perl function (mr_device_mounted) to handle cases where a mounted device has a different name than the one seen on mount (e.g. /dev/rhel/root and /dev/mapper/rhel-root)
  • Adds perl function mr_file_copy_and_erase_hash to empty the hash generated in mr_file_read_all_link and thus avoid filling the hash it generates, which is useful for a recursive function, but not when called multiple times from another perl script. To be improved later on.
  • Adapt build procedure to the new binary (tested on Mageia 5 and RHEL7)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.2/MondoRescue/lib/MondoRescue/File.pm

    r3262 r3447  
    2626
    2727our @ISA = qw(Exporter);
    28 our @EXPORT = qw(mr_file_read_all_link mr_file_process_ldd mr_file_normalize);
     28our @EXPORT = qw(mr_file_read_all_link mr_file_process_ldd mr_file_normalize mr_file_copy_and_erase_hash);
    2929
    3030=pod
     
    8585=over 4
    8686
     87=item B<mr_file_erase_hash>
     88
     89This function erases all elements in the hash passed in parameter (such as the one created in mr_file_read_all_link)
     90Takes as param the hash to delete and returns a new fresh one
     91
     92=cut
     93
     94sub mr_file_copy_and_erase_hash {
     95
     96my $files = shift;
     97my %h;
     98
     99foreach my $i (keys %$files) {
     100    $h{$i} = $files->{$i};
     101    delete $files->{$i};
     102}
     103return(\%h);
     104}
     105
     106=over 4
     107
    87108=item B<mr_file_read_all_link>
    88109
    89110This function returns all the links found for a given file passed as parameter
    90111Example: mr_file_read_all_link(/lib64) returns (/lib64,/usr/lib64) on a system having a link from /lib64 to /usr/lib64
    91 The return value is a hash of all input files pointing to hash of links
     112The return value is a hash of all input files pointing to the hash of their links
     113That hash needs to be cleaned up after usage
    92114
    93115=cut
     
    96118
    97119# TODO: Can be parallelized
     120# use "our" to keep info between recursive calls
    98121our $files;
     122
    99123
    100124foreach my $f (@_) {
Note: See TracChangeset for help on using the changeset viewer.