xfs-masters
[Top] [All Lists]

[Bug 916] xfs_log_force blocked

To: xfs-masters@xxxxxxxxxxx
Subject: [Bug 916] xfs_log_force blocked
From: bugzilla-daemon@xxxxxxxxxxx
Date: Fri, 16 Mar 2012 05:47:07 -0500
Auto-submitted: auto-generated
In-reply-to: <bug-916-113@xxxxxxxxxxxxxxxx/bugzilla/>
References: <bug-916-113@xxxxxxxxxxxxxxxx/bugzilla/>
http://oss.sgi.com/bugzilla/show_bug.cgi?id=916


amethyst623@xxxxxxx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |




--- Comment #4 from amethyst623@xxxxxxx  2012-03-16 05:47:05 CST ---
(In reply to comment #1)
> You device is throwing IO errors, so the filesystem shut down. Some times it
> takes a little while for the lower layers to detect an IO error (e.g. for IOs
> that are in flight at teh time of teh unplug), so the syscall that is in
> progress waiting for the IO to complete will block waiting for it. In any 
> case,
> it's not a filesystem problem.

with more tests I found mrupdate_nested(&ip->i_lock,
XFS_ILOCK_DEP(lock_flags));
sometimes takes a long time (10 seconds or more). Can anyone tell me how to
solve this problem?

thanks.


------------------------------------------------------------
xfs_write calls xfs_ilock(xip, XFS_ILOCK_EXCL|iolock);

xfs_ilock(
        ...
    if (lock_flags & XFS_IOLOCK_EXCL)
        mrupdate_nested(&ip->i_iolock, XFS_IOLOCK_DEP(lock_flags));
    else if (lock_flags & XFS_IOLOCK_SHARED)
        mraccess_nested(&ip->i_iolock, XFS_IOLOCK_DEP(lock_flags));

    if (lock_flags & XFS_ILOCK_EXCL)
        mrupdate_nested(&ip->i_lock, XFS_ILOCK_DEP(lock_flags));
    else if (lock_flags & XFS_ILOCK_SHARED)
        mraccess_nested(&ip->i_lock, XFS_ILOCK_DEP(lock_flags));
        ...
}

-- 
Configure bugmail: http://oss.sgi.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

<Prev in Thread] Current Thread [Next in Thread>