Re: patch for ext2fs unmount problem at shutdown

From: Don Lewis <truckman_at_FreeBSD.org>
Date: Tue, 6 Sep 2005 00:57:04 -0700 (PDT)
On  6 Sep, Poul-Henning Kamp wrote:
> In message <200509060739.j867dT0x031916_at_gw.catspoiler.org>, 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)
                                vfs_unmountall();
                }

It would be nice if we only skipped unmounting those file systems that
failed to sync.
Received on Tue Sep 06 2005 - 05:57:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:42 UTC