14年是什么年| 小肚子是什么部位| 龙井茶什么季节喝最好| 洛神花茶有什么功效| 64岁属什么| 不孕不育有什么症状女| 梦见挖坟墓预示什么| 什么时候割包皮最好| 胆囊炎吃什么药效果最好| 房颤有什么危害| 自然生化流产是什么意思| 去海边玩需要带什么| 板命什么意思| 高温天气喝什么水最好| 月柱华盖是什么意思| 吃瓜群众什么意思| 黄辣丁吃什么食物| 侄子是什么关系| 破伤风感染后会出现什么症状| 支气管炎不能吃什么| 祭坛是什么意思| 同妻是什么意思| 慢性浅表性胃炎吃什么药| 什么是卫校| 大肠杆菌用什么药治疗效果好| 印度为什么用手吃饭| 吃茴香有什么好处和坏处| 肝虚火旺吃什么中成药| 7代表什么意思| 金蝉脱壳比喻什么| 回锅肉是什么肉| 父亲节送爸爸什么礼物| yet是什么意思| 生姜和红枣煮水喝有什么作用| 胆囊壁增厚是什么意思| 补气吃什么食物| 心里发慌什么原因| 土命和什么命最配| 春天有什么花| 浮生若梦是什么意思| 孕晚期感冒可以吃什么药| 丙肝阳性是什么意思呢| 阿达是什么意思| 隔岸观火是什么意思| 焦虑症用什么药好| 为什么想到一个人会心痛| 经常打哈欠是什么原因| 什么是食物链| 鼻子下面长痘痘是什么原因引起的| 诗和远方是什么意思| 蛇鼠一窝什么意思| 腹膜透析是什么意思| 抛砖引玉是什么生肖| tct是检查什么| 驿站什么意思| 孩子流黄鼻涕是什么原因| cvt是什么意思| 眼睛不好吃什么补眼睛| 味精是什么提炼出来的| 心悸是什么病| 吃什么解辣最快方法| 心肌供血不足是什么原因造成的| 气管疼什么原因引起的| hov是什么意思| 阿姨是什么意思| 螃蟹用什么呼吸| 常温是什么意思| 为什么会全身酸痛| 如五行属什么| 女人喜欢什么姿势| 什么声什么气| 羊水偏多是什么原因| 孕妇补铁吃什么| 33朵玫瑰花代表什么意思| 3代表什么意思| 100聚酯纤维是什么面料| 感冒可以吃什么水果好| 唇珠是什么| 老犯困是什么原因| 今年是农历的什么年| 胃溃疡能吃什么| 香叶是什么树的叶子| ep什么意思| 胆汁为什么会反流到胃里面| 阴道口长什么样| 什么是猝死| 一什么清凉| 白细胞和血小板高是什么原因| 经常拉屎是什么原因| 左上腹是什么器官| 什么什么为什么| 三岁看小七岁看老是什么意思| 张飞的兵器是什么| 冉冉是什么意思| 鱼油有什么功效| 九月份是什么星座| 岁岁年年是什么意思| 中年人手抖是什么原因| sid是什么意思| 恒顺众生是什么意思| 火龙果不能和什么一起吃| 手掌很红是什么原因| 卡哇伊内是什么意思| 生理期量少是什么原因| 没有味觉是什么病| 凝血酶时间是什么意思| 佳字属于五行属什么| 缴费基数是什么意思| 保鲜卡是什么原理纸片| dha宝宝什么时候吃最好| 掉眉毛是什么原因| 康养中心是做什么的| 部分导联st段改变是什么意思| 记性不好吃什么药| 谷草谷丙偏高代表什么| 1994是什么年| 全身检查挂什么科| 四肢肿胀是什么原因引起的| 橡皮擦是什么材料做的| 格力空调se是什么意思| 维酶素片搭配什么药治萎缩性胃炎| l是什么单位| 品质是什么| 孟姜女姓什么| 开通花呗有什么风险| 30岁是什么之年| 爱新觉罗是什么民族| 艾灸肚脐有什么好处| 在农村做什么生意好| 肠胃炎引起的发烧吃什么药| 海带绿豆汤有什么功效| 吃什么升血压最快| 姨妈期能吃什么水果| 一什么麦子| 塔塔粉是什么粉| 七情六欲是什么意思| 小腿酸软无力是什么原因| 什么挑担子忠心耿耿| 跳闸是什么原因| 经期吃凉的东西有什么影响| 撕脱性骨折是什么意思| 子宫腺肌症有什么症状| 婴儿老是放屁是什么原因| 花椒水泡脚有什么好处| 海参和辽参有什么区别| 干眼症吃什么食物好| 莲雾什么味道| 阴虚火旺吃什么药| 颈椎不好挂什么科| 嘴巴里起泡是什么原因| 小腿肚酸胀是什么原因| 前呼后拥是什么意思| 1964年属什么| 食欲亢进是什么意思| 家里为什么会有蜘蛛| 承欢膝下是什么意思| 一个火一个斤念什么| hyundai是什么牌子| 运动后体重增加是什么原因| 胃发炎吃什么药好得快| 杆菌一个加号什么意思| 蛋白酶是什么东西| 左眼皮一直跳什么原因| 黑户是什么| 火镰是什么意思| 狗狗能看见什么颜色| 薄荷有什么作用| 什么是钾肥| 撇嘴是什么意思| 黄辣丁吃什么| 微量元素6项是查什么| 三冬是什么意思| 卫衣是什么| 什么的脊背| 经常流鼻血是什么情况| 喜欢绿色的女人是什么性格| 过敏期间不能吃什么东西| 党员有什么好处| 鸡蛋有什么营养| gms是什么意思| 精子是什么味道| 静脉曲张吃什么药好| 什么辣椒不辣| 九死一生是什么生肖| 混血是什么意思| 医学上cr是什么意思| 女人右眼跳预示着什么| 欲钱知吃月饼是什么生肖| 舌苔白厚是什么原因| 八月十二是什么星座| 为什么子宫会下垂| 岂是什么意思| otc是什么药| lively是什么意思| 勾引是什么意思| 什么叫阵雨| 耳膜破了有什么症状| 一视同仁什么意思| 为什么鞋子洗了还是臭| 帽缨是什么意思| 桑葚搭配什么泡水喝最好| 猝死是什么意思| 感康是什么药| 大鼻是什么生肖| 返点是什么意思| 二代试管是什么意思| 1978年属什么生肖| 血小板减少有什么症状| 猫是什么| 心率快是什么原因| 出来混迟早要还的什么意思| 猫咪不能吃什么| 三公是什么意思| 孕妇吸二手烟对胎儿有什么影响| 梦见胡萝卜是什么意思| 睾丸皮痒用什么药| 怂人是什么意思| 一什么孩子| 涉水是什么意思| 50岁今年属什么生肖| 厉兵秣马什么意思| 胆囊炎的症状是什么| 氨曲南是什么药| 下眼皮肿是什么原因| 树敌是什么意思| 女性私下有苦味主要是什么原因| 起水痘不能吃什么食物| 佛道是什么意思| hpv58阳性是什么意思| 经产妇是什么意思| 绞股蓝和什么搭配喝减肥| 蜜蜡五行属什么| 牙疼吃什么水果好| 国家主席是什么级别| 心主什么| 油膜是什么| 属鸡的什么命| 空调除湿和制冷有什么区别| 玉历宝钞是什么书| 五花八门是什么生肖| 煮粥用什么米| 治骨质疏松打什么针| 不在服务区是什么意思| 嘴巴苦是什么原因引起的| 扮猪吃老虎什么意思| 心结是什么意思| 脚气是什么菌| 丁丁是什么意思| adh医学上是什么意思| 世界七大奇迹分别是什么| 乳腺挂什么科室| psv医学是什么意思| 多管闲事是什么意思| 作揖是什么意思| 纺织厂是做什么的| 新生儿超敏c反应蛋白高说明什么| 隋朝之前是什么朝代| 胎停会有什么症状| 配裙子穿什么鞋子好看| 空调除湿和制冷有什么区别| ic50是什么意思| tc什么意思| 女生的胸长什么样子| 一个黑一个出读什么| 百度
Jump to content

秦咸阳城遗址发现罕见战国晚期卜甲

From ArchWiki

From Ext4 - Linux Kernel Newbies:

Ext4 is the evolution of the most used Linux filesystem, Ext3. In many ways, Ext4 is a deeper improvement over Ext3 than Ext3 was over Ext2. Ext3 was mostly about adding journaling to Ext2, but Ext4 modifies important data structures of the filesystem such as the ones destined to store the file data. The result is a filesystem with an improved design, better performance, reliability, and features.

Create a new ext4 filesystem

Install e2fsprogs.

To format a partition do:

# mkfs.ext4 /dev/partition

See mke2fs(8) for more options.

Tip To view/configure default mke2fs options, edit /etc/mke2fs.conf.

Bytes-per-inode ratio

From mke2fs(8):

mke2fs creates an inode for every bytes-per-inode bytes of space on the disk. The larger the bytes-per-inode ratio, the fewer inodes will be created.

Creating a new file, directory, symlink etc. requires at least one free inode. If the inode count is too low, no file can be created on the filesystem even though there is still space left on it.

Because it is not possible to change either the bytes-per-inode ratio or the inode count after the filesystem is created, mkfs.ext4 uses by default a rather low ratio of one inode every 16384 bytes (16 KiB) to avoid this situation.

However, for partitions with size in the hundreds or thousands of GB and average file size in the megabyte range, this usually results in a much too large inode number because the number of files created never reaches the number of inodes.

This results in a waste of disk space, because all those unused inodes each take up 256 bytes on the filesystem (this is also set in /etc/mke2fs.conf but should not be changed). 256 * several millions = quite a few gigabytes wasted in unused inodes.

This situation can be evaluated by comparing the Use% and IUse% figures provided by df and df -i:

$ df -h /home
Filesystem              Size    Used   Avail  Use%   Mounted on
/dev/mapper/lvm-home    115G    56G    59G    49%    /home
$ df -hi /home
Filesystem              Inodes  IUsed  IFree  IUse%  Mounted on
/dev/mapper/lvm-home    1.8M    1.1K   1.8M   1%     /home

To specify a different bytes-per-inode ratio, use the -T usage-type option which hints at the expected usage of the filesystem using types defined in /etc/mke2fs.conf. Among those types are the bigger largefile and largefile4 which offer more relevant ratios of one inode every 1 MiB and 4 MiB respectively. It can be used as such:

# mkfs.ext4 -T largefile /dev/device

The bytes-per-inode ratio can also be set directly via the -i option: e.g. use -i 2097152 for a 2 MiB ratio and -i 6291456 for a 6 MiB ratio.

Tip Conversely, if setting up a partition dedicated to host millions of small files like emails or newsgroup items, use smaller usage-type values such as news (one inode for every 4096 bytes) or small (same plus smaller inode and block sizes).
Warning If making heavy use of symbolic links, make sure to keep the inode count high enough with a low bytes-per-inode ratio, because while not taking more space every new symbolic link consumes one new inode and therefore the filesystem may run out of them quickly.

Reserved blocks

By default, 5% of the filesystem blocks will be reserved for the super-user, to avoid fragmentation and "allow root-owned daemons to continue to function correctly after non-privileged processes are prevented from writing to the filesystem" (from mke2fs(8)).

For modern high-capacity disks, this is higher than necessary if the partition is used as a long-term archive or not crucial to system operations (like /home). See this email for the opinion of ext4 developer Ted Ts'o on reserved blocks and this superuser answer for general background on this topic.

It is generally safe to reduce the percentage of reserved blocks to free up disk space when the partition is either:

  • Very large (for example > 50G)
  • Used as long-term archive, i.e., where files will not be deleted and created very often

The -m option of ext4-related utilities allows to specify the percentage of reserved blocks.

To totally prevent reserving blocks upon filesystem creation, use:

# mkfs.ext4 -m 0 /dev/device

To change it to 1% afterwards, use:

# tune2fs -m 1 /dev/device

To set the number of reserved block space to an absolute size in gigabytes, use -r:

# tune2fs -r $((ngigs * 1024**3 / blocksize)) /dev/device

blocksize is the block size of the filesystem in bytes. This is almost always 4096; check to be sure:

# tune2fs -l /dev/device | grep 'Block size:'
Block size:               4096

The $(()) syntax is for math expansion. This syntax works in bash and zsh, but it will not work in fish. For fish, this is the syntax:

# tune2fs -r (math 'ngigs * 1024^3 / blocksize') /dev/device

These commands can be applied to currently-mounted filesystems and changes will take effect immediately. Use findmnt(8) to find the device name:

# tune2fs -m 1 "$(findmnt -no SOURCE /the/mount/point)"

To query the current number of reserved blocks:

# tune2fs -l /dev/mapper/proxima-root | grep 'Reserved block count:'
Reserved block count:     2975334

This is the number of blocks, so this has to be multiplied by the filesystem's block size to get the number of bytes or gigabytes: 2975334 * 4096 / 1024**3 = 11.34 GiB.

Migrating from ext2/ext3 to ext4

Mounting ext2/ext3 partitions as ext4 without converting

Rationale

A compromise between fully converting to ext4 and simply remaining with ext2/ext3 is to mount the partitions as ext4.

Pros:

  • Compatibility (the filesystem can continue to be mounted as ext3) – This allows users to still read the filesystem from other operating systems without ext4 support (e.g. Windows with ext2/ext3 drivers)
  • Improved performance (though not as much as a fully-converted ext4 partition).[1] [2]

Cons:

  • Fewer features of ext4 are used (only those that do not change the disk format such as multiblock allocation and delayed allocation)
Note Except for the relative novelty of ext4 (which can be seen as a risk), there is no major drawback to this technique.

Procedure

  1. Edit /etc/fstab and change the 'type' from ext2/ext3 to ext4 for any partitions to mount as ext4.
  2. Re-mount the affected partitions.

Converting ext2/ext3 partitions to ext4

Rationale

To experience the benefits of ext4, an irreversible conversion process must be completed.

Pros:

  • Improved performance and new features.[3] [4]

Cons:

  • Partitions that contain mostly static files, such as a /boot partition, may not benefit from the new features. Also, adding a journal (which is implied by moving a ext2 partition to ext3/4) always incurs performance overhead.
  • Irreversible (ext4 partitions cannot be 'downgraded' to ext2/ext3. It is, however, backwards compatible until extent and other unique options are enabled)

Procedure

These instructions were adapted from Kernel documentation and an BBS thread.

Warning
  • If converting the system's root filesystem, ensure that the 'fallback' initramfs is available at reboot. Alternatively, add ext4 according to Mkinitcpio#MODULES and regenerate the initramfs before starting.
  • If converting a separate /boot partition, ensure the boot loader supports booting from ext4.

In the following steps /dev/sdxX denotes the path to the partition to be converted, such as /dev/sda1.

  1. Back up all data on any ext3 partitions that are to be converted to ext4. A useful package, especially for root partitions, is clonezilla.
  2. Edit /etc/fstab and change the 'type' from ext3 to ext4 for any partitions that are to be converted to ext4.
  3. Boot the live medium (if necessary). The conversion process with e2fsprogs must be done when the drive is not mounted. If converting a root partition, the simplest way to achieve this is to boot from some other live medium.
  4. Ensure the partition is not mounted
  5. If converting an ext2 partition, the first conversion step is to add a journal by running tune2fs -j /dev/sdxX as root; making it a ext3 partition.
  6. Run tune2fs -O extent,uninit_bg,dir_index /dev/sdxX as root. This command converts the ext3 filesystem to ext4 (irreversibly).
  7. Run fsck -f /dev/sdxX as root.
    • This step is necessary, otherwise the filesystem will be unreadable. This fsck run is needed to return the filesystem to a consistent state. It will find checksum errors in the group descriptors - this is expected. The -f option asks fsck to force checking even if the file system seems clean. The -p option may be used on top to "automatically repair" (otherwise, the user will be asked for input for each error).
  8. Recommended: mount the partition and run e4defrag -c -v /dev/sdxX as root.
    • Even though the filesystem is now converted to ext4, all files that have been written before the conversion do not yet take advantage of the extent option of ext4, which will improve large file performance and reduce fragmentation and filesystem check time. In order to fully take advantage of ext4, all files would have to be rewritten on disk. Use e4defrag to take care of this problem.
  9. Reboot

Improving performance

Disabling access time update

The ext4 file system records information about when a file was last accessed and there is a cost associated with recording it. See fstab#atime options for the noatime and related options.

Increasing commit interval

The sync interval for data and metadata can be increased by providing a higher time delay to the commit option.

The default 5 sec means that if the power is lost, one will lose as much as the latest 5 seconds of work. It forces a full sync of all data/journal to physical media every 5 seconds. The filesystem will not be damaged though, thanks to the journaling. The following fstab illustrates the use of commit:

/etc/fstab
/dev/sda5    /    ext4    defaults,commit=60    0    1

Turning barriers off

Warning Disabling barriers for disks without battery-backed cache is not recommended and can lead to severe file system corruption and data loss.

Ext4 enables write barriers by default. It ensures that file system metadata is correctly written and ordered on disk, even when write caches lose power. This goes with a performance cost especially for applications that use fsync heavily or create and delete many small files. For disks that have a write cache that is battery-backed in one way or another, disabling barriers may safely improve performance.

To turn barriers off, add the option barrier=0 to the desired filesystem. For example:

/etc/fstab
/dev/sda5    /    ext4    defaults,barrier=0    0    1

Disabling journaling

Warning Using a filesystem without journaling can result in data loss in case of sudden dismount like power failure or kernel lockup.

Disabling the journal with ext4 can be done with the following command on an unmounted disk:

# tune2fs -O "^has_journal" /dev/sdXn

Use the journal to optimize performance

The Fast commits for ext4 article introduction summarizes succinctly why and how the mount options data=journal or data=writeback speed up overall ext4 performance, compared to the default data=ordered operation mode. In addition, the journaling itself can be sped up by adding the journal_async_commit mount option.

Note The journal_async_commit mount option does not work with the default mount option data=ordered, therefore explicitly mount ext4_device with a different mode; see ext4(5) § data=.

A further option is to to use a newer journal format, see #Enabling fast_commit.

External journal device

If using the non-default data= options, a dedicated device for the journal may also speed up file operations in some cases. For example, when a relatively slow device is used for the data itself and another (faster but smaller) device for the journal. To set up a separate journal device:

# mke2fs -O journal_dev /dev/journal_device

To assign journal_device as the journal of ext4_device, use:

# tune2fs -J device=/dev/journal_device /dev/ext4_device

Replace tune2fs with mkfs.ext4 if wanting to make a new filesystem on ext4_device.

Add the journal_device as a dependency of the ext4_device using the x-systemd.requires mount option in /etc/fstab:

/etc/fstab
/dev/ext4_device    /    ext4    defaults,x-systemd.requires=/dev/journal_device    0    1

This prevents issues if journal_device needs any setup (e.g. it is encrypted).

Note Both the UUID and the devnum of the journal device are saved to the ext4 filesystem. When loading the journal device, only the devnum is used, causing issues as the devnum changes when disks are rearranged. Linux will refuse to mount the filesystem if the devnum points to the wrong device, but the below workarounds may still be helpful:

Ignore the saved devnum and force loading of the journal by path using the journal_path mount option:

/etc/fstab
/dev/ext4_device    /    ext4    defaults,x-systemd.requires=/dev/journal_device,journal_path=/dev/journal_device    0    1

e2fsck will look up the journal device using the UUID and fix the saved devnum if it goes out of sync. However, it will consider this as corruption and trigger an unnecessary full filesystem scan [5]. This can be disabled in e2fsck's config file:

/etc/e2fsck.conf
[problems]
# PR_0_EXTERNAL_JOURNAL_HINT: Superblock hint for external superblock should be xxxx
0x000033 = {
    # Tell e2fsck that if this problem is encountered, it can be fixed but should
    # not be considered corruption, the filesystem should still be marked clean.
    not_a_fix = true
}

Tips and tricks

Using file-based encryption

Since Linux 4.1, ext4 natively supports file encryption, see the fscrypt article. Encryption is applied at the directory level, and different directories can use different encryption keys. This is different from both dm-crypt, which is block-device level encryption, and from eCryptfs, which is a stacked cryptographic filesystem.

Enabling metadata checksums in existing filesystems

When a filesystem has been created with e2fsprogs 1.43 (2016) or later, metadata checksums are enabled by default. Existing filesystems may be converted to enable metadata checksum support.

If using Linux 6.13 or earlier and the CPU supports SSE 4.2, make sure the crc32c_intel kernel module is loaded in order to enable the hardware accelerated implementation of CRC32C [6]. If using Linux 6.14 or later, the hardware accelerated implementation of CRC32C is enabled by default when the CPU supports it.

To read more about metadata checksums, see the ext4 wiki.

Tip Use dumpe2fs to check the features that are enabled on the filesystem:
# dumpe2fs -h /dev/path/to/disk
Note The filesystem must not be mounted.

First the partition needs to be checked and optimized using e2fsck:

# e2fsck -Df /dev/path/to/disk  

Convert the filesystem to 64-bit:

# resize2fs -b /dev/path/to/disk 

Finally enable checksums support:

# tune2fs -O metadata_csum /dev/path/to/disk

To verify:

# dumpe2fs -h /dev/path/to/disk | grep features:
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum

Maintenance when using LVM

The e2scrub tool checks metadata of the ext4 filesystem, if it is used in LVM logical volumes. The volume group must have 256MiB unallocated space for this check, because the tool creates a snapshot to check. As noted by the e2scrub(8) manual the tool does not repair errors, but report them and marks the filesystem to require an e2fsck (see e2fsck(8)) run prior to the next mount.

The check can be automated, for example by enabling the packaged e2scrub_all.timer unit.

If the minimum 256MiB unallocated space is missing, see LVM#Resizing the logical volume and file system in one go.

Enabling fast_commit

The ext4 "fast commits" feature introduces a new, lighter-weight journaling method. It is expected to significantly increase the performance of the ext4 filesystem,[7]

To enable on the feature on a new filesystem, include fast_commit in the -O file system options argument.

To enable the feature on an existing file system, run:

# tune2fs -O fast_commit /dev/drivepartition

To query the current configuration:

# tune2fs -l /dev/drivepartition | grep features

To disable the feature on an existing file system, run:

# tune2fs -O '^fast_commit' /dev/drivepartition

Enabling case-insensitive mode

Warning
  • If the casefold feature has been turned on, it can not be reliably turned off again (due to a potential bug in tune2fs). Be aware of the limitations below before enabling it!
  • GRUB does not currently support ext4's casefold feature; see GRUB bug #56897. Enabling it for file systems GRUB needs to read will render the system unbootable with an unhelpful unknown filesystem error, even if no directory is actually using the feature.
  • The casefold feature is incompatible with overlayfs, which can prevent container software like Docker or Podman from working on that filesystem. Advanced systemd features like systemd-sysext(8) extension images might also become unavailable.

ext4 can be used in case-insensitive mode, which can increase the performance of applications and games running in Wine. This feature does not affect the entire file system, only directories that have the case-insensitive attribute enabled.

First, enable the feature in the file system:

# tune2fs -O casefold /dev/path/to/disk

Enable the case-insensitive attribute in any directory:

$ chattr +F /mnt/partition/case-insensitive-directory

Note that the directory must be empty, and moving subdirectories from elsewhere will not cause them to inherit the attribute, so plan ahead accordingly.

See also

总胆固醇高吃什么药好 什么情况要打破伤风针 三个女人一台戏什么意思 树木什么 清淡饮食吃什么
0r是什么意思 什么时间艾灸最好 喝什么茶减肥效果最好 后脑勺发麻是什么原因 牛肉可以炖什么
女性肛门坠胀看什么科 腰疼是什么原因引起的男性 胃疼看病挂什么科 b票能开什么车 心肌是什么意思
魂牵梦绕是什么意思 等闲之辈是什么意思 妇炎康片有什么副作用 止血芳酸又叫什么 心肌缺血做什么检查能查出来
胎位不正是什么原因导致的hcv9jop4ns8r.cn 低血钾是什么病jinxinzhichuang.com 腰椎盘突出挂什么科hcv8jop6ns7r.cn 陆勤合格什么意思xinjiangjialails.com 大腿肌肉跳动是什么原因hcv9jop6ns9r.cn
腿脚肿胀是什么原因引起的hcv7jop5ns1r.cn 电测听是什么hcv8jop3ns3r.cn 井代表什么生肖hcv7jop9ns8r.cn 特别怕热爱出汗是什么原因hcv9jop7ns0r.cn 士多店是什么意思hcv9jop5ns3r.cn
经期为什么不能拔牙cj623037.com 吕布的武器是什么hcv9jop7ns2r.cn bobby什么意思hcv8jop6ns8r.cn 肠化什么意思xianpinbao.com 想吃辣的是什么原因hcv8jop1ns3r.cn
胃绞痛吃什么药jasonfriends.com 梦见呕吐是什么意思hcv8jop4ns1r.cn 女性什么时候退休naasee.com 干咳喝什么止咳糖浆好hcv8jop6ns3r.cn 为什么会莫名其妙流鼻血liaochangning.com
百度