Re: [PATCH] pramdisk: new block disk driver to perform persistent storage

From: Lin Yongting
Date: Mon Sep 21 2015 - 05:35:35 EST



On 2015/9/19 0:18, Ross Zwisler wrote:
On Fri, Sep 18, 2015 at 03:46:30PM +0800, Lin Yongting wrote:
In embed devices, user space applications will use reserved memory
(i.e. persistent memory) to store business data, the data is kept
in this memory region after system rebooting or panic.

pramdisk is a block disk driver based on Persistent memory, it provide
file system interface for application to read/write data in persistent
memory. Application can use pramdisk to store log file or business data
in persistent memory in the way of file system operation, avoid operating
or managing memory directly.

pramdisk support multiple Persistent menory regions and each one is a
block device named as /dev/pram<N>.

Usage:
modprobe pramdisk.ko pmem=<size1>@<addr2> [ pmem=<size2>@<addr2> ... ]

For example:
modprobe pramdisk.ko pmem=20M@2050M pmem=20M@2150M
mkfs.ext3 /dev/pram1
mkdir /tmp/test1
mount -t ext3 /dev/pram1 /tmp/test1

Signed-off-by: Lin Yongting <linyongting@xxxxxxxxxx>
Signed-off-by: Wang xiaozhe <wangxiaozhe@xxxxxxxxxx>

I think you already have this functionality with the PMEM driver and the
memmap=nn[KMG]!ss[KMG] command line parameter? What are you trying to
accomplish with this driver that you can't do with PMEM?

Hi Ross, thanks!

I dig into nvdimm sub-system these two day and found that PMEM can make Reserved Memory as
block disk to mount file system on it.

But I am curious about two things:
1. seems memmap command line parameter is not available at ARM arch. Can we use module
parameter rather than kernel command parameter?
2. If I specified two memmap regions(which they are Adjacent to each other), Can we get
tow block device?

Thanks Again.

Best Regards!

-- Lin Yongting


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/