Mark Saad
2012-Apr-11 15:20 UTC
Panic after converting Softupdates to journaled softupdates
Hell All
I wanted to share this with you before sending a pr . I did not find
anything that matched it and I wanted to see if I did something wrong
procedurally .
I upgraded a 7.4-RELEASE amd64 box to 9.0-STABLE sources from
yesterday 10 Apr 2012.
Every thing worked well. I was able to boot and run off 9.0-STABLE my
apps worked ; So I wanted to swap out soft updates for journaed soft
updates.
The box used 3 UFS slices that were glabled. Note root and var had
softupdates but
/usr/local/mysql/data did not
# Device Mountpoint FStype Options Dump Pass#
/dev/label/rootfs / ufs rw 1 1
/dev/label/var /var ufs rw 2 2
/dev/label/SWAP none swap sw 0 0
/dev/label/data /usr/local/mysql/data ufs rw
2 2
Here is what I did to convert them.
---------
# tunefs -n disable /
tunefs: soft updates cleared
tunefs: file system reloaded
# tunefs -n disable /var
tunefs: soft updates cleared
# fsck -y /
** /dev/label/rootfs
** Last Mounted on /
** Root file system
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
271768 files, 4336411 used, 59997908 free (136692 frags, 7482652
blocks, 0.2% fragmentation)
***** FILE SYSTEM IS CLEAN *****
# fsck -y /var
** /dev/label/var
** Last Mounted on /var
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
24792 files, 141287 used, 3919776 free (1232 frags, 489818 blocks,
0.0% fragmentation)
***** FILE SYSTEM IS CLEAN *****
# fsck -y /usr/local/mysql/data
** /dev/label/data
** Last Mounted on /usr/local/mysql/data
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
89528 files, 18246873 used, 51166840 free (59080 frags, 6388470
blocks, 0.1% fragmentation)
***** FILE SYSTEM IS CLEAN *****
# tunefs -j enable /
Using inode 7 in cg 0 for 33554432 byte journal
tunefs: soft updates journaling set
tunefs: file system reloaded
# tunefs -j enable /var
Using inode 4 in cg 0 for 33554432 byte journal
tunefs: soft updates journaling set
# tunefs -j enable /usr/local/mysql/data
Using inode 425 in cg 0 for 33554432 byte journal
tunefs: soft updates journaling set
# reboot
Apr 11 11:08:58 init: single user shell terminated.
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...0 0 0 0 0 0 0 0 0 0 done
All buffers synced.
panic: /: ffs_sync: modification on read-only filesystem
cpuid = 0
KDB: stack backtrace:
#0 0xffffffff808c283e at kdb_backtrace+0x5e
#1 0xffffffff8088d017 at panic+0x187
#2 0xffffffff80abc51d at ffs_sync+0x50d
#3 0xffffffff809303e1 at vfs_write_suspend+0x111
#4 0xffffffff80abcbd8 at ffs_unmount+0x3f8
#5 0xffffffff8091b2ce at dounmount+0x26e
#6 0xffffffff80921ea2 at vfs_unmountall+0x42
#7 0xffffffff8088ce30 at kern_reboot+0x7a0
#8 0xffffffff8088d19c at sys_reboot+0x6c
#9 0xffffffff80b77260 at amd64_syscall+0x500
#10 0xffffffff80b62257 at Xfast_syscall+0xf7
Uptime: 6m38s
Automatic reboot in 15 seconds - press a key on the console to abort
Now the box locked up hard and It would not reboot automatically.
I am waiting to see if I can get a coredump after it comes back up. I
have walk over an kick it over manually now.
So does anyone have any insight into what happened here ?
--
mark saad | nonesuch@longcount.org
Mark Saad
2012-Apr-11 17:00 UTC
Panic after converting Softupdates to journaled softupdates
On Wed, Apr 11, 2012 at 11:20 AM, Mark Saad <nonesuch@longcount.org> wrote:> Hell All > ?I wanted to share this with you before sending a pr . I did not find > anything that matched it and I wanted to see if I did something wrong > procedurally . > > I upgraded a 7.4-RELEASE amd64 box to 9.0-STABLE sources from > yesterday 10 Apr 2012. > > Every thing worked well. I was able to boot and run off 9.0-STABLE my > apps worked ; So I wanted to ?swap out soft updates for journaed soft > updates. > > The box used 3 UFS slices that were glabled. Note root and var had > softupdates but > /usr/local/mysql/data did not > > > # Device ? ? ? ? ? ? ? ?Mountpoint ? ? ?FStype ?Options ? ? ? ? Dump ? ?Pass# > /dev/label/rootfs ? ? ? / ? ? ? ? ? ? ? ufs ? ? rw ? ? ? ? ? ? ?1 ? ? ? 1 > /dev/label/var ? ? ? ? ?/var ? ? ? ? ? ?ufs ? ? rw ? ? ? ? ? ? ?2 ? ? ? 2 > /dev/label/SWAP ? ? ? ? none ? ? ? ? ? ?swap ? ?sw ? ? ? ? ? ? ?0 ? ? ? 0 > /dev/label/data ? ? ? ? /usr/local/mysql/data ? ? ? ? ? ufs ? ? rw > ? ? ? ? 2 ? ? ? 2 > > > Here is what I did to convert them. > > --------- > > # tunefs -n disable / > tunefs: soft updates cleared > tunefs: file system reloaded > # tunefs -n disable /var > tunefs: soft updates cleared > # fsck -y / > ** /dev/label/rootfs > ** Last Mounted on / > ** Root file system > ** Phase 1 - Check Blocks and Sizes > ** Phase 2 - Check Pathnames > ** Phase 3 - Check Connectivity > ** Phase 4 - Check Reference Counts > ** Phase 5 - Check Cyl groups > 271768 files, 4336411 used, 59997908 free (136692 frags, 7482652 > blocks, 0.2% fragmentation) > > ***** FILE SYSTEM IS CLEAN ***** > # fsck -y /var > ** /dev/label/var > ** Last Mounted on /var > ** Phase 1 - Check Blocks and Sizes > ** Phase 2 - Check Pathnames > ** Phase 3 - Check Connectivity > ** Phase 4 - Check Reference Counts > ** Phase 5 - Check Cyl groups > 24792 files, 141287 used, 3919776 free (1232 frags, 489818 blocks, > 0.0% fragmentation) > > ***** FILE SYSTEM IS CLEAN ***** > > # fsck -y /usr/local/mysql/data > ** /dev/label/data > ** Last Mounted on /usr/local/mysql/data > ** Phase 1 - Check Blocks and Sizes > ** Phase 2 - Check Pathnames > ** Phase 3 - Check Connectivity > ** Phase 4 - Check Reference Counts > ** Phase 5 - Check Cyl groups > 89528 files, 18246873 used, 51166840 free (59080 frags, 6388470 > blocks, 0.1% fragmentation) > > ***** FILE SYSTEM IS CLEAN ***** > > # tunefs -j enable / > Using inode 7 in cg 0 for 33554432 byte journal > tunefs: soft updates journaling set > tunefs: file system reloaded > # tunefs -j enable /var > Using inode 4 in cg 0 for 33554432 byte journal > tunefs: soft updates journaling set > # tunefs -j enable /usr/local/mysql/data > Using inode 425 in cg 0 for 33554432 byte journal > tunefs: soft updates journaling set > # reboot > Apr 11 11:08:58 init: single user shell terminated. > Waiting (max 60 seconds) for system process `vnlru' to stop...done > Waiting (max 60 seconds) for system process `bufdaemon' to stop...done > Waiting (max 60 seconds) for system process `syncer' to stop... > Syncing disks, vnodes remaining...0 0 0 0 0 0 0 0 0 0 done > All buffers synced. > panic: /: ffs_sync: modification on read-only filesystem > cpuid = 0 > KDB: stack backtrace: > #0 0xffffffff808c283e at kdb_backtrace+0x5e > #1 0xffffffff8088d017 at panic+0x187 > #2 0xffffffff80abc51d at ffs_sync+0x50d > #3 0xffffffff809303e1 at vfs_write_suspend+0x111 > #4 0xffffffff80abcbd8 at ffs_unmount+0x3f8 > #5 0xffffffff8091b2ce at dounmount+0x26e > #6 0xffffffff80921ea2 at vfs_unmountall+0x42 > #7 0xffffffff8088ce30 at kern_reboot+0x7a0 > #8 0xffffffff8088d19c at sys_reboot+0x6c > #9 0xffffffff80b77260 at amd64_syscall+0x500 > #10 0xffffffff80b62257 at Xfast_syscall+0xf7 > Uptime: 6m38s > Automatic reboot in 15 seconds - press a key on the console to abort > > > Now the box locked up hard and It would not reboot automatically. > > I am waiting to see if I can get a coredump after it comes back up. I > have walk over an kick it over manually now. > > So does anyone have any insight into what happened here ? > > -- > mark saad | nonesuch@longcount.orgshort follow up , savecore did not work no dump was saved to swap. Also there was no apparent impact from this crash other then the need to power cycle the box. So far su+j appears to be working. I will stress the disks a bit more and pull the power to see if it actually works later. -- mark saad | nonesuch@longcount.org