public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* possible null pointer in xlog_iodone
@ 2013-06-14 17:15 Vlad Bespalov
  2013-06-14 19:42 ` Mark Tinguely
  2013-06-15  1:03 ` Dave Chinner
  0 siblings, 2 replies; 6+ messages in thread
From: Vlad Bespalov @ 2013-06-14 17:15 UTC (permalink / raw)
  To: xfs

i`m running an xfs filesystem over device going offline/online and
sometimes offline may be done in parallel with unmounting

at some point i got several crashes with null pointer panic in
xlog_iodone: xlog_t structure taken from input buffer is null

i wonder if the following call path combined with disk online/offline
handling could have led to this crash:

--------------
xfs_unmountfs()
    xfs_log_unmount_write(mp)
        xlog_state_release_iclog(log)
            xlog_sync(log, iclog = log->l_iclog)
            (bp=iclog->ic_bp)
                xlog_bdstrat(bp)
                (iclog->ic_state != XLOG_STATE_ERROR ? )
                    xfs_buf_iorequest(bp)
                        xfs_buf_ioend (called with scheduling (*) )
                        (queues  : bp->b_iodone_work,
                         callback: xlog_iodone)
    xfs_log_unmount(mp)
        xfs_trans_ail_destroy(mp);
        xlog_dealloc_log(mp->m_log); /*frees and nullifies all iclog->ic_log*/
-----------

(after we`ve cleaned up log structures we switch processes*)
    xlog_iodone(bp)
    {
        iclog = bp->private
        l = iclog->ic_log
        if (XFS_TEST_ERROR((XFS_BUF_GETERROR(bp)), l->l_mp,
                        XFS_ERRTAG_IODONE_IOERR, XFS_RANDOM_IODONE_IOERR))
        {

                    xfs_buf_ioerror_alert(bp, __func__);
                    XFS_BUF_STALE(bp);
/*l ?= NULL*/ xfs_force_shutdown(l->l_mp, SHUTDOWN_LOG_IO_ERROR);
        }
    }


Thanks for your time.
Best regards,
Vlad Bespalov.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-06-18  0:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-14 17:15 possible null pointer in xlog_iodone Vlad Bespalov
2013-06-14 19:42 ` Mark Tinguely
2013-06-15  1:03 ` Dave Chinner
2013-06-17 14:38   ` Vlad Bespalov
2013-06-18  0:19     ` Dave Chinner
2013-06-18  0:37       ` Vlad Bespalov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox