xfs: on-stack delayed write buffer lists
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / fs / xfs / xfs_extfree_item.c
index 35c2aff38b209bd0afa1ff5b36e20230a1d3b5c5..9549ef179e064186670bf39b55eba8fb90ff58c1 100644 (file)
@@ -147,22 +147,20 @@ xfs_efi_item_unpin(
 }
 
 /*
- * Efi items have no locking or pushing.  However, since EFIs are
- * pulled from the AIL when their corresponding EFDs are committed
- * to disk, their situation is very similar to being pinned.  Return
- * XFS_ITEM_PINNED so that the caller will eventually flush the log.
- * This should help in getting the EFI out of the AIL.
+ * Efi items have no locking or pushing.  However, since EFIs are pulled from
+ * the AIL when their corresponding EFDs are committed to disk, their situation
+ * is very similar to being pinned.  Return XFS_ITEM_PINNED so that the caller
+ * will eventually flush the log.  This should help in getting the EFI out of
+ * the AIL.
  */
 STATIC uint
-xfs_efi_item_trylock(
-       struct xfs_log_item     *lip)
+xfs_efi_item_push(
+       struct xfs_log_item     *lip,
+       struct list_head        *buffer_list)
 {
        return XFS_ITEM_PINNED;
 }
 
-/*
- * Efi items have no locking, so just return.
- */
 STATIC void
 xfs_efi_item_unlock(
        struct xfs_log_item     *lip)
@@ -189,17 +187,6 @@ xfs_efi_item_committed(
        return lsn;
 }
 
-/*
- * There isn't much you can do to push on an efi item.  It is simply
- * stuck waiting for all of its corresponding efd items to be
- * committed to disk.
- */
-STATIC void
-xfs_efi_item_push(
-       struct xfs_log_item     *lip)
-{
-}
-
 /*
  * The EFI dependency tracking op doesn't do squat.  It can't because
  * it doesn't know where the free extent is coming from.  The dependency
@@ -222,7 +209,6 @@ static const struct xfs_item_ops xfs_efi_item_ops = {
        .iop_format     = xfs_efi_item_format,
        .iop_pin        = xfs_efi_item_pin,
        .iop_unpin      = xfs_efi_item_unpin,
-       .iop_trylock    = xfs_efi_item_trylock,
        .iop_unlock     = xfs_efi_item_unlock,
        .iop_committed  = xfs_efi_item_committed,
        .iop_push       = xfs_efi_item_push,
@@ -404,19 +390,17 @@ xfs_efd_item_unpin(
 }
 
 /*
- * Efd items have no locking, so just return success.
+ * There isn't much you can do to push on an efd item.  It is simply stuck
+ * waiting for the log to be flushed to disk.
  */
 STATIC uint
-xfs_efd_item_trylock(
-       struct xfs_log_item     *lip)
+xfs_efd_item_push(
+       struct xfs_log_item     *lip,
+       struct list_head        *buffer_list)
 {
-       return XFS_ITEM_LOCKED;
+       return XFS_ITEM_PINNED;
 }
 
-/*
- * Efd items have no locking or pushing, so return failure
- * so that the caller doesn't bother with us.
- */
 STATIC void
 xfs_efd_item_unlock(
        struct xfs_log_item     *lip)
@@ -450,16 +434,6 @@ xfs_efd_item_committed(
        return (xfs_lsn_t)-1;
 }
 
-/*
- * There isn't much you can do to push on an efd item.  It is simply
- * stuck waiting for the log to be flushed to disk.
- */
-STATIC void
-xfs_efd_item_push(
-       struct xfs_log_item     *lip)
-{
-}
-
 /*
  * The EFD dependency tracking op doesn't do squat.  It can't because
  * it doesn't know where the free extent is coming from.  The dependency
@@ -482,7 +456,6 @@ static const struct xfs_item_ops xfs_efd_item_ops = {
        .iop_format     = xfs_efd_item_format,
        .iop_pin        = xfs_efd_item_pin,
        .iop_unpin      = xfs_efd_item_unpin,
-       .iop_trylock    = xfs_efd_item_trylock,
        .iop_unlock     = xfs_efd_item_unlock,
        .iop_committed  = xfs_efd_item_committed,
        .iop_push       = xfs_efd_item_push,