[Gluster-devel] dht diir self-heal/fix-layout fixes

Amar Tumballi amarts at redhat.com
Mon Oct 8 10:10:06 UTC 2012


On 10/05/2012 09:36 AM, Shishir Gowda wrote:
> Hi All,
>
> Few enhancements/fixes for dht's directory self-heal and fix-layout.
>
> Problem:
>
> 1.When a dht's subvolume is down, with self-heal/fix-layout directories might get new layouts.
>    Since the subvolume is down, a create will succeed on the newer hashed subvol.
>    If a file already exists in the downed subvol, then we end up with duplicate entries.
>
> 2. When a subvolume run's out of space, dht_layout_anomalies currently treats it as downed brick.
>
>
> Proposed solution:
>
> 1. Make sure dht_layout_anomalies handles both ENOTCONN and ENOSPC separately.
> 2. In self-heal/fix-layout treat ENOTCONN as fatal error, and fail the new layout ops.
> 3. In case of ENOSPC error
>     a. If fix-layout: fix the layout
>     b. If self-heal of dir: Create dir if required (and ignore failures if any), and write the layout.
>
> The tracking bug for this fix is: 860663
>
> Comments welcome.

Looks good for me.

Avati/Jeff, any thoughts?

Regards,
Amar




More information about the Gluster-devel mailing list