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