亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? notes

?? 制作cramfs文件系統的工具
??
字號:
Notes on Filesystem Layout--------------------------These notes describe what mkcramfs generates.  Kernel requirements area bit looser, e.g. it doesn't care if the <file_data> items areswapped around (though it does care that directory entries (inodes) ina given directory are contiguous, as this is used by readdir).All data is currently in host-endian format; neither mkcramfs nor thekernel ever do swabbing.  (See section `Block Size' below.)<filesystem>:	<superblock>	<directory_structure>	<data><superblock>: struct cramfs_super (see cramfs_fs.h).<directory_structure>:	For each file:		struct cramfs_inode (see cramfs_fs.h).		Filename.  Not generally null-terminated, but it is		 null-padded to a multiple of 4 bytes.The order of inode traversal is described as "width-first" (not to beconfused with breadth-first); i.e. like depth-first but listing all ofa directory's entries before recursing down its subdirectories: thesame order as `ls -AUR' (but without the /^\..*:$/ directory headerlines); put another way, the same order as `find -type d -execls -AU1 {} \;'.Beginning in 2.4.7, directory entries are sorted.  This optimizationallows cramfs_lookup to return more quickly when a filename does notexist, speeds up user-space directory sorts, etc.<data>:	One <file_data> for each file that's either a symlink or a	 regular file of non-zero st_size.<file_data>:	nblocks * <block_pointer>	 (where nblocks = (st_size - 1) / blksize + 1)	nblocks * <block>	padding to multiple of 4 bytesThe i'th <block_pointer> for a file stores the byte offset of the*end* of the i'th <block> (i.e. one past the last byte, which is thesame as the start of the (i+1)'th <block> if there is one).  The first<block> immediately follows the last <block_pointer> for the file.<block_pointer>s are each 32 bits long.The order of <file_data>'s is a depth-first descent of the directorytree, i.e. the same order as `find -size +0 \( -type f -o -type l \)-print'.<block>: The i'th <block> is the output of zlib's compress functionapplied to the i'th blksize-sized chunk of the input data.(For the last <block> of the file, the input may of course be smaller.)Each <block> may be a different size.  (See <block_pointer> above.)<block>s are merely byte-aligned, not generally u32-aligned.Holes-----This kernel supports cramfs holes (i.e. [efficient representation of]blocks in uncompressed data consisting entirely of NUL bytes), but bydefault mkcramfs doesn't test for & create holes, since cramfs inkernels up to at least 2.3.39 didn't support holes.  Run mkcramfswith -z if you want it to create files that can have holes in them.Tools-----The cramfs user-space tools, including mkcramfs and cramfsck, arelocated at <http://sourceforge.net/projects/cramfs/>.Future Development==================Block Size----------(Block size in cramfs refers to the size of input data that iscompressed at a time.  It's intended to be somewhere aroundPAGE_CACHE_SIZE for cramfs_readpage's convenience.)The superblock ought to indicate the block size that the fs waswritten for, since comments in <linux/pagemap.h> indicate thatPAGE_CACHE_SIZE may grow in future (if I interpret the commentcorrectly).Currently, mkcramfs #define's PAGE_CACHE_SIZE as 4096 and uses thatfor blksize, whereas Linux-2.3.39 uses its PAGE_CACHE_SIZE, which inturn is defined as PAGE_SIZE (which can be as large as 32KB on arm).This discrepancy is a bug, though it's not clear which should bechanged.One option is to change mkcramfs to take its PAGE_CACHE_SIZE from<asm/page.h>.  Personally I don't like this option, but it doesrequire the least amount of change: just change `#definePAGE_CACHE_SIZE (4096)' to `#include <asm/page.h>'.  The disadvantageis that the generated cramfs cannot always be shared between differentkernels, not even necessarily kernels of the same architecture ifPAGE_CACHE_SIZE is subject to change between kernel versions(currently possible with arm and ia64).The remaining options try to make cramfs more sharable.One part of that is addressing endianness.  The two options here are`always use little-endian' (like ext2fs) or `writer choosesendianness; kernel adapts at runtime'.  Little-endian wins because ofcode simplicity and little CPU overhead even on big-endian machines.The cost of swabbing is changing the code to use the le32_to_cpuetc. macros as used by ext2fs.  We don't need to swab the compresseddata, only the superblock, inodes and block pointers.The other part of making cramfs more sharable is choosing a blocksize.  The options are:  1. Always 4096 bytes.  2. Writer chooses blocksize; kernel adapts but rejects blocksize >     PAGE_CACHE_SIZE.  3. Writer chooses blocksize; kernel adapts even to blocksize >     PAGE_CACHE_SIZE.It's easy enough to change the kernel to use a smaller value thanPAGE_CACHE_SIZE: just make cramfs_readpage read multiple blocks.The cost of option 1 is that kernels with a larger PAGE_CACHE_SIZEvalue don't get as good compression as they can.The cost of option 2 relative to option 1 is that the code usesvariables instead of #define'd constants.  The gain is that peoplewith kernels having larger PAGE_CACHE_SIZE can make use of that ifthey don't mind their cramfs being inaccessible to kernels withsmaller PAGE_CACHE_SIZE values.Option 3 is easy to implement if we don't mind being CPU-inefficient:e.g. get readpage to decompress to a buffer of size MAX_BLKSIZE (whichmust be no larger than 32KB) and discard what it doesn't need.Getting readpage to read into all the covered pages is harder.The main advantage of option 3 over 1, 2, is better compression.  Thecost is greater complexity.  Probably not worth it, but I hope someonewill disagree.  (If it is implemented, then I'll re-use that code ine2compr.)Another cost of 2 and 3 over 1 is making mkcramfs use a differentblock size, but that just means adding and parsing a -b option.Inode Size----------Given that cramfs will probably be used for CDs etc. as well as justsilicon ROMs, it might make sense to expand the inode a little fromits current 12 bytes.  Inodes other than the root inode are followedby filename, so the expansion doesn't even have to be a multiple of 4bytes.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品第13页| 国产亚洲综合在线| 麻豆精品视频在线观看免费 | 中文字幕中文字幕一区| 亚洲不卡在线观看| 99视频超级精品| 精品电影一区二区三区 | 免费观看91视频大全| 99精品久久免费看蜜臀剧情介绍 | 亚洲午夜av在线| 国产成人精品免费| 国产成人高清在线| 国产99久久久久| 岛国精品在线播放| 精品久久久久久最新网址| 欧美大片拔萝卜| 亚洲一区在线看| 午夜精品福利一区二区蜜股av| 亚洲第一主播视频| 99精品国产热久久91蜜凸| 国产视频一区在线播放| 另类欧美日韩国产在线| 欧美日韩国产免费一区二区| 亚洲美女在线一区| av亚洲精华国产精华精华| 国产色91在线| 国产成人在线看| 久久精品欧美一区二区三区麻豆| 久久久99免费| 国产精品无圣光一区二区| 激情综合色综合久久| 99久久综合狠狠综合久久| 国产91高潮流白浆在线麻豆| 亚洲综合小说图片| 亚洲国产日韩精品| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品美女久久久久久久久久久 | 99久久婷婷国产综合精品| 欧美一a一片一级一片| 欧美日韩成人一区| 亚洲美女淫视频| 91网站视频在线观看| 综合久久国产九一剧情麻豆| 一区二区免费看| 麻豆精品久久久| 成人v精品蜜桃久久一区| 欧美激情一区二区三区四区| 国产电影精品久久禁18| 日韩欧美国产一二三区| 欧美性色aⅴ视频一区日韩精品| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲三级电影全部在线观看高清| 亚洲精品美国一| 欧美日韩一卡二卡三卡| 麻豆精品精品国产自在97香蕉| 91麻豆.com| 日韩高清一区在线| 国产亚洲综合在线| 在线观看视频一区| 九色|91porny| 国产亚洲一区二区三区| 色综合久久久久久久久久久| 日本不卡视频在线观看| 久久精品视频免费| 色婷婷av一区二区三区软件| 男人操女人的视频在线观看欧美| 91在线国产观看| 婷婷丁香激情综合| 久久婷婷成人综合色| 色呦呦网站一区| 国产综合久久久久久鬼色| 国产精品久久久久久久久免费樱桃| 精品在线一区二区三区| 亚洲欧洲综合另类| 日韩一区二区三| 丝袜a∨在线一区二区三区不卡| 欧美在线影院一区二区| 日韩经典中文字幕一区| 3d动漫精品啪啪1区2区免费| 精品制服美女丁香| 欧美丰满少妇xxxbbb| 亚洲欧美成aⅴ人在线观看| 99久久久免费精品国产一区二区| 首页欧美精品中文字幕| 全国精品久久少妇| 欧美一区二区精品在线| 在线观看亚洲精品| 首页亚洲欧美制服丝腿| 免费成人在线网站| 国产午夜亚洲精品理论片色戒| 蜜臀va亚洲va欧美va天堂 | 久久精品一区二区三区四区| 日本va欧美va瓶| 一区二区激情视频| 中文字幕在线观看一区| 日韩免费视频一区| 欧美熟乱第一页| 一本色道**综合亚洲精品蜜桃冫| 亚洲免费观看高清完整| 国产精品视频观看| 久久综合色鬼综合色| 日韩三级精品电影久久久| 欧美日精品一区视频| 热久久国产精品| 国产视频一区在线观看 | 欧美丰满嫩嫩电影| 麻豆精品视频在线观看免费| 亚洲va韩国va欧美va| 中文字幕在线免费不卡| 国产精品伦理一区二区| 日本一区二区三区国色天香| 99久久综合色| 99re这里只有精品6| 奇米一区二区三区av| 爽好多水快深点欧美视频| 亚洲福利一区二区三区| 性久久久久久久| 亚洲成人动漫av| 天天av天天翘天天综合网 | av动漫一区二区| 99免费精品在线| 色偷偷久久一区二区三区| 日本不卡不码高清免费观看| 男人的j进女人的j一区| 麻豆成人综合网| 国产一区中文字幕| 国产成人在线免费| 色94色欧美sute亚洲13| 欧美午夜精品久久久| 91精品国产欧美一区二区| 国产精品色婷婷久久58| 国产无遮挡一区二区三区毛片日本| 97精品电影院| 国产精品自拍毛片| 另类小说色综合网站| 日韩高清中文字幕一区| 欧美私模裸体表演在线观看| 9i在线看片成人免费| ●精品国产综合乱码久久久久| 日韩精品免费专区| 欧美午夜精品久久久久久孕妇 | 久久精品免费在线观看| 久久精品网站免费观看| 欧美日韩精品专区| 精品久久久久久最新网址| 欧美激情在线看| 有码一区二区三区| 久久精品国产精品亚洲综合| 国产成人av影院| 欧美午夜免费电影| 久久亚洲一级片| 亚洲综合一二区| 国产精品影视在线| 欧美精品日韩一区| 国产精品无遮挡| 国产欧美精品一区二区色综合| 欧美一区二区三区在线观看| 91首页免费视频| 成人av电影在线观看| 91精品国产乱| 国产精品私人自拍| 免费在线观看成人| 99久久综合99久久综合网站| 成人综合在线网站| 91精品欧美一区二区三区综合在| 色妞www精品视频| 精品盗摄一区二区三区| 亚洲精品欧美激情| 亚洲一区二区三区在线| 国产原创一区二区| 欧美精品乱码久久久久久| 中文字幕av一区二区三区| 捆绑调教一区二区三区| 色天使久久综合网天天| 欧美—级在线免费片| 久久精品国产亚洲一区二区三区| 免费观看在线色综合| 色婷婷综合久久久久中文| 国产女主播在线一区二区| 麻豆国产精品一区二区三区 | 精品日韩99亚洲| 久久久久久久综合狠狠综合| 五月天婷婷综合| 在线亚洲一区观看| 亚洲日本在线看| 丁香激情综合五月| 国产欧美一区二区在线观看| 久久99深爱久久99精品| 91麻豆精品久久久久蜜臀| 亚洲成人激情自拍| 色哟哟一区二区三区| 国产精品久久久久久福利一牛影视| 伊人色综合久久天天| 成人av免费在线观看| 欧美无乱码久久久免费午夜一区| 欧美成人精品3d动漫h| 日本中文字幕一区| 日韩午夜精品视频| 久久国产精品区| 精品欧美乱码久久久久久1区2区|