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

Shishir Gowda sgowda at redhat.com
Fri Oct 5 04:06:10 UTC 2012


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.

With regards,
Shishir




More information about the Gluster-devel mailing list