From 88b99f870f4d7d0019e1593d9545e8bb7c05f0f1 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Wed, 17 Jun 2009 21:42:39 +0000 Subject: allow to set inode size in {media}{inode_size} for ext2/ext3 file systems --- draklive | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'draklive') diff --git a/draklive b/draklive index 83f6f59..dfbc986 100755 --- a/draklive +++ b/draklive @@ -655,7 +655,7 @@ sub get_disk_master_path { } sub allocate_master { - my ($dest, $size, $fs) = @_; + my ($dest, $size, $fs, $o_inode_size) = @_; mkdir_p(dirname($dest)); my $heads = 16; my $sectors_per_track = 63; @@ -693,7 +693,7 @@ EOF my $loop = devices::find_free_loop(); run_('losetup', '-o', $part_start * $sector_size, '-s', $part_nb_sectors * $sector_size, $loop, $dest) or die "unable to setup loop device"; - MDV::Draklive::Utils::device_mkfs($loop, $fs) or die "unable to format $dest\n"; + MDV::Draklive::Utils::device_mkfs($loop, $fs, $o_inode_size) or die "unable to format $dest\n"; return $loop; } @@ -709,7 +709,7 @@ sub create_disk_master { 70000000) : (directory_usage($live->get_system_root) + 200000000); - my $loop = allocate_master($dest, $disk_size, $live->{media}->get_media_setting('fs')); + my $loop = allocate_master($dest, $disk_size, $live->{media}->get_media_setting('fs'), $live->{media}->get_media_setting('inode_size')); local $opts->{device} = $loop; local $opts->{disk_device} = $dest; record_master($live, $opts); @@ -743,7 +743,7 @@ sub format_usb_device { my ($live, $opts) = @_; my $device = get_media_device($live, $opts); maybe_umount_device($device); - MDV::Draklive::Utils::device_mkfs($device, $live->{media}->get_media_setting('fs')) + MDV::Draklive::Utils::device_mkfs($device, $live->{media}->get_media_setting('fs'), $live->{media}->get_media_setting('inode_size')) or die "unable to format device $device\n"; } @@ -1048,7 +1048,7 @@ sub create_usb_replicator { my $dest = get_disk_replicator_path($live); my %files = get_disk_replicator_files($live); my $size = fold_left { $::a + $::b } map { directory_usage($_, 'apparent') } keys(%files); - my $loop = allocate_master($dest, 5000000 + $size, 'vfat'); + my $loop = allocate_master($dest, 5000000 + $size, 'vfat', $live->{replicator}{media}->get_media_setting('inode_size')); my $opts = { device => $loop, disk_device => $dest, append => $live->{replicator}{append} }; record_usb_replicator($live, $opts); run_('losetup', '-d', $loop); -- cgit v1.2.1