Commit 85a79128 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

Pull UBI and UBIFS updates from Richard Weinberger:
 "UBI:
   - Add Zhihao Cheng as reviewer
   - Attach via device tree
   - Add NVMEM layer
   - Various fastmap related fixes

  UBIFS:
   - Add Zhihao Cheng as reviewer
   - Convert to folios
   - Various fixes (memory leaks in error paths, function prototypes)"

* tag 'ubifs-for-linus-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs: (34 commits)
  mtd: ubi: fix NVMEM over UBI volumes on 32-bit systems
  mtd: ubi: provide NVMEM layer over UBI volumes
  mtd: ubi: populate ubi volume fwnode
  mtd: ubi: introduce pre-removal notification for UBI volumes
  mtd: ubi: attach from device tree
  mtd: ubi: block: use notifier to create ubiblock from parameter
  dt-bindings: mtd: ubi-volume: allow UBI volumes to provide NVMEM
  dt-bindings: mtd: add basic bindings for UBI
  ubifs: Queue up space reservation tasks if retrying many times
  ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path
  ubifs: dbg_check_idx_size: Fix kmemleak if loading znode failed
  ubi: Correct the number of PEBs after a volume resize failure
  ubi: fix slab-out-of-bounds in ubi_eba_get_ldesc+0xfb/0x130
  ubi: correct the calculation of fastmap size
  ubifs: Remove unreachable code in dbg_check_ltab_lnum
  ubifs: fix function pointer cast warnings
  ubifs: fix sort function prototype
  ubi: Check for too small LEB size in VTBL code
  MAINTAINERS: Add Zhihao Cheng as UBI/UBIFS reviewer
  ubifs: Convert populate_page() to take a folio
  ...
parents cba9ffdb b8a77b9a
Loading
Loading
Loading
Loading
+75 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/partitions/linux,ubi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Unsorted Block Images

description: |
  UBI ("Unsorted Block Images") is a volume management system for raw
  flash devices which manages multiple logical volumes on a single
  physical flash device and spreads the I/O load (i.e wear-leveling)
  across the whole flash chip.

maintainers:
  - Daniel Golle <daniel@makrotopia.org>

allOf:
  - $ref: partition.yaml#

properties:
  compatible:
    const: linux,ubi

  volumes:
    type: object
    description: UBI Volumes

    patternProperties:
      "^ubi-volume-.*$":
        $ref: /schemas/mtd/partitions/ubi-volume.yaml#

    unevaluatedProperties: false

required:
  - compatible

unevaluatedProperties: false

examples:
  - |
    partitions {
        compatible = "fixed-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

        partition@0 {
            reg = <0x0 0x100000>;
            label = "bootloader";
            read-only;
        };

        partition@100000 {
            reg = <0x100000 0x1ff00000>;
            label = "ubi";
            compatible = "linux,ubi";

            volumes {
                ubi-volume-caldata {
                    volid = <2>;
                    volname = "rf";

                    nvmem-layout {
                        compatible = "fixed-layout";
                        #address-cells = <1>;
                        #size-cells = <1>;

                        eeprom@0 {
                            reg = <0x0 0x1000>;
                        };
                    };
                };
            };
        };
    };
+40 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/partitions/ubi-volume.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: UBI volume

description: |
  This binding describes a single UBI volume. Volumes can be matches either
  by their ID or their name, or both.

maintainers:
  - Daniel Golle <daniel@makrotopia.org>

properties:
  volid:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Match UBI volume ID

  volname:
    $ref: /schemas/types.yaml#/definitions/string
    description:
      Match UBI volume ID

  nvmem-layout:
    $ref: /schemas/nvmem/layouts/nvmem-layout.yaml#
    description:
      This container may reference an NVMEM layout parser.

anyOf:
  - required:
      - volid

  - required:
      - volname

# This is a generic file other binding inherit from and extend
additionalProperties: true
+10 −0
Original line number Diff line number Diff line
@@ -3,3 +3,13 @@
==========
Page Cache
==========

The page cache is the primary way that the user and the rest of the kernel
interact with filesystems.  It can be bypassed (e.g. with O_DIRECT),
but normal reads, writes and mmaps go through the page cache.

Folios
======

The folio is the unit of memory management within the page cache.
Operations 
+2 −0
Original line number Diff line number Diff line
@@ -22573,6 +22573,7 @@ F: include/uapi/misc/uacce/
UBI FILE SYSTEM (UBIFS)
M:	Richard Weinberger <richard@nod.at>
R:	Zhihao Cheng <chengzhihao1@huawei.com>
L:	linux-mtd@lists.infradead.org
S:	Supported
W:	http://www.linux-mtd.infradead.org/doc/ubifs.html
@@ -22718,6 +22719,7 @@ F: drivers/ufs/host/ufs-renesas.c
UNSORTED BLOCK IMAGES (UBI)
M:	Richard Weinberger <richard@nod.at>
R:	Zhihao Cheng <chengzhihao1@huawei.com>
L:	linux-mtd@lists.infradead.org
S:	Supported
W:	http://www.linux-mtd.infradead.org/
+13 −0
Original line number Diff line number Diff line
@@ -113,4 +113,17 @@ config MTD_UBI_FAULT_INJECTION
	   testing purposes.

	   If in doubt, say "N".

config MTD_UBI_NVMEM
	tristate "UBI virtual NVMEM"
	default n
	depends on NVMEM
	help
	   This option enabled an additional driver exposing UBI volumes as NVMEM
	   providers, intended for platforms where UBI is part of the firmware
	   specification and used to store also e.g. MAC addresses or board-
	   specific Wi-Fi calibration data.

	   If in doubt, say "N".

endif # MTD_UBI
Loading