ovl_dir_read_merged() has the following loop, for (idx = 0; idx != -1; idx = next) { next = ovl_path_next(idx, dentry, &realpath); if (next != -1) { err = ovl_dir_read(&realpath, &rdd); if (err) break; } else { /* * Insert lowest layer entries before upper ones, this * allows offsets to be reasonably constant */ list_add(&rdd.middle, rdd.list); rdd.is_lowest = true; err = ovl_dir_read(&realpath, &rdd); list_del(&rdd.middle); } } rdd.middle is populated inside ovl_fill_lowest() which is indirectly invoked by the call to ovl_dir_read() inside the "else" part of the above "if" condition. Before this invocation of ovl_dir_read(), rdd.middle would basically be an empty list. So this would mean that the call list_add(&rdd.middle, rdd.list) is unnecessary. Please let me know if I am missing something here. -- chandan -- To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html