Fengguang Wu <fengguang...@intel.com> writes: >> > And BDI_CAP_NO_WRITEBACK is expected to be a static/constant flag that >> > always evaluate to true/false for a given bdi. There will be >> > correctness problems if you change the BDI_CAP_NO_WRITEBACK flag >> > dynamically. >> >> I'm going to use it as static or per-sb by initialized in >> fill_super(). And it uses always BDI_CAP_NO_WRITEBACK if sb is >> available. Because own FS task flush instead. > > Ah OK, sorry I didn't quite catch your use case. > > But then if you set BDI_CAP_NO_WRITEBACK in the beginning, how come > __bdi_start_writeback() will be called at all?
If we call mark_inode_dirty(inode), inode goes into bdi->wb.b_dirty. And sync(2) calls __bdi_start_writeback() for all of bdi if bdi->wb.b_* is not empty. Thanks. -- OGAWA Hirofumi <hirof...@mail.parknet.co.jp> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/