Hi Christoph On 4 March 2012 13:32, Saugata Das <saugata.das@xxxxxxxxxx> wrote: > On 3 March 2012 15:04, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: >> On Fri, Mar 02, 2012 at 06:15:09PM +0530, Saugata Das wrote: >>> --- a/fs/buffer.c >>> +++ b/fs/buffer.c >>> @@ -2926,6 +2926,9 @@ int submit_bh(int rw, struct buffer_head * bh) >>> if (test_set_buffer_req(bh) && (rw & WRITE)) >>> clear_buffer_write_io_error(bh); >>> >>> + if (buffer_meta(bh)) >>> + rw |= REQ_META; >>> + >> >> submit_bh has a perfectly valid rw argument where you can pass REQ_META. >> Please use that instead of abusing a buffer state bit for an I/O >> submission flag. >> > > Typically, during meta-data writes, the buffer is only marked dirty > (__ext4_handle_dirty_metadata). The submit_bh of the dirty meta-data > buffer happens later from writeback thread which in general flushes > out all the buffers. From this generic handling of dirty buffers from > writeback thread via generic writepage functions till submit_bh, it is > not possible to identify whether the buffer was corresponding to any > meta-data without having an extra information in the buffer itself. Is the above explanation OK for you ? Or, do you some alternative suggestion for me to explore ? Based on your feedback, I shall resubmit the patch on top of 3.4. regards saugata -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html