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 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.

> -		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