Currently, when an erasure coding policy is removed, it's been transited to "removed" state. User cannot apply policy with "removed" state to file/directory anymore. The policy cannot be safely removed from the system unless we know there are no existing files or directories that use this "removed" policy. To find out whether there are files or directories which are using the policy is time consuming in runtime and might impact the Namenode performance. So a better choice is doing the work when NameNode restarts and loads Inodes. Collecting the information at that time will not introduce much extra overhead.