Fibration is a great way to decrease fragmentation and increase throughput. Currently there are 4 fibration plugins, lex, dot.o, ext_1 and ext_3 and they all have their upsides and downsides. Proposed fibration plugin combines them all so that it combines files with same extensions for 1, 2. 3 and 4 character extension in groups and sorts them in same fiber group. With this fibration plugin all eg. xvid files would be in same group in folder on disk sorted alphabetically so that we will avoid putting small files between them and in that way reduce fragmentation. That group (xvid 4 character extensions) would be among last groups under one directory so that all small files would be written before it. Problem with the attached patch is that currently every fibre value is defined as u64 (eg. static __u64 fibre_ext_3) but if I understood correctly comments in kassign.c and fibration.c fibration part of the key is only 7 bits long. If that is true how did fibre_ext_3 worked? Thanks Dushan
Attachment:
fibration_ext_4321.patch
Description: Binary data