Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs

* 'for-linus' of git://oss.sgi.com/xfs/xfs:
xfs: prevent deadlock in xfs_qm_shake()
xfs: fix overflow in xfs_growfs_data_private
xfs: fix double unlock in xfs_swap_extents()

+7 -5
+1 -1
fs/xfs/linux-2.6/kmem.h
··· 103 103 static inline int 104 104 kmem_shake_allow(gfp_t gfp_mask) 105 105 { 106 - return (gfp_mask & __GFP_WAIT) != 0; 106 + return ((gfp_mask & __GFP_WAIT) && (gfp_mask & __GFP_FS)); 107 107 } 108 108 109 109 #endif /* __XFS_SUPPORT_KMEM_H__ */
+5 -3
fs/xfs/xfs_dfrag.c
··· 347 347 348 348 error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); 349 349 350 - out_unlock: 351 - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); 352 - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); 353 350 out: 354 351 kmem_free(tempifp); 355 352 return error; 353 + 354 + out_unlock: 355 + xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); 356 + xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); 357 + goto out; 356 358 357 359 out_trans_cancel: 358 360 xfs_trans_cancel(tp, 0);
+1 -1
fs/xfs/xfs_fsops.c
··· 160 160 nagcount = new + (nb_mod != 0); 161 161 if (nb_mod && nb_mod < XFS_MIN_AG_BLOCKS) { 162 162 nagcount--; 163 - nb = nagcount * mp->m_sb.sb_agblocks; 163 + nb = (xfs_rfsblock_t)nagcount * mp->m_sb.sb_agblocks; 164 164 if (nb < mp->m_sb.sb_dblocks) 165 165 return XFS_ERROR(EINVAL); 166 166 }