Re: [PATCH e2fsprogs 7/9] lib/ext2fs: Support encoding when calculating dx hashes

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

 



On Mon, Oct 15, 2018 at 05:12:18PM -0400, Gabriel Krisman Bertazi wrote:
> diff --git a/lib/ext2fs/dirhash.c b/lib/ext2fs/dirhash.c
> index 4ba3f35c091f..2198a6fd4d2a 100644
> --- a/lib/ext2fs/dirhash.c
> +++ b/lib/ext2fs/dirhash.c
>  /* dirhash.c */
> -extern errcode_t ext2fs_dirhash(int version, const char *name, int len,
> +extern errcode_t ext2fs_dirhash(const struct nls_table *charset, int version,
> +				int hash_flags, const char *name, int len,
>  				const __u32 *seed,
>  				ext2_dirhash_t *ret_hash,
>  				ext2_dirhash_t *ret_minor_hash);

We can't change function signatures in libext2fs, because this would
breaks the shared libraries ABI.

So when you want to add a new function parameter to a shared library
function, what you should do is create a new function that has the new
parameter, and call it something like ext2_dirhash2().  Then
ext2_dirhash() can be implemented in terms of ext2_dirhash2().

Also, my preference would be to insert new input paramters after len, e.g.:

extern errcode_t ext2fs_dirhash2(int version, const char *name, int len,
				 int hash_flags,
				 const struct nls_table *charset,
				 const __u32 *seed,
				 ext2_dirhash_t *ret_hash,
				 ext2_dirhash_t *ret_minor_hash);
	
					- Ted



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux