> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss- > boun...@opensolaris.org] On Behalf Of Carsten John > > I set up a script to replicate all zfs filesystems (some 300 user home > directories in this case) within a given pool to a "mirror" machine. The basic > idea is to send the snapshots incremental if the corresponding snapshot > exists on the remote side or send a complete snapshot if no corresponding > previous snapshot is available > > Thee setup basically works, but form time to time (within a run over all > filesystems) I get error messages like: > > "cannot receive new filesystem stream: dataset is busy" or > > "cannot receive incremental filesystem stream: dataset is busy" > > does anybody have a suggestion what might cause the dataset to be busy?
Usually a dataset is "busy" when it's in the middle of receiving another stream, or it thinks it is. I haven't read your script, but I bet you don't set a flag to indicate you're already running, and I bet you're running your script via cron, and sometimes it takes longer to complete than the amount of time between cron tasks, right? Just an educated guess. But even if I'm wrong about your cron schedule, it's still a really good guess about the root cause of your problem. What else could cause it to be busy? A receive is definitely one. A scrub or a resilver - maybe, I'm not sure. But my best guess is that only a receive would do this to you. On some versions, there was a bug. If the system crashed mid-receive, it would keep the partially received clone indefinitely, breaking all future receives, until you destroy that faulty clone. This problem has been fixed, assuming you've applied updates in the last year or so. This does not match the behavior you're seeing, does it? If so, we'll tell you how to destroy the hidden clone. (And you should apply updates.) _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss