softdep_waitidle: Failed to flush worklist
Eric Anderson
anderson at freebsd.org
Tue May 22 13:07:55 UTC 2007
On 05/21/07 12:12, Attila Nagy wrote:
> Hello,
>
> I have some read only NFS servers, which share a virtual IP (with CARP)
> to provide fault resilience. One of them is the
> master server, on which I occasionally modify the NFS share's content.
> To make this possible, I have a real UFS file system, on which I have a
> smaller file. This holds the file system image, which I rsync to the
> other servers, if needed.
>
> The setup:
> # mdconfig -lu 0
> md0 vnode 19G /data/nfsimg
> # mount | grep nfs
> /dev/md0 on /nfs (ufs, NFS exported, local, soft-updates)
>
> The modify process is like this:
> #mount -o rw -u /nfs
> [modify content]
> #mount -o ro -u /nfs
> [rsync /data/nfsimg to the other machines]
>
> This has worked like a charm until now. Since I've upgraded the OS to
> RELENG_6 as of today, I get the following
> line into the syslog everytime I modify something on /nfs and want to do
> a read only remount:
> softdep_waitidle: Failed to flush worklist for 0xffffff0054e00630
> and the remount command (mount -o ro -u /nfs) fails with:
> mount: /dev/md0: Device busy
>
> Before the upgrade (RELENG_6 from Sep 29 2006), I couldn't notice this
> behaviour, so something must have changed in the last 3/4 year. :)
>
> Of course I can turn softupdates off, but it would be interesting to
> know what causes this difference...
>
I used to see that on some filesystems (2TB) when I would do a large
number of writes, then immediately mount -u -ro like you are doing. I
dodged it by putting a sleep and sync between the finish of my writes,
and the mount update (I think it was 30 seconds). I never tracked it
down to anything, and honestly forgot until now that I did that.
Eric
More information about the freebsd-fs
mailing list