Yaklaşan Linux 6.5 çekirdek birleştirme penceresi için gönderilmesi planlanan başka bir özellik, Aygıt Eşleyici (DM) koduyla ölçülü olarak sağlanan depolama için ilkellerin sağlanmasına yönelik desteğin sunulmasıdır.

Hafta sonu oluşturulan bir dal linux-dm.git’in dm-6.5-provision-support. Şu anda”6.5″olarak işaretlenmiş bir dalda, herhangi bir sorunun Linus Torvalds veya diğer çekirdek geliştiricileri tarafından gündeme getirilmesini engelleyen yaklaşan Linux 6.5 birleştirme penceresi için gönderilmek üzere konumlandırılmış görünüyor.

Bu temel hazırlık öğeleri üzerinde Google’ın Chrome OS ekibi çalıştı. Google’dan Sarthak Kukreti, postadaki önceki RFC yamalarında bu girişimi daha önce açıklamıştı list:

“Bu yama serisi, yığın halindeki ölçülü olarak sağlanan depolama aygıtları/dosya sistemlerindeki sağlama isteklerini ileten bir mekanizmanın RFC’sidir.

Linux çekirdeği, ölçülü olarak sağlanan blok depolama soyutlamalarını ayarlamak için çeşitli mekanizmalar sağlar ( örn. dm-thin, loop cihazları seyrek dosyalar üzerinden), ya doğrudan blok cihazları olarak ya da dosya sistemleri için yedekleme depolaması olarak. Bu tür depolama kurulumlarında Aşağıdaki kullanım durumlarını göz önünde bulundurun:

1) Diske askıya alma ve bir dm-ince cihazdan devam etme: Askıya alma mekanizması sırasında temel ince havuz meta verilerinin değiştirilmediğinden emin olmak için, dm-ince cihazın tam olarak sağlanması gerekir.
2) Bir dosya sistemi, seyrek bir dosya üzerinde bir döngü aygıtı kullanıyorsa, dosya sistemindeki fallocate(), dosyalar için bloklar tahsis eder, ancak temeldeki seyrek dosya bozulmadan kalır.
3) Başka bir örnek, depolama aygıtı olarak seyrek dosya/dm-thin kullanan sanal makinedir; varsayılan olarak, sanal makine sınırları içindeki ayırmalar ana bilgisayarı etkilemez.
4) Çeşitli depolama standartları, gerçek donanım aygıtlarında ölçülü provizyon için mekanizmaları destekler. Örneğin:
a. NVMe spec 1.0b bölüm 2.1.1, ölçülü provizyondan gevşek bir şekilde bahseder:”Ad Alanı Tanımla veri yapısının NSFEAT alanındaki THINP biti’1’olarak ayarlandığında, denetleyici… Ad Alanı Kullanımı alanı”
b. SCSi Blok Komutları referansı-4 bölümü”İnce sağlanan mantıksal birimler”e atıfta bulunur,
c. UFS 3.0 spesifikasyon bölümü 13.3.3,”İnce provizyon”a atıfta bulunur.

Yukarıdaki tüm durumlarda, şu anda alanı önceden tahsis etmenin tek yolu yazma işlemi yapmaktır (veya WRITE_ZEROES/WRITE_SAME kullanmak). Ancak bu, daha büyük ön tahsis boyutlarıyla iyi ölçeklenmiyor.

Bu yama seti, dosya sistemleri ve blok aygıtları arasında blok düzeyinde provizyonu desteklemek için ilkel öğeler sunar (not:’provizyon’terimi,’tahsisler/ön tahsisler’teriminin aşırı yüklenmesini önlemek için kullanılır) istekleri. Bu, fallocate() ve dosya oluşturma isteklerinin blok aygıtlarının ve dosya sistemlerinin yığılmış katmanlarında yer ayırmasına izin verir. Şu anda yama seti, aygıt eşleyici hedefleri, döngü aygıtı ve ext4’teki bir prototipi kapsıyor, ancak aynı mekanizma diğer dosya sistemlerine/blok aygıtlarına ve ayrıca 4 a-c’deki aygıtlarla kullanım için genişletilebilir.”

REQ_OP_PROVISION isteğini tanıtan yama, bu sağlamayı basitçe şu şekilde özetler:

“REQ_OP_PROVISION blok isteğini tanıt. Bu isteğin amacı, verilen blok aralığı için disk alanını önceden tahsis etmek üzere temel depolama talebinde bulunmaktır. Bu yeteneği destekleyen blok cihazları, istek sıralarında bir provizyon limiti verir.

Bu yama aynı zamanda, belirtilen aralık için blok cihazına REQ_OP_PROVISION gönderecek olan blok cihazlarda 0 modunda fallocate()’i çağırma yeteneği ekler.”

Bu blok provizyon ilkelleri çalışma birkaç aydır üzerinde çalışılıyor ve Chrome OS’de ve yukarı akış Linux çekirdeğine karşı başarıyla test edildi. Blok ve DM, REQ_OP_PROVISION civarında değişiyor ve bunun için geridöngü cihazı desteği artık Linux 6.5’te görünmeye hazırlanıyor.

Linux 6.4 kararlı sürümü fazladan bir hafta ertelenmezse, Linux 6.5 birleştirme döneminin önümüzdeki hafta başlaması bekleniyor. Linux 6.5 kararlı sürümü ise Ağustos ayının sonunda piyasaya sürülecek.

Categories: IT Info