I'm interested in creating a read-only vdev or adding in the ability to 
disallow writes to a particular vdev within a pool.  So, if there were two 
device nodes: d1 and d2 inside of a pool, I'd like to restrict writing to d1 
and force all writes to go to d2.

Initially, I attempted to manipulate vdev_t spa_root_vdev -> vdev_stat_t 
vdev_stat -> vs_alloc.  I set vs_alloc = vs_space (hoping this would prevent 
further writes to the particular vdev).  This resulted in zpool list displaying 
incorrect values in the "used" column but not restricting writes.

I am currently looking at the ZIO code to tackle my problem.  I am trying to 
find how this layer tracks the free blocks (I think this is done w/ trees).  
I'd like to mark all the blocks as written to prevent writes to a particular 
vdev.

Any suggestions on how to tackle this would be greatly appreciated
~Mike
-- 
This message posted from opensolaris.org

Reply via email to