Currently viewFS initialize all configured target filesystems when viewfs#init itself.
Some target file system initialization involve creating heavy objects and proxy connections. Ex: DistributedFileSystem#initialize will create DFSClient object which will create proxy connections to NN etc.
For example: if ViewFS configured with 10 target fs with hdfs uri and 2 targets with s3a.
If one of the client only work with s3a target, But ViewFS will initialize all targets irrespective of what clients interested to work with. That means, here client will create 10 DFS initializations and 2 s3a initializations. Its unnecessary to have DFS initialization here. So, it will be a good idea to initialize the target fs only when first time usage call come to particular target fs scheme.