Tiny supportability nit: today we emit these log messages when adding a write block to an index:

```
[2022-03-22T19:43:26,897][INFO ][o.e.c.m.MetadataIndexStateService] [node_t1] adding block write to indices [[test-blocks/eLkrYpm_S3WNemfWpXrhPA]]
[2022-03-22T19:43:26,933][INFO ][o.e.c.m.MetadataIndexStateService] [node_t1] completed adding block write to indices [test-blocks]
```

This is kind of confusing, a `block write` sounds like we're writing a block of data. It's not clear that `write` is variable (we also say `block read`) or the name of a block setting. I think we should word this as `adding [index.blocks.write] block to indices` instead.
server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexStateService.java
}
            assert Strings.hasLength(indexBlock.uuid()) : "Block should have a UUID";
            blocks.addIndexBlock(index.getName(), indexBlock);
            blockedIndices.put(index, indexBlock);
            
            final IndexMetadata indexMetadata = metadata.getSafe(index);
            if (block.setting().get(indexMetadata.getSettings()) == false) {
                final Settings updatedSettings = Settings.builder().put(indexMetadata.getSettings()).put(block.settingName(), true).build();
                metadata.put(
                    IndexMetadata.builder(indexMetadata).settings(updatedSettings).settingsVersion(indexMetadata.getSettingsVersion() + 1)
                );
            }
        }
        logger.info("adding block {} to indices {}", block.name, blockedIndices.keySet().stream().map(Object::toString).toList());
        return Tuple.tuple(ClusterState.builder(currentState).blocks(blocks).metadata(metadata).build(), blockedIndices);
    }
    /**
     * Adds an index block based on the given request, and notifies the listener upon completion.
     * Adding blocks is done in three steps:
     * - First, a temporary UUID-based block is added to the index
     *   (see {@link #addIndexBlock(Index[], ClusterState, APIBlock)}.
     * - Second, shards are checked to have properly applied the UUID-based block.
     *   (see {@link WaitForBlocksApplied}).
     * - Third, the temporary UUID-based block is turned into a full block
     *   (see {@link #finalizeBlock(ClusterState, Map, Map, APIBlock)}.
     * Using this three-step process ensures non-interference by other operations in case where
     * we notify successful completion here.
     */
    public void addIndexBlock(AddIndexBlockClusterStateUpdateRequest request, ActionListener<AddIndexBlockResponse> listener) {
        final Index[] concreteIndices = request.indices();