Ang isang asynchronous na pagpapatupad ng DISCARD ay ipinakita para sa Btrfs

Para sa btrfs file system kinakatawan ng asynchronous na pagpapatupad ng DISCARD operation (pagmarka ng mga inilabas na bloke na hindi na kailangang pisikal na iimbak), na ipinatupad ng mga inhinyero ng Facebook.

Ang kakanyahan ng problema: sa orihinal na pagpapatupad, ang DISCARD ay isinasagawa nang sabay-sabay sa iba pang mga operasyon, na sa ilang mga kaso ay humahantong sa mga problema sa pagganap, dahil ang mga drive ay kailangang maghintay para makumpleto ang kaukulang mga utos, na nangangailangan ng karagdagang oras. Maaari itong maging problema kung mabagal ang pagpapatupad ng DISCARD ng drive.

Sa isang asynchronous na pagpapatupad, hindi na kailangang maghintay para makumpleto ng drive ang DISCARD sa panahon ng normal na operasyon ng FS, na nag-aalis ng problema sa pamamagitan ng paglilipat ng operasyong ito sa background. Ang ipinakita na pagpapatupad ay nagsasagawa rin ng ilang mga pag-optimize. Halimbawa, naghihintay ito ng ilang oras dahil sa pag-aalala na ang block ay maaaring magamit sa paraang walang saysay na isagawa ang DISCARD procedure, at sinusubukan din nitong pagsamahin ang mga rehiyon bago aktwal na isagawa ang DISCARD upang mabawasan ang kabuuang bilang ng mga operasyon.

Pinagmulan: opennet.ru

Magdagdag ng komento