]> www.infradead.org Git - users/jedix/linux-maple.git/commit
Xarray: distinguish large entries correctly in xas_split_alloc()
authorKemeng Shi <shikemeng@huaweicloud.com>
Fri, 13 Dec 2024 12:25:21 +0000 (20:25 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 25 Jan 2025 06:47:27 +0000 (22:47 -0800)
commit97db889b961ef3f849813de34bd3ea5715813ed0
treed1fe988b325c970f0140fe70bf7e85df08f6c5f9
parentc9ba5249ef8b080c6779d3da14a061f6d4d6d5fa
Xarray: distinguish large entries correctly in xas_split_alloc()

We don't support large entries which expand two more level xa_node in
split.  For case "xas->xa_shift + 2 * XA_CHUNK_SHIFT == order", we also
need two level of xa_node to expand.  Distinguish entry as large entry in
case "xas->xa_shift + 2 * XA_CHUNK_SHIFT == order".

As max order of folio in pagecache (MAX_PAGECACHE_ORDER) is <=
(XA_CHUNK_SHIFT * 2 - 1), this change is more likely a cleanup...

Link: https://lkml.kernel.org/r/20241213122523.12764-4-shikemeng@huaweicloud.com
Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Cc: Mattew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/xarray.c