History

Merge tag 'ubifs-for-linus-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs

Pull UBI and UBIFS updates from Richard Weinberger: "UBI: - Support for a per-device wear-leveling threshold - Various fixes and cleanups of error paths - Correctly preserve torture flag up wear-leveling UBIFS: - Various fixes and cleanups of error paths and kernel-doc" * tag 'ubifs-for-linus-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs: UBI: support per-device wear-leveling threshold UBI: fix two issues in the ubi.mtd MODULE_PARM_DESC mtd: ubi: Release device reference on busy detach ubi: Fix rollback for explicit UBI device numbers ubifs: fix out-of-bounds read in signature length check UBI: fastmap: Pass to_be_tortured when reusing old fastmap PEBs UBI: Preserve torture flag when rescheduling failed erasures ubifs: ubifs.h: clean up kernel-doc comments ubifs: key.h: use correct function parameter name ubifs: debug.h: fix kernel-doc struct prototypes

Linus Torvalds committed 2 months ago

Commit ce727a02 parents 115bd36 a5e005513 files · +122 −74Browse files

Showing the changes to include/uapi (1 of 13 files). Show all

Unified · Split

include/uapi/mtd/ubi-user.h+9−1
@@ -289,6 +289,13 @@ enum { · 288 unmodified lines
289289 * If @disable_fm is not zero, ubi doesn't create new fastmap even the module
290290 * param 'fm_autoconvert' is set, and existed old fastmap will be destroyed
291291 * after doing full scanning.
292+ *
293+ * The @wl_threshold defines the maximum difference between the highest and the
294+ * lowest erase counter value of eraseblocks of this UBI device. When this
295+ * threshold is exceeded, UBI starts performing wear leveling by means of
296+ * moving data from eraseblock with low erase counter to eraseblocks with high
297+ * erase counter. If @wl_threshold is zero, the default kernel value of
298+ * %CONFIG_MTD_UBI_WL_THRESHOLD is used. The accepted range is 2-65536.
292299 */
293300 struct ubi_attach_req {
294301 __s32 ubi_num;
@@ -297,7 +304,8 @@ struct ubi_attach_req { · 2 unmodified lines
297304 __s16 max_beb_per1024;
298305 __s8 disable_fm;
299306 __s8 need_resv_pool;
300− __s8 padding[8];
307+ __s32 wl_threshold;
308+ __s8 padding[4];
301309 };
302310
303311 /*