diff mbox series

zram: cleanup in zram_read_from_zspool()

Message ID 20250115145545.51561-1-haowenchao22@gmail.com (mailing list archive)
State New
Headers show
Series zram: cleanup in zram_read_from_zspool() | expand

Commit Message

Wenchao Hao Jan. 15, 2025, 2:55 p.m. UTC
We don't need a separate "if" branch to check whether size is
equal to PAGE_SIZE. So remove the above "if" branch and
move down 2 lines to cleanup code, no logic change.

Signed-off-by: Wenchao Hao <haowenchao22@gmail.com>
---
 drivers/block/zram/zram_drv.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

Comments

Sergey Senozhatsky Jan. 16, 2025, 12:41 a.m. UTC | #1
On (25/01/15 22:55), Wenchao Hao wrote:
> @@ -1561,11 +1561,6 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
>  
>  	size = zram_get_obj_size(zram, index);
>  
> -	if (size != PAGE_SIZE) {
> -		prio = zram_get_priority(zram, index);
> -		zstrm = zcomp_stream_get(zram->comps[prio]);
> -	}
> -
>  	src = zs_map_object(zram->mem_pool, handle, ZS_MM_RO);
>  	if (size == PAGE_SIZE) {
>  		dst = kmap_local_page(page);
> @@ -1573,6 +1568,9 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
>  		kunmap_local(dst);
>  		ret = 0;
>  	} else {
> +		prio = zram_get_priority(zram, index);
> +		zstrm = zcomp_stream_get(zram->comps[prio]);
> +
>  		dst = kmap_local_page(page);
>  		ret = zcomp_decompress(zram->comps[prio], zstrm,
>  				       src, size, dst);

I think you are looking at some old code base (or maybe vanilla kernel),
that function does not look like this in the current mm tree (or linux-next).
Wenchao Hao Jan. 16, 2025, 2:11 a.m. UTC | #2
On 2025/1/16 8:41, Sergey Senozhatsky wrote:
> On (25/01/15 22:55), Wenchao Hao wrote:
>> @@ -1561,11 +1561,6 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
>>  
>>  	size = zram_get_obj_size(zram, index);
>>  
>> -	if (size != PAGE_SIZE) {
>> -		prio = zram_get_priority(zram, index);
>> -		zstrm = zcomp_stream_get(zram->comps[prio]);
>> -	}
>> -
>>  	src = zs_map_object(zram->mem_pool, handle, ZS_MM_RO);
>>  	if (size == PAGE_SIZE) {
>>  		dst = kmap_local_page(page);
>> @@ -1573,6 +1568,9 @@ static int zram_read_from_zspool(struct zram *zram, struct page *page,
>>  		kunmap_local(dst);
>>  		ret = 0;
>>  	} else {
>> +		prio = zram_get_priority(zram, index);
>> +		zstrm = zcomp_stream_get(zram->comps[prio]);
>> +
>>  		dst = kmap_local_page(page);
>>  		ret = zcomp_decompress(zram->comps[prio], zstrm,
>>  				       src, size, dst);
> 
> I think you are looking at some old code base (or maybe vanilla kernel),
> that function does not look like this in the current mm tree (or linux-next).
Yes, it's from https://github.com/torvalds/linux. Sorry I did not examine the
latest code, please ignore this thread.

Thanks.
diff mbox series

Patch

diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index 7903a4da40ac..ad1fbe6d823d 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -1561,11 +1561,6 @@  static int zram_read_from_zspool(struct zram *zram, struct page *page,
 
 	size = zram_get_obj_size(zram, index);
 
-	if (size != PAGE_SIZE) {
-		prio = zram_get_priority(zram, index);
-		zstrm = zcomp_stream_get(zram->comps[prio]);
-	}
-
 	src = zs_map_object(zram->mem_pool, handle, ZS_MM_RO);
 	if (size == PAGE_SIZE) {
 		dst = kmap_local_page(page);
@@ -1573,6 +1568,9 @@  static int zram_read_from_zspool(struct zram *zram, struct page *page,
 		kunmap_local(dst);
 		ret = 0;
 	} else {
+		prio = zram_get_priority(zram, index);
+		zstrm = zcomp_stream_get(zram->comps[prio]);
+
 		dst = kmap_local_page(page);
 		ret = zcomp_decompress(zram->comps[prio], zstrm,
 				       src, size, dst);