I'm trying to modify the ordering of I/O requests in Linux kernel, andcame across the barrier flags REQ_HARDBARRIER and REQ_SOFTBARRIER.

One thing I noticed (which might be wrong) is that all the requestshave both these flags set. What is the significance of these flags? Isit a must for a request to have this? Can I reorder two requests withthese flags set? How is SOFTBARRIER different from HARDBARRIER?