« Previous | Next » 

Revision be028adc

IDbe028adcedd68ca4d78fdc43e7e2fa4f1cdbc653

Added by Jeff Cody over 11 years ago

block: correctly set the keep_read_only flag

I believe the bs->keep_read_only flag is supposed to reflect
the initial open state of the device. If the device is initially
opened R/O, then commit operations, or reopen operations changing
to R/W, are prohibited.

Currently, the keep_read_only flag is only accurate for the active
layer, and its backing file. Subsequent images end up always having
the keep_read_only flag set.

For instance, what happens now:

[ base ] kro = 1, ro = 1 |
v
[ snap-1 ] kro = 1, ro = 1 |
v
[ snap-2 ] kro = 0, ro = 1 |
v
[ active ] kro = 0, ro = 0

What we want:

[ base ] kro = 0, ro = 1 |
v
[ snap-1 ] kro = 0, ro = 1 |
v
[ snap-2 ] kro = 0, ro = 1 |
v
[ active ] kro = 0, ro = 0

Signed-off-by: Jeff Cody <>
Signed-off-by: Kevin Wolf <>

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences