Hello All,

Here's a possibly-silly proposal from a non-expert.

Summarising the problem:
   - there's a conflict between small ZFS record size, for good random 
update performance, and large ZFS record size for good sequential read 
performance

   - COW probably makes that conflict worse

   - re-packing (~= defragmentation) would make it better, but cause 
problems with the snapshot mechanism

Proposed solution:
   - keep COW

   - create a new operation that combines snapshots and cloning

   - when you're cloning, always write a tidy, re-packed layout of the data

   - if you're using the new operation, keep the existing layout as the 
clone, and give the new layout to the running file-system

Things that have to be done to make this work:

   - sort out the semantics, because the clone will be in the existing 
zpool, and the file-system will move to a new zpool (not sure if I have 
the terminology right)

   - sort out the transactional properties; the changes made since the 
start of the operation will have to be copied across into the new layout

Regards,
James.
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to