Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

f2fs: Add the 'whint_mode' mount option to f2fs documentation

Signed-off-by: Hyunchul Lee <cheol.lee@lge.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
[Jaegeuk Kim: Add the write-hint policy in f2fs doc.]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

authored by

Hyunchul Lee and committed by
Jaegeuk Kim
8b3a0ca0 f2e703f9

+66
+66
Documentation/filesystems/f2fs.txt
··· 174 174 offprjjquota Turn off project journelled quota. 175 175 quota Enable plain user disk quota accounting. 176 176 noquota Disable all plain disk quota option. 177 + whint_mode=%s Control which write hints are passed down to block 178 + layer. This supports "off", "user-based", and 179 + "fs-based". In "off" mode (default), f2fs does not pass 180 + down hints. In "user-based" mode, f2fs tries to pass 181 + down hints given by users. And in "fs-based" mode, f2fs 182 + passes down hints with its policy. 177 183 178 184 ================================================================================ 179 185 DEBUGFS ENTRIES ··· 617 611 In order to identify whether the data in the victim segment are valid or not, 618 612 F2FS manages a bitmap. Each bit represents the validity of a block, and the 619 613 bitmap is composed of a bit stream covering whole blocks in main area. 614 + 615 + Write-hint Policy 616 + ----------------- 617 + 618 + 1) whint_mode=off. F2FS only passes down WRITE_LIFE_NOT_SET. 619 + 620 + 2) whint_mode=user-based. F2FS tries to pass down hints given by 621 + users. 622 + 623 + User F2FS Block 624 + ---- ---- ----- 625 + META WRITE_LIFE_NOT_SET 626 + HOT_NODE " 627 + WARM_NODE " 628 + COLD_NODE " 629 + *ioctl(COLD) COLD_DATA WRITE_LIFE_EXTREME 630 + *extension list " " 631 + 632 + -- buffered io 633 + WRITE_LIFE_EXTREME COLD_DATA WRITE_LIFE_EXTREME 634 + WRITE_LIFE_SHORT HOT_DATA WRITE_LIFE_SHORT 635 + WRITE_LIFE_NOT_SET WARM_DATA WRITE_LIFE_NOT_SET 636 + WRITE_LIFE_NONE " " 637 + WRITE_LIFE_MEDIUM " " 638 + WRITE_LIFE_LONG " " 639 + 640 + -- direct io 641 + WRITE_LIFE_EXTREME COLD_DATA WRITE_LIFE_EXTREME 642 + WRITE_LIFE_SHORT HOT_DATA WRITE_LIFE_SHORT 643 + WRITE_LIFE_NOT_SET WARM_DATA WRITE_LIFE_NOT_SET 644 + WRITE_LIFE_NONE " WRITE_LIFE_NONE 645 + WRITE_LIFE_MEDIUM " WRITE_LIFE_MEDIUM 646 + WRITE_LIFE_LONG " WRITE_LIFE_LONG 647 + 648 + 3) whint_mode=fs-based. F2FS passes down hints with its policy. 649 + 650 + User F2FS Block 651 + ---- ---- ----- 652 + META WRITE_LIFE_MEDIUM; 653 + HOT_NODE WRITE_LIFE_NOT_SET 654 + WARM_NODE " 655 + COLD_NODE WRITE_LIFE_NONE 656 + ioctl(COLD) COLD_DATA WRITE_LIFE_EXTREME 657 + extension list " " 658 + 659 + -- buffered io 660 + WRITE_LIFE_EXTREME COLD_DATA WRITE_LIFE_EXTREME 661 + WRITE_LIFE_SHORT HOT_DATA WRITE_LIFE_SHORT 662 + WRITE_LIFE_NOT_SET WARM_DATA WRITE_LIFE_LONG 663 + WRITE_LIFE_NONE " " 664 + WRITE_LIFE_MEDIUM " " 665 + WRITE_LIFE_LONG " " 666 + 667 + -- direct io 668 + WRITE_LIFE_EXTREME COLD_DATA WRITE_LIFE_EXTREME 669 + WRITE_LIFE_SHORT HOT_DATA WRITE_LIFE_SHORT 670 + WRITE_LIFE_NOT_SET WARM_DATA WRITE_LIFE_NOT_SET 671 + WRITE_LIFE_NONE " WRITE_LIFE_NONE 672 + WRITE_LIFE_MEDIUM " WRITE_LIFE_MEDIUM 673 + WRITE_LIFE_LONG " WRITE_LIFE_LONG