Messages in this thread | | | Subject | Re: [RFC PATCH] block: warn if blk_stack_limits() undermines atomicity | From | "Martin K. Petersen" <> | Date | Tue, 23 Feb 2010 12:10:44 -0500 |
| |
>>>>> "Mike" == Mike Snitzer <snitzer@redhat.com> writes:
Mike> For instance, a 512 byte device and a 4K device may be combined Mike> into a single logical DM device; the resulting DM device would Mike> have a logical_block_size of 4K. Filesystems layered on such a Mike> hybrid device assume that 4K will be written atomically but in Mike> reality that 4K will be split into 8 512 byte IOs when issued to Mike> the 512 byte device.
Not really. It'll be issued as one I/O with a smaller LBA count but an identical data payload.
Mike> Using a 4K logical_block_size for the higher-level DM device Mike> increases potential for a partial write to the 512b device if Mike> there is a system crash.
That's a definite maybe :)
Mike> [NOTE: setting "misaligned" for this warning is somewhat awkward Mike> but blk_stack_limits() return of -1 can be viewed as there was an Mike> "alignment inconsistency". Would it be better to return -1 but Mike> avoid setting t->misaligned?]
I don't have a problem with printing a warning but I don't think this qualifies as misalignment on the grounds that the error scenario is in the hypothetical bucket and not a deterministic thing.
-- Martin K. Petersen Oracle Linux Engineering
| |