This invention provides a defragmentation utility that works on-line in
parallel with other file system activities. Thus, it avoids making the
file system unavailable for periods of time which would, if not for this
invention, slow down data communication exchange and the execution of
other tasks dependent upon the data. In particular, this invention, steps
through all of the valid inodes finding each of the fragments. The
defragmentation engine decides which fragments must remain in their
current location and which fragments should migrate to another disk block
sub-block location. Since the data blocks span across multiple disks, for
each valid disk of the file system a set of disk blocks are constructed
that are chosen to be filled, herein called plates. When the plates become
full or reach a certain fullness, they are removed from the set and
replaced by other disk blocks. When a disk block is removed from the plate
set, it is moved to a "done" list as it is considered "full". While a disk
block is in the done list the fragments that belong to that block are not
allowed to migrate. Thus, a defragmentation utility that works on-line,
avoids locking data structures for long periods of time, is memory
efficient, uses sub-blocks for fragment analysis and migration as well as
minimizes data movements has been summarized. This utility thereby
provides a transparent defragmentation function that operates in the
background seamlessly with other system file operations.
Этот вымысел обеспечивает общее назначение defragmentation работает on-line in parallel with другие деятельности при системы файлов. Таким образом, он избегает сделать систему файлов отсутствующим на периода времени которые и, if not для этого вымысла, обмена передача данных slow down и исполнения других задач зависимых на данных. В частности, этот вымысел, шаги через весь из действительных inodes находя каждую из частей. Двигатель defragmentation решает которые части должны остать в их в настоящее время положении и которые части должны проникнуть к другому блоку диска суб-pregradite положение. В виду того что данные преграждают пядь через множественные диски, потому что построен каждый действительный диск системы файлов комплект блоков диска которые выбраны быть заполненным, здесь вызвано плитами. Когда плиты будут полными или достигают некоторую наполненность, они извлечутся от комплекта и заменатся другими блоками диска. Когда блок диска извлекается от комплекта плиты, он двинут к "сделанному" списку по мере того как учтено "полным". Пока блок диска находится в сделанном списке части принадлежат к тому блоку не позволены проникнуть. Таким образом, было суммировано общим назначением defragmentation которое работает on-line, избегает зафиксировать структуры данных на длинние периода времени, будет память эффективная, пользы суб-pregrajdaht для анализа и переселения части так же, как уменьшает движения данных. Это общее назначение таким образом обеспечивает прозрачную функцию defragmentation работает в предпосылке seamlessly с другими деятельностями системного файла.