> That aside, I have no idea if this patch is the right thing to do. ÂI > thought the page bits were mainly important for the page cache... what do > we accomplish by marking user pages dirty this way? Hmm.... It's just because I read this: http://www.makelinux.net/ldd3/chp-15-sect-3.shtml It says: "Once your direct I/O operation is complete, you must release the user pages. Before doing so, however, you must inform the kernel if you changed the contents of those pages. Otherwise, the kernel may think that the pages are "clean," meaning that they match a copy found on the swap device, and free them without writing them out to backing store. So, if you have changed the pages (in response to a user-space read request), you must mark each affected page dirty with a call to: void SetPageDirty(struct page *page);" Maybe you are right. Without marking user pages dirty, my test program also works fine. Henry -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html