Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs
* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs: [LogFS] Split large truncated into smaller chunks [LogFS] Set s_bdi [LogFS] Prevent mempool_destroy NULL pointer dereference [LogFS] Move assertion [LogFS] Plug 8 byte information leak [LogFS] Prevent memory corruption on large deletes [LogFS] Remove unused method Fix trivial conflict with added header includes in fs/logfs/super.c
This commit is contained in:
@@ -459,6 +459,14 @@ static void __logfs_gc_pass(struct super_block *sb, int target)
|
||||
struct logfs_block *block;
|
||||
int round, progress, last_progress = 0;
|
||||
|
||||
/*
|
||||
* Doing too many changes to the segfile at once would result
|
||||
* in a large number of aliases. Write the journal before
|
||||
* things get out of hand.
|
||||
*/
|
||||
if (super->s_shadow_tree.no_shadowed_segments >= MAX_OBJ_ALIASES)
|
||||
logfs_write_anchor(sb);
|
||||
|
||||
if (no_free_segments(sb) >= target &&
|
||||
super->s_no_object_aliases < MAX_OBJ_ALIASES)
|
||||
return;
|
||||
|
Reference in New Issue
Block a user