Cramfs Bad Block Patch
On Sat, 12 Aug 2017, Christoph Hellwig wrote: >Direct physical memory access in a file system is never safe. >Please make sure this goes through struct dax_operations. Well, after having a closer look, I don't think dax might be relevant here for a couple reasons: - cramfs is read-only. No concurrent writes to worry about.
File 047-cramfs_endianness.patch. Static int cramfs_fill_super(struct super_block *sb. ('cramfs: bad compressed blocksize%u n'. Cramfs in nand flash with bad block. So, do anyone have the idea about how to fixed the nand bad block with cramfs? Or having some PSP patchs on this?
Please elaborate if you have other safety concerns in mind. - This series targets small no-MMU systems.
There is no paging involved given the lack of a MMU. The whole of the filesystem is always directly accessible in the address space from ROM alongside with the actual kernel code being executed. I don't see how dax would ever be pertinent here. Ms International Santa Barbara Gold Meshed Flagstone Installation. - Even with MMU systems, the maximum size of a cramfs image can't exceed 272MB. In practice it is likely to be much much less. Given this targets small memory systems, there is always plenty of vmalloc space left to map it all and even a 272MB memremap() wouldn't be a problem. If it is a problem then maybe your system has large resources to manage already and you're pretty unlikely to be using cramfs in the first place, otherwise accessing it through a block device would be just fine, at which point you'd better consider squashfs instead of this.
>If cramfs_uncompress_block detects an error. SetPageUptodate(page);} This patch will incorrectly cause the driver. (KERN_ERR 'cramfs: bad compressed.
All this to say that I think that dax is _way_ overkill and inappropriate for the intended cramfs use case this series is addressing. Nicolas Nicolas Pitre 16.08.17 10:40.
Unzip Software For Android. Trailing whitespace >+config CRAMFS_PHYSMEM >+ bool 'Support CramFs image directly mapped in physical memory' >+ depends on CRAMFS >+ default y if!CRAMFS_BLOCKDEV >+ help >+ This option allows the CramFs driver to load data directly from >+ a linear adressed memory range (usually non volatile memory >+ like flash) instead of going through the block device layer. >+ This saves some memory since no intermediate buffering is >+ necessary. >+ >+ The filesystem type for this feature is 'cramfs_physmem'. >+ The location of the CramFs image in memory is board >+ dependent.