All of lore.kernel.org
 help / color / mirror / Atom feed
* [Lustre-devel] [RFC] "lctl readonly" modification proposal
@ 2008-08-20 11:23 Alexander Zarochentsev
  2008-08-20 17:39 ` Peter Braam
  0 siblings, 1 reply; 13+ messages in thread
From: Alexander Zarochentsev @ 2008-08-20 11:23 UTC (permalink / raw)
  To: lustre-devel

Hello,

Currently "lctl readonly" command is used in recovery-related acceptance 
test as a disk write barrier, any server operations after such a 
barrier do not change disk state. replay-dual.sh:test_14 is an example, 
it uses test-framework.sh:replay_barrier which calls "lctl readonly".

However "lctl readonly" cannot immediately "freeze" disk state because 
it does device sync right before setting device r/o.

The additional sync breaks COS unit tests: COS-effect (syncs between 
dependent transactions) is hidden before the R/O barrier because the 
barrier does device sync anyway and COS-effect is invisible after the 
barrier because all disk writes are disabled already.

Currently syncs are issued twice at different levels of call stack:

lctl readonly
      |
mdt_iocontrol -> dt_sync
      |
   osd_ro
      |
__lvfs_set_rdonly -> lvfs_sbdev_sync(dev)
      |
dev_set_rdonly(dev, jdev)

Is there any requirement to have a device sync before setting the device 
r/o?  

If not, syncless variant of "lctl readonly" would be more useful for 
testing. If changing of "lctl readonly" behavior is not possible, it 
would be good to have a syncless set R/O operation under another ioctl.

syncless R/O and a network barrier might be a good simulation of server 
crash without a need of machine restart.

Thanks,
-- 
Alexander "Zam" Zarochentsev
Staff Engineer
Lustre Group, Sun Microsystems

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-08-29 18:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-20 11:23 [Lustre-devel] [RFC] "lctl readonly" modification proposal Alexander Zarochentsev
2008-08-20 17:39 ` Peter Braam
2008-08-20 19:29   ` Andreas Dilger
2008-08-22 15:45     ` Alexander Zarochentsev
2008-08-24  2:02       ` Andreas Dilger
2008-08-28 17:11         ` Nathaniel Rutman
2008-08-28 20:25           ` Andreas Dilger
2008-08-29 18:46             ` Nathaniel Rutman
2008-08-20 19:42   ` Mikhail Pershin
2008-08-20 19:59     ` Peter Braam
2008-08-21  9:24     ` Alexander Zarochentsev
2008-08-21 10:03       ` Mikhail Pershin
2008-08-21 10:43         ` Alex Zhuravlev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.