1. A method of managing I/O requests in a storage system, wherein each one of a plurality of I/O request includes an associated priority, the method comprising steps of: receiving an I/O request with the associated priority; creating an I/O request queue for each priority and defining a threshold value for queue length wherein the queue length is a number of I/O requests pending for processing in the I/O queue; determining a queue length for one of a plurality of I/O request queues having a priority that matches the associated priority; determining if the queue length is less than the threshold value defined for the one of the plurality of the I/O request queues; and when the queue length is more than the threshold value for the queue length for one of the plurality of the I/O request queues then rejecting the I/O request and sending a queue full message; wherein the threshold value of the queue length is defined based on a processing rate of the I/O requests in each of the plurality of the I/O request queues.