рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ Reiser4 рдХреЗ рд▓рд┐рдП LZ4 рд╕рдВрдкреАрдбрд╝рди рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрд╛ рдерд╛

рдЫрд╡рд┐

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ Reiser4 рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ [ 1 , 2 ] рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдФрд░ рдореБрдЭреЗ рдЗрд╕реЗ рджреЛрд╣рд░рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ 2010 рдореЗрдВ Reiser4 рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЯреЗрд▓ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкрд╛рд░рджрд░реНрд╢реА рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рд▓ рдХреА рдЧрдИ рдлреНрд▓рд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ [ 3 ]), рдореИрдВ рд╡рд╛рдкрд╕ ReiserFS рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ред 2013 рдореЗрдВ, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рдереА [ 4 ] рдФрд░ рдореИрдВ Reiser4 (LZO1 рдПрдХ рд╕реНрдерд┐рд░ рдкреНрд░рдгрд╛рд▓реА рдкрд░, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓реИрдкрдЯреЙрдк рдкрд░) рдореЗрдВ рд▓реМрдЯ рдЖрдпрд╛ред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдореБрдЭреЗ "рдПрдХреНрд╕рдЯреНрд░реАрдорд▓реА рдлрд╛рд╕реНрдЯ рдХрдВрдкреНрд░реЗрд╢рди рдПрд▓рдЧреЛрд░рд┐рджрдо" рдПрд▓рдЬреЗрдб 4 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд╛рдЪрд╛рд░ рдпрд╛рдж рдЖрдпрд╛, рд╕рд╛рде рд╣реА рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдХрд┐ рдЬрд╝реАрдПрдлрдПрд╕ рдореЗрдВ рдЗрд▓реБрдореЛрд╕ рд╕рдореБрджрд╛рдп рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ред рддрдм рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рджреМрд░рд╛ рдкрдбрд╝рд╛: "рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ Reiser4 рдХреЛ LZ4 рдХрд╛ рд╕рдорд░реНрдерди рдорд┐рд▓реЗ!" рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ Reiser4 рдХреЛ "рд╕рдВрд▓рдЧреНрди" рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ ccreg40 рдкреНрд▓рдЧрдЗрди рдХреЛрдб рдХреЛ рджреЗрдЦрд╛ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ Reiser4 рдореЗрдВ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╕рдВрд░рдЪрдирд╛ рд╣реИ)ред рдпрд╣ рд╕рдм рдлрд╝рд╛рдЗрд▓ fs / reiser4 / plugin / compress / compress.h рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ reiser4_compression_id рдЧрдгрдирд╛ рд╣реИ:
typedef enum { LZO1_COMPRESSION_ID, GZIP1_COMPRESSION_ID, LAST_COMPRESSION_ID, } reiser4_compression_id; 

рдпрд╣ рдПрдХ рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдкрд╣рдЪрд╛рди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, LZO1 рдФрд░ GZIP1 рдЙрдкрд▓рдмреНрдз рд╣реИрдВ)ред рд╕реВрдЪреА рдореЗрдВ рдЕрдВрддрд┐рдо LAST_COMPRESSION_ID рд╣реИ, рдЬрд┐рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдо рдлрд╝рд╛рдЗрд▓ fs / reiser4 / plugin / compress / compress.c рдореЗрдВ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ , рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдзреЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ 7 рдореБрдЦреНрдп рдХрд╛рд░реНрдп:


рдореИрдВ рдЖрд╡рдВрдЯрди () / рдирд┐: рд╢реБрд▓реНрдХ () рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ред рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкреНрд░рдХрд╛рд░ tfm_action рдХрд╛ рддрд░реНрдХ рд╣реИред tfm_action рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ fs / reiser4 / plugin / compress /h рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЧрдгрдирд╛ рд╣реИ (рдЗрд╕рдореЗрдВ reiser4_compression_id рдХреЗ рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рд╣реИ), рдЬрд┐рд╕рдореЗрдВ рджреЛ рддрддреНрд╡ TFMA_READ рдФрд░ TFMA_WRITE рд╣реИрдВред
 typedef enum { TFMA_READ, /* decrypt, decompress */ TFMA_WRITE, /* encrypt, compress */ TFMA_LAST } tfm_action; 

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрдврд╝рдиреЗ рдпрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп, рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдХреБрдЫ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЕрдкрдШрдЯрди рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдо рд╕рд╣реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, GZIP1 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди LZO1 / LZ4 рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА compress.c рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдкреАрдбрд╝рди_рдкреНрд▓рд╛рдЬрд┐рди рд╕рд░рдгреА рдХрд╛ рд╡рд░реНрдгрди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкреНрд▓рдЧ-рдЗрди рдХреЗ рдкреНрд░рдХрд╛рд░, рдЗрд╕рдХреА рдкрд╣рдЪрд╛рди рд╕рдВрдЦреНрдпрд╛, рд╣реЗрдбрд░, рдлрд╝рдВрдХреНрд╢рди рдЖрджрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред
  [LZ4_COMPRESSION_ID] = { .h = { .type_id = REISER4_COMPRESSION_PLUGIN_TYPE, .id = LZ4_COMPRESSION_ID, .pops = &compression_plugin_ops, .label = "lz4", .desc = "lz4 compression transform", .linkage = {NULL, NULL} }, .init = lz4_init, .overrun = lz4_overrun, .alloc = lz4_alloc, .free = lz4_free, .min_size_deflate = lz4_min_size_deflate, .checksum = reiser4_adler32, .compress = lz4_compress, .decompress = lz4_decompress } 


рдЕрдм рдореИрдВ LZ4 рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реВрдВред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ Microsoft рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдХреЛрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ (рд╢рд╛рдпрдж рдХрд┐рд╕реА рджрд┐рди рд╡реЗ рдПрдордПрд╕ рд╡реАрдПрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛) рдФрд░ рд╕реА ++ (рдПрдХ рдмрд╛рд╣рд░реА "рд╕реА")ред рдлрд┐рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдмрд┐рдЧрдЗрдВрдбрд┐рдпрди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЯрд┐рд▓рдПрдВрдбрд┐рдпрди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реЛ рдЧрдИ рдФрд░ рдХреЛрдб рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдХреЗ рдмрдЬрд╛рдп рд╕реНрдЯреИрдХ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдпрд╣ рддреЗрдЬреА рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдо рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╣реИрдВ, рдРрд╕реА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╡реНрдпрд░реНрде рдирд╣реАрдВ рд╣реЛрдЧреА)ред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдХреЛрдб рд╕реЗ рдореЙрд▓реЛрдХ () / рдирд┐: рд╢реБрд▓реНрдХ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреА рд╕реВрдЪреА рдореЗрдВ рдПрд▓рдЬреЗрдб 4 рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рд╕реВрдЪрдХ рдЬреЛрдбрд╝рдХрд░ (рдпрд╛рдж рд░рдЦреЗрдВ рдЖрд╡рдВрдЯрд┐рдд) ()ред

рдЦреИрд░, рдЕрдм рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ ... рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдмреБрд░реА рддрд░рд╣ рд╕реЗред LZ4 рдкреНрд▓рдЧрдЗрди LZO1 рдкреНрд▓рдЧрдЗрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдзреАрд░реЗ рдФрд░ рд╕рдВрдХреБрдЪрд┐рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХрд▓-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рдореЗрдВ, рд▓рд╛рдЗрд╡ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдорд╛рдк рдХрд┐рдП рдЧрдП рдереЗред рдорд╛рдк рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдЕрдирдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рд╢рд╛рдорд┐рд▓ рдерд╛ (рддрд╛рдХрд┐ рд╕рд┐рдВрдХ / рдлреНрд▓рд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд╛рдо рдХреА рдЧрдИрдВ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦреА рдЧрдИрдВ)ред рддреАрди рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП: рд╢реВрдиреНрдп рдлрд╛рдЗрд▓ (рдЬреЛ / dev / рд╢реВрдиреНрдп рд╕реЗ) рдХреЗ рд╕рд╛рде рдЬрд╝рд┐рдк рдХреА рдЧрдИ рдбрд┐рд╕реНрдХ рдХреА рд░реЗрдЦреАрдп рд▓реЗрдЦрди / рд░реАрдбрд┐рдВрдЧ, рдПрдХ рдЕрд╕рдВрдЧрдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд░реЗрдЦреАрдп рдкрдврд╝рдирд╛ / рд▓рд┐рдЦрдирд╛ (рдкрд╣рд▓реЗ / dev / urandom рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдореЗрдореЛрд░реА рдореЗрдВ tmpfs рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛) рдФрд░ Linux рдХрд░реНрдиреЗрд▓ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЕрдирдкреИрдХрд┐рдВрдЧ / рд╕рдВрдкреАрдбрд╝рди рд╕рдВрд╕реНрдХрд░рдг 3.9.5ред рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, LZ4 рдХреЗ рд╕рд╛рде рдкреНрд▓рдЧрдЗрди рдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдлрд╛рдпрджрд╛ рджрд┐рдЦрд╛рдпрд╛ рдЬрдм рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрдирд╛ / рдкрдврд╝рдирд╛ред рдЕрдиреНрдп рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, LZO1 рдиреЗ рд╕рдВрдкреАрдбрд╝рди / рд╡рд┐рдШрдЯрди рдХреА рдЧрддрд┐ рдФрд░ рдЕрдВрддрд┐рдо рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдореЗрдВ LZ4 рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ред

рдЖрдЧреЗ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рджреМрд░рд╛рди (LZ4 рдФрд░ lz4c рдмрдирд╛рдо lzop рд╕реЗ рдлреБрд▓рдмреЗрдВрдЪ), рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ LZ4 рдЕрдкрдиреЗ рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рдЫреЛрдЯреЗ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЛ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдШреЛрд╖рд┐рдд рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ [ 5 ] рдХреЗрд╡рд▓ рдмрдбрд╝реЗ рдмреНрд▓реЙрдХреЛрдВ рдкрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлреБрд▓рдмреЗрдВрдЪ 4MiB, рдореЗрдВред lz4c 8MiBред рдЬреИрд╕рд╛ рдХрд┐ рдПрдбреБрдЖрд░реНрдб рд╢рд┐рд╢реНрдХрд┐рди рдиреЗ рдХрд╣рд╛: "4MiB рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рд╣реИред LZO1 рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ .. тАЭ[ 6 ]

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ Reiser4 LZO1 рдХреЗ рд▓рд┐рдП LZ4 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рд╡реИрд╕реЗ, рдХреБрдЫ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ LZ4 рдХрд╛ рд╕рдорд░реНрдерди, рдЬреЛ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, ZFS рдореЗрдВ рд╣рдореЗрд╢рд╛ рд╣реА рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╣рдореЗрд╢рд╛ LZJB рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдореЗрдВ), рдФрд░ рд▓рд┐рдирдХреНрд╕ 7 - 7 рдореЗрдВ LZ4 рдХреЛ рдзрдХреЗрд▓рдиреЗ рдХреЗ рдЕрд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕ (рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрд╡рд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ) рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдХрдореНрдкреНрд░реЗрд╢рди рдпрд╛ рдЗрдирдЯреНрд░рд╛рдо) рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред рдХреЗ рд░реВрдк рдореЗрдВ btrfs рдореЗрдВ LZ4 рдХреЗ рд▓рд┐рдП ... рдПрдбрд╡рд░реНрдб рд╢рд┐рд╢реНрдХрд┐рди рдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рдпрд╛ рдХрд┐ btrfs [ 8 ] рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред



рд▓рд┐рдирдХреНрд╕ 3.9 рдХреЗ рд▓рд┐рдП рдкреИрдЪ Reiser4
рдкреИрдЪ LZ4 Reiser4 рдХреЗ рд▓рд┐рдП
PS рдлрд╝рдВрдХреНрд╢рди LZ4_decompress_safe () рдХреЛ рдереЛрдбрд╝рд╛ рд░рд┐рдбреНрдпреВрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
Reiser4progs рдХреЗ рд▓рд┐рдП рдкреИрдЪ
[рез] habrahabr.ru/post/45873
[реи] http://theoks.net/~onekopaka/Reiser4Site/v4.html
[рей] marc.info/?l=reiserfs-devel&m=135146138331012ww/2
[рек] sourceforge.net/p/reiser4/discussion/general/thread/2bca4fye
[рел] рдХреЛрдб
[рем] sourceforge.net/p/reiser4/discussion/general/thread/780facb4
[[] Lwn.net/Articles/534168
[[] Habrahabr.ru/post/108629

Source: https://habr.com/ru/post/In183230/


All Articles