patch for ext2fs unmount problem at shutdown

Don Lewis truckman at
Tue Sep 6 00:57:12 PDT 2005

On  6 Sep, Poul-Henning Kamp wrote:
> In message <200509060739.j867dT0x031916 at>, Don Lewis writes:
>>Attached below is a patch to fix the problem caused by having any ext2fs
>>file systems mounted at system shutdown time that prevents any of the
>>file systems from being unmounted and then being marked dirty when the
>>system comes back up.  It works by tweaking ext2fs so that it marks the
>>bufs that it keeps locked as long as the file system is mounted, and
>>tweaks the shutdown code to ignore these bufs when it is counting the
>>number of busy buffers.
> Why is this necessary ?  As far as I know we do an orderly unmount
> of all filesystems at shutdown, so shouldn't ext2fs release the
> buffers at that time ?

We count the busy buffers before unmounting anything, and skip the
unmount if the count is nonzero.

                if (nbusy) {
                         * Failed to sync all blocks. Indicate this and don't
                         * unmount filesystems (thus forcing an fsck on reboot).
                        printf("Giving up on %d buffers\n", nbusy);
                        DELAY(5000000); /* 5 seconds */
                } else {
                        if (!first_buf_printf)
                                printf("Final sync complete\n");
                         * Unmount filesystems
                        if (panicstr == 0)

It would be nice if we only skipped unmounting those file systems that
failed to sync.

More information about the freebsd-current mailing list