Re: [PATCH 4/6] Xarray: skip unneeded xas_store() and xas_clear_mark() in __xa_alloc()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




on 11/2/2024 12:02 AM, Matthew Wilcox wrote:
> On Fri, Nov 01, 2024 at 11:50:26PM +0800, Kemeng Shi wrote:
>> If xas_find_marked() failed, there is no need to call xas_store() and
>> xas_clear_mark(). Just call xas_store() and xas_clear_mark() if
>> xas_find_marked() succeed.
> 
> No.  The point of the xas interfaces is that they turn into no-ops once
> an error has occurred.
Yes, xas interfaces can tolerate error. The question is do we really need to
call xas_store(...) here if we already know there is no room to store new entry.
But no insistant on this as it's not a big deal anyway.

Will drop this on next version if you still disklike this.
Thanks.

> 
>> -		else
>> +		else {
>>  			*id = xas.xa_index;
>> -		xas_store(&xas, entry);
>> -		xas_clear_mark(&xas, XA_FREE_MARK);
>> +			xas_store(&xas, entry);
>> +			xas_clear_mark(&xas, XA_FREE_MARK);
>> +		}
>>  	} while (__xas_nomem(&xas, gfp));
>>  
>>  	return xas_error(&xas);
>> -- 
>> 2.30.0
>>
> 





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux