Hello, The attached patch simplifies the target-stack by folding the "struct target_stack_item" into the "struct target_ops". The field "struct target_ops . beneath" being added. This in turn greatly simplifies the logic needed to walk the target stack (target_beneath becomes a one-liner), and that in turn lets me correctly implement the new target read/write partial methods I just posted. Note that this implementation is still limited to a single target stack (due to all the target_ops vectors being static). Follow-on changes can eliminate that restriction. Once I've finished testing, I'll look to commit it in a day or so, Andrew