mirror of
https://gitlab.com/erkanisik/yali-rs.git
synced 2026-09-27 15:33:43 +00:00
fix: manuel girilen bölüm boyutunun mountpoint değişiminde ezilmesi
This commit is contained in:
+29
-22
@@ -1095,33 +1095,40 @@ impl PartitionStep {
|
||||
.vertical_align(egui::Align::Center)
|
||||
);
|
||||
|
||||
// Mountpoint değiştiğinde boyutu otomatik güncelle
|
||||
// Mountpoint değiştiğinde boyutu otomatik güncelle (eğer değer boşsa veya varsayılansa)
|
||||
if prev_mp != self.manual.add_mountpoint {
|
||||
let mp = self.manual.add_mountpoint.trim().to_lowercase();
|
||||
self.manual.add_size_str = match mp.as_str() {
|
||||
"/boot/efi" => "1024".to_string(), // 1GB
|
||||
"swap" => {
|
||||
// Swap için minimum 1GB, varsa RAM boyutu kadar
|
||||
if let Ok(mem) = std::fs::read_to_string("/proc/meminfo") {
|
||||
if let Some(line) = mem.lines().find(|l| l.starts_with("MemTotal:")) {
|
||||
let kb: u64 = line.split_whitespace()
|
||||
.nth(1)
|
||||
.and_then(|s| s.parse().ok())
|
||||
.unwrap_or(4194304); // 4GB varsayılan
|
||||
let mb = kb / 1024;
|
||||
// Minimum 1GB, RAM boyutu ile karşılaştır
|
||||
let swap_size = if mb < 1024 { 1024 } else { mb };
|
||||
swap_size.to_string()
|
||||
let current_size = self.manual.add_size_str.trim();
|
||||
let is_empty_or_default = current_size.is_empty()
|
||||
|| current_size == "0"
|
||||
|| current_size == "remaining";
|
||||
|
||||
if is_empty_or_default {
|
||||
self.manual.add_size_str = match mp.as_str() {
|
||||
"/boot/efi" => "1024".to_string(), // 1GB
|
||||
"swap" => {
|
||||
// Swap için minimum 1GB, varsa RAM boyutu kadar
|
||||
if let Ok(mem) = std::fs::read_to_string("/proc/meminfo") {
|
||||
if let Some(line) = mem.lines().find(|l| l.starts_with("MemTotal:")) {
|
||||
let kb: u64 = line.split_whitespace()
|
||||
.nth(1)
|
||||
.and_then(|s| s.parse().ok())
|
||||
.unwrap_or(4194304); // 4GB varsayılan
|
||||
let mb = kb / 1024;
|
||||
// Minimum 1GB, RAM boyutu ile karşılaştır
|
||||
let swap_size = if mb < 1024 { 1024 } else { mb };
|
||||
swap_size.to_string()
|
||||
} else {
|
||||
"1024".to_string() // 1GB varsayılan
|
||||
}
|
||||
} else {
|
||||
"1024".to_string() // 1GB varsayılan
|
||||
}
|
||||
} else {
|
||||
"1024".to_string() // 1GB varsayılan
|
||||
}
|
||||
},
|
||||
"/" => "remaining".to_string(), // Geri kalan alan
|
||||
_ => self.manual.add_size_str.clone(), // Diğerleri için mevcut değeri koru
|
||||
};
|
||||
},
|
||||
"/" => "remaining".to_string(), // Geri kalan alan
|
||||
_ => self.manual.add_size_str.clone(), // Diğerleri için mevcut değeri koru
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user