[Top] [All Lists]

Re: [PATCH]fix the algorithm for addname in xfs_da_node_lookup_int

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH]fix the algorithm for addname in xfs_da_node_lookup_int
From: Kevin Xu <cgxu.gg@xxxxxxxxx>
Date: Sun, 23 Mar 2008 11:05:51 +0800
Cc: xfscn@xxxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=VlfhIFN7oCPEEsLTNuQ+/zt7cnBoFpc6ItZHVehDFbM=; b=CuY6mWR8/2ZwyPfAkT+hwa+Cz+EQs4Tv4hU5iARjKtdJ7D9Cf04i1aAGRtTPx1rqH5SsfYJUUKSjM5BTEM5U71S++jazy5+GVC5hpLHAphNJvDCUqISx89wzY0ZimA+4wrr0+5mv7NIhs9gN+XxPXBDB30DVo3ewy058GjuIrNE=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; b=Fbw5obeOYu82ryWMgw7ttw5O2Iksess0p2bqXFWx6hkNTluIDEGmSzw7GjVKXCId3lqEGhO8SynafIl3oormZzDUcwKJH+f0P/7eABmrvuZixmhJ5ZD9eCtSxmv1s4Iza/48uTkSs5uHiIFrvveysDXj/ef8jWQmbsvH0fEvybc=
In-reply-to: <47E5B64E.5090504@sandeen.net>
References: <47E5AC7D.4080708@gmail.com> <47E5B64E.5090504@sandeen.net>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird (Windows/20080213)
Eric Sandeen wrote:
Kevin Xu wrote:
fix the algorithm for addname in xfs_da_node_lookup_int

Could you please include a bit more of a changelog, i.e. what was broken and how does this fix it? Perhaps a testcase, if there is one?


I think there is a problem in original processing.
When add a new entry and its hash value is already exist in current directory, furthermore the hash value
is the last one in a leaf block, although we already found a freespace block for adding the new entry,
but we drop this one and continue to check, until the last same hash value.
I think the reason is that xfs_da_node_lookup_int is a common function for addname and lookup.

I added a condition before enter another leaf block, only when we didn't find a freespace block for the new entry,
then we need to enter another leaf block.


<Prev in Thread] Current Thread [Next in Thread>