  Modern I/O applications that run on HPC infrastructures are increasingly
becoming read and metadata intensive. However, having multiple concurrent
applications submitting large amounts of metadata operations can easily
saturate the shared parallel file system's metadata resources, leading to
overall performance degradation and I/O unfairness. We present PADLL, an
application and file system agnostic storage middleware that enables QoS
control of data and metadata workflows in HPC storage systems. It adopts ideas
from Software-Defined Storage, building data plane stages that mediate and rate
limit POSIX requests submitted to the shared file system, and a control plane
that holistically coordinates how all I/O workflows are handled. We demonstrate
its performance and feasibility under multiple QoS policies using synthetic
benchmarks, real-world applications, and traces collected from a production
file system. Results show that PADLL can enforce complex storage QoS policies
over concurrent metadata-aggressive jobs, ensuring fairness and prioritization.
