[PATCH 03/12] fs: introduce f_op->mmap_capabilities for nommu mmap support

Brian Norris computersforpeace at gmail.com
Thu Jan 15 20:06:28 PST 2015


+ dwmw2

On Wed, Jan 14, 2015 at 10:42:32AM +0100, Christoph Hellwig wrote:
> Since "BDI: Provide backing device capability information [try #3]" the
> backing_dev_info structure also provides flags for the kind of mmap
> operation available in a nommu environment, which is entirely unrelated
> to it's original purpose.
> 
> Introduce a new nommu-only file operation to provide this information to
> the nommu mmap code instead.  Splitting this from the backing_dev_info
> structure allows to remove lots of backing_dev_info instance that aren't
> otherwise needed, and entirely gets rid of the concept of providing a
> backing_dev_info for a character device.  It also removes the need for
> the mtd_inodefs filesystem.
> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> Reviewed-by: Tejun Heo <tj at kernel.org>
> ---
>  Documentation/nommu-mmap.txt                    |  8 +--
>  block/blk-core.c                                |  2 +-
>  drivers/char/mem.c                              | 64 ++++++++++----------
>  drivers/mtd/mtdchar.c                           | 72 ++++------------------
>  drivers/mtd/mtdconcat.c                         | 10 ----
>  drivers/mtd/mtdcore.c                           | 80 +++++++------------------
>  drivers/mtd/mtdpart.c                           |  1 -

There's a small conflict in mtdcore.c with some stuff I have queued up
for MTD in linux-next. Should be trivial to resolve later.

I don't have a test platform for nommu, and I'll admit I'm not too
familiar with this code, but it looks OK to me. So FWIW, for the MTD
parts:

Acked-by: Brian Norris <computersforpeace at gmail.com>

>  drivers/staging/lustre/lustre/llite/llite_lib.c |  2 +-
>  fs/9p/v9fs.c                                    |  2 +-
>  fs/afs/volume.c                                 |  2 +-
>  fs/aio.c                                        | 14 +----
>  fs/btrfs/disk-io.c                              |  3 +-
>  fs/char_dev.c                                   | 24 --------
>  fs/cifs/connect.c                               |  2 +-
>  fs/coda/inode.c                                 |  2 +-
>  fs/configfs/configfs_internal.h                 |  2 -
>  fs/configfs/inode.c                             | 18 +-----
>  fs/configfs/mount.c                             | 11 +---
>  fs/ecryptfs/main.c                              |  2 +-
>  fs/exofs/super.c                                |  2 +-
>  fs/ncpfs/inode.c                                |  2 +-
>  fs/ramfs/file-nommu.c                           |  7 +++
>  fs/ramfs/inode.c                                | 22 +------
>  fs/romfs/mmap-nommu.c                           | 10 ++++
>  fs/ubifs/super.c                                |  2 +-
>  include/linux/backing-dev.h                     | 33 ++--------
>  include/linux/cdev.h                            |  2 -
>  include/linux/fs.h                              | 23 +++++++
>  include/linux/mtd/mtd.h                         |  2 +
>  mm/backing-dev.c                                |  7 +--
>  mm/nommu.c                                      | 69 ++++++++++-----------
>  security/security.c                             | 13 ++--
>  32 files changed, 169 insertions(+), 346 deletions(-)
[...]

Brian



More information about the linux-mtd mailing list