A model in which filter drivers are managed to receive callbacks for I / O requests in which the filter drivers have registered an interest. Per-volume instances of filter drivers register with a filter manager for pre-callbacks (for I / O to the file system) and post-callbacks (for I / O from the file system), and identify which I / O requests (e.g., create, read, write) they are registering to receive callbacks. The filter manager orders the instances for callbacks. When an I / O request is received, the filter manager converts the I / O request to callback data and calls the interested filters in the callback order, whereby the filter instances can process the I / O data. As the request returns from the file system, filters desiring post callbacks are called in the reverse order. Efficient context management for the filters and other functions, such as non-reentrant file I / O, are also provided by the model.