A long-standing open problem concerns the calculation of the moments of the area beneath the M/G/1 workload graph during a busy period. While expressions for the first two moments were known, no results for higher moments were available. In this paper we develop a recursive algorithm by which all moments can be expressed in terms of the model primitives. Our results extend to any storage system fed by a superposition of a drifted Brownian motion and a subordinator (nondecreasing Levy process) with a secondary jump input, yielding the moments (including joint ones) of a general class of polynomial functionals of the workload process. For the special case of the M/G/1 queue we identify the joint transform of the area and the duration of the busy period.