>Out of curiosity, what is the timing difference between a userland script
>and performing the operations in the kernel?
[EMAIL PROTECTED] ~]# time zfs destroy solaris/[EMAIL PROTECTED] ; time zfs
rename solaris/[EMAIL PROTECTED] solaris/[EMAIL PROTECTED]; time zfs snapshot
solaris/[EMAIL PROTECTED]
real 0m5.220s
user 0m0.010s
sys 0m0.023s
real 0m5.856s
user 0m0.010s
sys 0m0.023s
real 0m7.620s
user 0m0.009s
sys 0m0.029s
[EMAIL PROTECTED] ~]# time zfs destroy solaris/[EMAIL PROTECTED] ; time zfs
rename solaris/[EMAIL PROTECTED] solaris/[EMAIL PROTECTED]; time zfs snapshot
solaris/[EMAIL PROTECTED]
real 0m7.363s
user 0m0.010s
sys 0m0.031s
real 0m5.107s
user 0m0.010s
sys 0m0.022s
real 0m7.888s
user 0m0.009s
sys 0m0.024s
Operation takes 15 - 20 seconds
In kernel it takes ( time in ms ):
0 42867 dmu_objset_snapshot:return time 2471
1 42867 dmu_objset_snapshot:return time 10803
1 42867 dmu_objset_snapshot:return time 7968
0 42867 dmu_objset_snapshot:return time 14139
0 42867 dmu_objset_snapshot:return time 14405
1 42867 dmu_objset_snapshot:return time 8883
0 42867 dmu_objset_snapshot:return time 4960
Now the code in kernel is without optimalization
zfs_unmount_snap(snap_previous, NULL);
dmu_objset_destroy(snap_previous);
zfs_unmount_snap(zc->zc_value, NULL);
dmu_objset_rename(zc->zc_value, snap_previous);
error = dmu_objset_snapshot(zc->zc_name,
REPLICATE_SNAPSHOT_LATEST, 0);
In kernel operation can be optimized and done in one dsl_sync_task_do call.
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss