Akira Hayakawa
Akira Hayakawa
If we maintain a list of pair (backing, caching) where both values are simply the name passed that's only effective between two reboots (or hot-swapping is another issue this can't...
Let's try adding FMODE_EXCL flag and see what changes. There is no target adding this flag though. ``` c static int consume_essential_argv(struct wb_device *wb, struct dm_arg_set *as) { int err...
By default the `mode` doesn't have FMODE_EXCL in. ``` c static inline fmode_t get_mode(struct dm_ioctl *param) { fmode_t mode = FMODE_READ | FMODE_WRITE; if (param->flags & DM_READONLY_FLAG) mode = FMODE_READ;...
The idea of adding FMODE_EXCL alone doesn't work
I made a reproducer. ``` scala class REPRO_118 extends DMTestSuite { // TODO enable this once dm-flakey is fixed ignore("don't merge when the asking region entirely exists in the caching...
`remove -f` (with force flag) should remove the device forcibly without waiting the flushing completed. I should write a test.
If we move the might_queue_current_buffer right after mutex_lock (I think it's logically ok but shortcoming of the change is overwriting to the last block in rambuf becomes impossible because wb...
If we can remove wb'd device irrelevant of flushing the dirty data, we can emulate power failure that is discussed in #68.
suspend should complete all requests submitted before `dmsetup suspend`. so we need to flush current rambuf because deferred flush request may be chained. (if no flush request is chained there...
So I think the current postsuspend implemention is fine.