Inode lockdep problem observed on 2.6.37.6 xfs with RT subvolume
Need some help understanding the state of xfs with rt subvolume support on 2.6.37.
When using xfs rt subvolume on a harddisk partition with kernel 2.6.37.6,and normal r/w/delete file operations causes deadlock like hangs . Failure symptoms are lockups and mount failure on reboot.
On further investigation it was found that one of the changes could be the cause.
The same tests seem to pass with xfs in 2.6.31 kernel.
xfs: simplify xfs_trans_iget :
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdiff;h=aa72a5cf00001d0b952c7c755be404b9118ceb2eaa72a5cf00001d0b952c7c755be404b9118ceb2e
Reverting the change and forward porting to the xfs_trans_iget() seems to get rid of the deadlock and mount issues .
Below is the change
--- linux-2.6.37/fs/xfs/xfs_trans_inode.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
(quoted diff) +0 -0
b/linux-2.6.37/fs/xfs/xfs_trans_inode.c
index ccb3453..c2861d5 100644
stblinux-2.6.37/fs/xfs/xfs_trans_inode.c +12 -0
@@ -56,6 +56,27 @@ xfs_trans_iget( xfs_inode_t **ipp) {int error; +xfs_inode_t *ip =NULL ; +xfs_perag_t *pag =NULL ; + +/* +* If we find the inode in core with this transaction +* pointer in its i_transp field, then we know we already +* have it locked. +*/ +if (tp !=NULL ) { + pag =xfs_perag_get (mp,XFS_INO_TO_AGNO (mp, ino)); +read_lock (&pag->pag_ici_lock); + ip = radix_tree_lookup(&pag->pag_ici_root,
XFS_INO_TO_AGNO(mp, ino));
+ read_unlock(&pag->pag_ici_lock);
+ xfs_perag_put(pag);
+ }
+
+ /* the returned inode must match the transaction */
+ if (ip && (ip->i_transp == tp)) {
+ *ipp = ip;
+ return 0;
+ }
error = xfs_iget(mp, tp, ino, flags, lock_flags, ipp);
if (!error && tp) {--
1.7.6
I have also attached the xfs_logprint text output when the mount fails.
http://old.nabble.com/file/p33246061/xfslog-2.6.37.6-mount-fail.txt
xfslog-2.6.37.6-mount-fail.txt
Regards
Kamal
Signature · 7 lines
View this message in context: http://old.nabble.com/Inode-lockdep-problem-observed-on-2.6.37.6-xfs-with-RT-subvolume-tp33246061p33246061.html Sent from the Xfs - General mailing list archive at Nabble.com. _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs