Alan Hargreaves's Weblog

Live Upgrade and TimeSlider gotcha

Alan Hargreaves
Senior Principal Technical Support Engineer

Tried to upgrade my workstation over the weekend to snv_117. Apart from a little tridying up I had to do as a package didn't install correctly, all apeared to be going fine. I then went to unmount /.alt.snv_117, and it failed saying that the filesystem was busy.

fuser -c showed no processes using the mount point. What could it be?

A little bit of dtracing the umount2() system call was illuminating.

  1              <- zfsctl_umount_snapshots           0                0
1 <- zfs_umount 0 16

Hang on, snapshots? Although it returned 0, let's just check; as I do have timeslider enabled on this box.

rootksh@vesvi:~$ zfs list -t snapshot|grep 117                                                                     
pool/ROOT/snv_116@snv_117 4.03M - 8.78G -
pool/ROOT/snv_117@zfs-auto-snap:hourly-2009-06-19-09:00 43.8M - 7.99G -
pool/ROOT/snv_117@zfs-auto-snap:hourly-2009-06-19-10:00 48.9M - 8.44G -
pool/ROOT/snv_117@zfs-auto-snap:hourly-2009-06-19-11:00 43.7M - 8.74G -
pool/ROOT/snv_117@zfs-auto-snap:frequent-2009-06-19-11:15 42.6M - 8.75G -
pool/ROOT/snv_117@zfs-auto-snap:frequent-2009-06-19-11:30 45.8M - 8.76G -
pool/ROOT/snv_117@zfs-auto-snap:frequent-2009-06-19-11:45 38.1M - 8.77G -
pool/ROOT/snv_117@zfs-auto-snap:hourly-2009-06-19-12:00 38.5M - 8.80G -
pool/ROOT/snv_117@zfs-auto-snap:daily-2009-06-22-00:00 0 - 8.80G -
pool/ROOT/snv_117@zfs-auto-snap:weekly-2009-06-22-00:00 0 - 8.80G -
pool/ROOT/snv_117@zfs-auto-snap:hourly-2009-06-22-10:00 0 - 8.80G -
pool/ROOT/snv_117@zfs-auto-snap:frequent-2009-06-22-10:30 0 - 8.80G -
pool/ROOT/snv_117@zfs-auto-snap:frequent-2009-06-22-10:45 0 - 8.80G -

Oh, timeslider was taking snapshots of the filesystem while it was upgrading. Hmm maybe we should be having that disabled on the target of a live upgrade (rfe coming, but I don't hold out a lot of hope).

Anyway, removing them was not difficult:

rootksh@vesvi:~$ zfs list -t snapshot|grep snv_117@zfs-auto|awk '{print $1}' | xargs -L 1 zfs destroy
rootksh@vesvi:~$ luumount snv_117

Something to keep in mind if you are using timeslider, zfs root and live upgrade (I wonder if we would have the same issue with 'pkg image-update' in OpenSolaris).

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.