Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 910da1a4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

* 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
  [XFS] fix inode leak in xfs_iget_core()
  [XFS] 977545 977545 977545 977545 977545 977545 xfsaild causing too many
parents 2ab42e24 72772a3b
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -235,6 +235,7 @@ xfs_iget_core(
	 */
	 */
	new_icl = kmem_zone_alloc(xfs_icluster_zone, KM_SLEEP);
	new_icl = kmem_zone_alloc(xfs_icluster_zone, KM_SLEEP);
	if (radix_tree_preload(GFP_KERNEL)) {
	if (radix_tree_preload(GFP_KERNEL)) {
		xfs_idestroy(ip);
		delay(1);
		delay(1);
		goto again;
		goto again;
	}
	}
+10 −7
Original line number Original line Diff line number Diff line
@@ -261,16 +261,19 @@ xfsaild_push(
		xfs_log_force(mp, (xfs_lsn_t)0, XFS_LOG_FORCE);
		xfs_log_force(mp, (xfs_lsn_t)0, XFS_LOG_FORCE);
	}
	}


	if (!count) {
		/* We're past our target or empty, so idle */
		tout = 1000;
	} else if (XFS_LSN_CMP(lsn, target) >= 0) {
		/*
		/*
	 * We reached the target so wait a bit longer for I/O to complete and
		 * We reached the target so wait a bit longer for I/O to
	 * remove pushed items from the AIL before we start the next scan from
		 * complete and remove pushed items from the AIL before we
	 * the start of the AIL.
		 * start the next scan from the start of the AIL.
		 */
		 */
	if ((XFS_LSN_CMP(lsn, target) >= 0)) {
		tout += 20;
		tout += 20;
		last_pushed_lsn = 0;
		last_pushed_lsn = 0;
	} else if ((restarts > XFS_TRANS_PUSH_AIL_RESTARTS) ||
	} else if ((restarts > XFS_TRANS_PUSH_AIL_RESTARTS) ||
		   (count && ((stuck * 100) / count > 90))) {
		   ((stuck * 100) / count > 90)) {
		/*
		/*
		 * Either there is a lot of contention on the AIL or we
		 * Either there is a lot of contention on the AIL or we
		 * are stuck due to operations in progress. "Stuck" in this
		 * are stuck due to operations in progress. "Stuck" in this