+ * lod_last_non_stale_mirror() - Check if a mirror is the last non-stale mirror.
+ * @mirror_id: Mirror id to be checked.
+ * @lo: LOD object.
+ *
+ * This function checks if a mirror with specified @mirror_id is the last
+ * non-stale mirror of a LOD object @lo.
+ *
+ * Return: true or false.
+ */
+static inline
+bool lod_last_non_stale_mirror(__u16 mirror_id, struct lod_object *lo)
+{
+ struct lod_layout_component *lod_comp;
+ bool has_stale_flag;
+ int i;
+
+ for (i = 0; i < lo->ldo_mirror_count; i++) {
+ if (lo->ldo_mirrors[i].lme_id == mirror_id ||
+ lo->ldo_mirrors[i].lme_stale)
+ continue;
+
+ has_stale_flag = false;
+ lod_foreach_mirror_comp(lod_comp, lo, i) {
+ if (lod_comp->llc_flags & LCME_FL_STALE) {
+ has_stale_flag = true;
+ break;
+ }
+ }
+ if (!has_stale_flag)
+ return false;
+ }
+
+ return true;
+}
+
+/**