]> git.itanic.dy.fi Git - linux-stable/commit
f2fs: factor out victim_entry usage from general rb_tree use
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 10 Mar 2023 18:04:26 +0000 (10:04 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 09:53:53 +0000 (11:53 +0200)
commitcba285695872730418479bc4391d24fd69f94f9d
tree508ec4ff7a7001f94a5462289ca69de17a5f2780
parent4377b1d3b19e1369d094a94596211a9815ddbb04
f2fs: factor out victim_entry usage from general rb_tree use

[ Upstream commit 043d2d00b44310f84c0593c63e51fae88c829cdd ]

Let's reduce the complexity of mixed use of rb_tree in victim_entry from
extent_cache and discard_cmd.

This should fix arm32 memory alignment issue caused by shared rb_entry.

[struct victim_entry]              [struct rb_entry]
[0] struct rb_node rb_node;        [0] struct rb_node rb_node;
                                       union {
                                         struct {
                                           unsigned int ofs;
                                           unsigned int len;
                                         };
[16] unsigned long long mtime;     [12] unsigned long long key;
                                       } __packed;

Cc: <stable@vger.kernel.org>
Fixes: 093749e296e2 ("f2fs: support age threshold based garbage collection")
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/extent_cache.c
fs/f2fs/f2fs.h
fs/f2fs/gc.c
fs/f2fs/gc.h
fs/f2fs/segment.c