xfs
[Top] [All Lists]

Re: shutdown umount hangs

To: Utz Lehmann <leh@xxxxxxxxxx>
Subject: Re: shutdown umount hangs
From: Russell Cattelan <cattelan@xxxxxxxxxxx>
Date: Thu, 05 Apr 2001 19:52:21 -0400
Cc: linux-xfs@xxxxxxxxxxx
References: <leh@xxxxxxxxxx> <200104051412.f35ECMU25857@xxxxxxxxxxxxxxxxxxxx> <20010405172344.A1151@xxxxxxxxxx> <3ACC9D13.33DA7299@xxxxxxxxxxx> <3ACCB6A7.EA84241@xxxxxxxxxxx> <20010405221141.A1151@xxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
this won't fix anything but it may help us understand the problem.



--
Russell Cattelan
--
Digital Elves inc. -- Currently on loan to SGI
Linux XFS core developer.


--- /usr/tmp/TmpDir.585-0/linux/fs/xfs/xfs_mount.c_1.249        Thu Apr  5 
18:49:28 2001
+++ linux/fs/xfs/xfs_mount.c    Thu Apr  5 18:48:51 2001
@@ -29,7 +29,7 @@
  * 
  * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
  */
-
+#define _PAGE_BUF_INTERNAL_
 #include <xfs.h>
 
 
@@ -1075,12 +1075,13 @@
        xfs_buf_t       *sbp;
        xfs_sb_t        *sb;
        int             error = 0;
-
+       page_buf_private_t *pb;
        /*
         * skip superblock write if fs is read-only, or
         * if we are doing a forced umount.
         */
        sbp = xfs_getsb(mp, 0);
+       pb = (page_buf_private_t *)sbp;
        if (!(XFS_MTOVFS(mp)->vfs_flag & VFS_RDONLY ||
                XFS_FORCED_SHUTDOWN(mp))) {
                /*
@@ -1100,7 +1101,11 @@
                XFS_BUF_WRITE(sbp);
                xfs_bwait_unpin(sbp);
                ASSERT(XFS_BUF_TARGET(sbp) == mp->m_dev);
+               printk ("xfs_unmountfs_writesb pre  strat flags 0x%x  
pb_iodonesema cnt(%d,%d)sl\n",
+                               sbp->pb_flags,pb->pb_iodonesema.count.counter, 
pb->pb_iodonesema.sleepers);
                xfsbdstrat(mp, sbp);
+               printk ("xfs_unmountfs_writesb prot strat flags 0x%x  
pb_iodonesema cnt(%d,%d)sl\n",
+                               sbp->pb_flags,pb->pb_iodonesema.count.counter, 
pb->pb_iodonesema.sleepers);
                /* Nevermind errors we might get here. */
                error = xfs_iowait(sbp);
                if (error && mp->m_mk_sharedro)
<Prev in Thread] Current Thread [Next in Thread>