tree:
https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git
wip-test-dummy-encryption
head: 3401801b9e29c95126ac1b3fb324d25f540048a8
commit: 0f065e5bfd243dfbc49e296285a07153e30c997d [3/4] fscrypt: support
test_dummy_encryption=v2
config: h8300-randconfig-r024-20200512 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 0f065e5bfd243dfbc49e296285a07153e30c997d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
fs/f2fs/super.c: In function 'parse_options':
> fs/f2fs/super.c:822:4: error: 'ret' undeclared (first use
in this function); did you mean 'net'?
822 | ret =
f2fs_set_test_dummy_encryption(sb, p, &args[0],
| ^~~
| net
fs/f2fs/super.c:822:4: note: each undeclared identifier is reported only once for each
function it appears in
#
https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git/commit...
git remote add ebiggers
https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git
git remote update ebiggers
git checkout 0f065e5bfd243dfbc49e296285a07153e30c997d
vim +822 fs/f2fs/super.c
696c018c7718f5 Namjae Jeon 2013-06-16 450
696c018c7718f5 Namjae Jeon 2013-06-16 451 if (!options)
696c018c7718f5 Namjae Jeon 2013-06-16 452 return 0;
696c018c7718f5 Namjae Jeon 2013-06-16 453
696c018c7718f5 Namjae Jeon 2013-06-16 454 while ((p = strsep(&options,
",")) != NULL) {
696c018c7718f5 Namjae Jeon 2013-06-16 455 int token;
696c018c7718f5 Namjae Jeon 2013-06-16 456 if (!*p)
696c018c7718f5 Namjae Jeon 2013-06-16 457 continue;
696c018c7718f5 Namjae Jeon 2013-06-16 458 /*
696c018c7718f5 Namjae Jeon 2013-06-16 459 * Initialize args struct so we know
whether arg was
696c018c7718f5 Namjae Jeon 2013-06-16 460 * found; some options take optional
arguments.
696c018c7718f5 Namjae Jeon 2013-06-16 461 */
696c018c7718f5 Namjae Jeon 2013-06-16 462 args[0].to = args[0].from = NULL;
696c018c7718f5 Namjae Jeon 2013-06-16 463 token = match_token(p, f2fs_tokens,
args);
696c018c7718f5 Namjae Jeon 2013-06-16 464
696c018c7718f5 Namjae Jeon 2013-06-16 465 switch (token) {
696c018c7718f5 Namjae Jeon 2013-06-16 466 case Opt_gc_background:
696c018c7718f5 Namjae Jeon 2013-06-16 467 name = match_strdup(&args[0]);
696c018c7718f5 Namjae Jeon 2013-06-16 468
696c018c7718f5 Namjae Jeon 2013-06-16 469 if (!name)
696c018c7718f5 Namjae Jeon 2013-06-16 470 return -ENOMEM;
6aefd93b01379b Jaegeuk Kim 2015-10-05 471 if (strlen(name) == 2 &&
!strncmp(name, "on", 2)) {
bbbc34fd666254 Chao Yu 2020-02-14 472 F2FS_OPTION(sbi).bggc_mode =
BGGC_MODE_ON;
6aefd93b01379b Jaegeuk Kim 2015-10-05 473 } else if (strlen(name) == 3
&& !strncmp(name, "off", 3)) {
bbbc34fd666254 Chao Yu 2020-02-14 474 F2FS_OPTION(sbi).bggc_mode =
BGGC_MODE_OFF;
6aefd93b01379b Jaegeuk Kim 2015-10-05 475 } else if (strlen(name) == 4
&& !strncmp(name, "sync", 4)) {
bbbc34fd666254 Chao Yu 2020-02-14 476 F2FS_OPTION(sbi).bggc_mode =
BGGC_MODE_SYNC;
6aefd93b01379b Jaegeuk Kim 2015-10-05 477 } else {
5222595d093ebe Jaegeuk Kim 2018-12-13 478 kvfree(name);
696c018c7718f5 Namjae Jeon 2013-06-16 479 return -EINVAL;
696c018c7718f5 Namjae Jeon 2013-06-16 480 }
5222595d093ebe Jaegeuk Kim 2018-12-13 481 kvfree(name);
696c018c7718f5 Namjae Jeon 2013-06-16 482 break;
696c018c7718f5 Namjae Jeon 2013-06-16 483 case Opt_disable_roll_forward:
696c018c7718f5 Namjae Jeon 2013-06-16 484 set_opt(sbi, DISABLE_ROLL_FORWARD);
696c018c7718f5 Namjae Jeon 2013-06-16 485 break;
2d834bf9ac8e40 Jaegeuk Kim 2015-01-23 486 case Opt_norecovery:
2d834bf9ac8e40 Jaegeuk Kim 2015-01-23 487 /* this option mounts f2fs with ro */
a9117eca1de6b7 Chao Yu 2020-02-14 488 set_opt(sbi, NORECOVERY);
2d834bf9ac8e40 Jaegeuk Kim 2015-01-23 489 if (!f2fs_readonly(sb))
2d834bf9ac8e40 Jaegeuk Kim 2015-01-23 490 return -EINVAL;
2d834bf9ac8e40 Jaegeuk Kim 2015-01-23 491 break;
696c018c7718f5 Namjae Jeon 2013-06-16 492 case Opt_discard:
696c018c7718f5 Namjae Jeon 2013-06-16 493 set_opt(sbi, DISCARD);
696c018c7718f5 Namjae Jeon 2013-06-16 494 break;
64058be9c8e357 Chao Yu 2016-07-03 495 case Opt_nodiscard:
7beb01f74415c5 Chao Yu 2018-10-24 496 if (f2fs_sb_has_blkzoned(sbi)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 497 f2fs_warn(sbi, "discard is
required for zoned block devices");
96ba2decb4241a Damien Le Moal 2016-10-28 498 return -EINVAL;
96ba2decb4241a Damien Le Moal 2016-10-28 499 }
64058be9c8e357 Chao Yu 2016-07-03 500 clear_opt(sbi, DISCARD);
487df616dec332 Damien Le Moal 2016-10-28 501 break;
696c018c7718f5 Namjae Jeon 2013-06-16 502 case Opt_noheap:
696c018c7718f5 Namjae Jeon 2013-06-16 503 set_opt(sbi, NOHEAP);
696c018c7718f5 Namjae Jeon 2013-06-16 504 break;
7a20b8a61eff81 Jaegeuk Kim 2017-03-24 505 case Opt_heap:
7a20b8a61eff81 Jaegeuk Kim 2017-03-24 506 clear_opt(sbi, NOHEAP);
7a20b8a61eff81 Jaegeuk Kim 2017-03-24 507 break;
696c018c7718f5 Namjae Jeon 2013-06-16 508 #ifdef CONFIG_F2FS_FS_XATTR
4058c5117d6d8a Kelly Anderson 2013-10-07 509 case Opt_user_xattr:
4058c5117d6d8a Kelly Anderson 2013-10-07 510 set_opt(sbi, XATTR_USER);
4058c5117d6d8a Kelly Anderson 2013-10-07 511 break;
696c018c7718f5 Namjae Jeon 2013-06-16 512 case Opt_nouser_xattr:
696c018c7718f5 Namjae Jeon 2013-06-16 513 clear_opt(sbi, XATTR_USER);
696c018c7718f5 Namjae Jeon 2013-06-16 514 break;
444c580f7e9ad2 Jaegeuk Kim 2013-08-08 515 case Opt_inline_xattr:
444c580f7e9ad2 Jaegeuk Kim 2013-08-08 516 set_opt(sbi, INLINE_XATTR);
444c580f7e9ad2 Jaegeuk Kim 2013-08-08 517 break;
23cf7212a1cae2 Chao Yu 2017-02-15 518 case Opt_noinline_xattr:
23cf7212a1cae2 Chao Yu 2017-02-15 519 clear_opt(sbi, INLINE_XATTR);
23cf7212a1cae2 Chao Yu 2017-02-15 520 break;
6afc662e68b5f9 Chao Yu 2017-09-06 521 case Opt_inline_xattr_size:
6afc662e68b5f9 Chao Yu 2017-09-06 522 if (args->from &&
match_int(args, &arg))
6afc662e68b5f9 Chao Yu 2017-09-06 523 return -EINVAL;
6afc662e68b5f9 Chao Yu 2017-09-06 524 set_opt(sbi, INLINE_XATTR_SIZE);
63189b785960c3 Chao Yu 2018-03-08 525 F2FS_OPTION(sbi).inline_xattr_size =
arg;
6afc662e68b5f9 Chao Yu 2017-09-06 526 break;
696c018c7718f5 Namjae Jeon 2013-06-16 527 #else
4058c5117d6d8a Kelly Anderson 2013-10-07 528 case Opt_user_xattr:
dcbb4c10e6d969 Joe Perches 2019-06-18 529 f2fs_info(sbi, "user_xattr
options not supported");
4058c5117d6d8a Kelly Anderson 2013-10-07 530 break;
696c018c7718f5 Namjae Jeon 2013-06-16 531 case Opt_nouser_xattr:
dcbb4c10e6d969 Joe Perches 2019-06-18 532 f2fs_info(sbi, "nouser_xattr
options not supported");
696c018c7718f5 Namjae Jeon 2013-06-16 533 break;
444c580f7e9ad2 Jaegeuk Kim 2013-08-08 534 case Opt_inline_xattr:
dcbb4c10e6d969 Joe Perches 2019-06-18 535 f2fs_info(sbi, "inline_xattr
options not supported");
444c580f7e9ad2 Jaegeuk Kim 2013-08-08 536 break;
23cf7212a1cae2 Chao Yu 2017-02-15 537 case Opt_noinline_xattr:
dcbb4c10e6d969 Joe Perches 2019-06-18 538 f2fs_info(sbi, "noinline_xattr
options not supported");
23cf7212a1cae2 Chao Yu 2017-02-15 539 break;
696c018c7718f5 Namjae Jeon 2013-06-16 540 #endif
696c018c7718f5 Namjae Jeon 2013-06-16 541 #ifdef CONFIG_F2FS_FS_POSIX_ACL
4058c5117d6d8a Kelly Anderson 2013-10-07 542 case Opt_acl:
4058c5117d6d8a Kelly Anderson 2013-10-07 543 set_opt(sbi, POSIX_ACL);
4058c5117d6d8a Kelly Anderson 2013-10-07 544 break;
696c018c7718f5 Namjae Jeon 2013-06-16 545 case Opt_noacl:
696c018c7718f5 Namjae Jeon 2013-06-16 546 clear_opt(sbi, POSIX_ACL);
696c018c7718f5 Namjae Jeon 2013-06-16 547 break;
696c018c7718f5 Namjae Jeon 2013-06-16 548 #else
4058c5117d6d8a Kelly Anderson 2013-10-07 549 case Opt_acl:
dcbb4c10e6d969 Joe Perches 2019-06-18 550 f2fs_info(sbi, "acl options not
supported");
4058c5117d6d8a Kelly Anderson 2013-10-07 551 break;
696c018c7718f5 Namjae Jeon 2013-06-16 552 case Opt_noacl:
dcbb4c10e6d969 Joe Perches 2019-06-18 553 f2fs_info(sbi, "noacl options not
supported");
696c018c7718f5 Namjae Jeon 2013-06-16 554 break;
696c018c7718f5 Namjae Jeon 2013-06-16 555 #endif
696c018c7718f5 Namjae Jeon 2013-06-16 556 case Opt_active_logs:
696c018c7718f5 Namjae Jeon 2013-06-16 557 if (args->from &&
match_int(args, &arg))
696c018c7718f5 Namjae Jeon 2013-06-16 558 return -EINVAL;
696c018c7718f5 Namjae Jeon 2013-06-16 559 if (arg != 2 && arg != 4
&& arg != NR_CURSEG_TYPE)
696c018c7718f5 Namjae Jeon 2013-06-16 560 return -EINVAL;
63189b785960c3 Chao Yu 2018-03-08 561 F2FS_OPTION(sbi).active_logs = arg;
696c018c7718f5 Namjae Jeon 2013-06-16 562 break;
696c018c7718f5 Namjae Jeon 2013-06-16 563 case Opt_disable_ext_identify:
696c018c7718f5 Namjae Jeon 2013-06-16 564 set_opt(sbi, DISABLE_EXT_IDENTIFY);
696c018c7718f5 Namjae Jeon 2013-06-16 565 break;
8274de77b7072d Huajun Li 2013-11-10 566 case Opt_inline_data:
8274de77b7072d Huajun Li 2013-11-10 567 set_opt(sbi, INLINE_DATA);
8274de77b7072d Huajun Li 2013-11-10 568 break;
5efd3c6f1be9cf Chao Yu 2014-09-24 569 case Opt_inline_dentry:
5efd3c6f1be9cf Chao Yu 2014-09-24 570 set_opt(sbi, INLINE_DENTRY);
5efd3c6f1be9cf Chao Yu 2014-09-24 571 break;
97c1794a5dc160 Chao Yu 2016-05-09 572 case Opt_noinline_dentry:
97c1794a5dc160 Chao Yu 2016-05-09 573 clear_opt(sbi, INLINE_DENTRY);
97c1794a5dc160 Chao Yu 2016-05-09 574 break;
6b4afdd794783f Jaegeuk Kim 2014-04-02 575 case Opt_flush_merge:
6b4afdd794783f Jaegeuk Kim 2014-04-02 576 set_opt(sbi, FLUSH_MERGE);
6b4afdd794783f Jaegeuk Kim 2014-04-02 577 break;
69e9e4274450c7 Jaegeuk Kim 2016-05-20 578 case Opt_noflush_merge:
69e9e4274450c7 Jaegeuk Kim 2016-05-20 579 clear_opt(sbi, FLUSH_MERGE);
69e9e4274450c7 Jaegeuk Kim 2016-05-20 580 break;
0f7b2abd188089 Jaegeuk Kim 2014-07-23 581 case Opt_nobarrier:
0f7b2abd188089 Jaegeuk Kim 2014-07-23 582 set_opt(sbi, NOBARRIER);
0f7b2abd188089 Jaegeuk Kim 2014-07-23 583 break;
d5053a34a9cc79 Jaegeuk Kim 2014-10-30 584 case Opt_fastboot:
d5053a34a9cc79 Jaegeuk Kim 2014-10-30 585 set_opt(sbi, FASTBOOT);
d5053a34a9cc79 Jaegeuk Kim 2014-10-30 586 break;
8967215954a509 Chao Yu 2015-02-05 587 case Opt_extent_cache:
8967215954a509 Chao Yu 2015-02-05 588 set_opt(sbi, EXTENT_CACHE);
8967215954a509 Chao Yu 2015-02-05 589 break;
7daaea256de42d Jaegeuk Kim 2015-06-25 590 case Opt_noextent_cache:
7daaea256de42d Jaegeuk Kim 2015-06-25 591 clear_opt(sbi, EXTENT_CACHE);
7daaea256de42d Jaegeuk Kim 2015-06-25 592 break;
75342797988a0f Wanpeng Li 2015-03-24 593 case Opt_noinline_data:
75342797988a0f Wanpeng Li 2015-03-24 594 clear_opt(sbi, INLINE_DATA);
75342797988a0f Wanpeng Li 2015-03-24 595 break;
343f40f0a70eb7 Chao Yu 2015-12-16 596 case Opt_data_flush:
343f40f0a70eb7 Chao Yu 2015-12-16 597 set_opt(sbi, DATA_FLUSH);
343f40f0a70eb7 Chao Yu 2015-12-16 598 break;
7e65be49ed94f8 Jaegeuk Kim 2017-12-27 599 case Opt_reserve_root:
7e65be49ed94f8 Jaegeuk Kim 2017-12-27 600 if (args->from &&
match_int(args, &arg))
7e65be49ed94f8 Jaegeuk Kim 2017-12-27 601 return -EINVAL;
7e65be49ed94f8 Jaegeuk Kim 2017-12-27 602 if (test_opt(sbi, RESERVE_ROOT)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 603 f2fs_info(sbi, "Preserve
previous reserve_root=%u",
63189b785960c3 Chao Yu 2018-03-08 604
F2FS_OPTION(sbi).root_reserved_blocks);
7e65be49ed94f8 Jaegeuk Kim 2017-12-27 605 } else {
63189b785960c3 Chao Yu 2018-03-08 606 F2FS_OPTION(sbi).root_reserved_blocks
= arg;
7e65be49ed94f8 Jaegeuk Kim 2017-12-27 607 set_opt(sbi, RESERVE_ROOT);
7e65be49ed94f8 Jaegeuk Kim 2017-12-27 608 }
7e65be49ed94f8 Jaegeuk Kim 2017-12-27 609 break;
7c2e59632b846a Jaegeuk Kim 2018-01-04 610 case Opt_resuid:
7c2e59632b846a Jaegeuk Kim 2018-01-04 611 if (args->from &&
match_int(args, &arg))
7c2e59632b846a Jaegeuk Kim 2018-01-04 612 return -EINVAL;
7c2e59632b846a Jaegeuk Kim 2018-01-04 613 uid = make_kuid(current_user_ns(),
arg);
7c2e59632b846a Jaegeuk Kim 2018-01-04 614 if (!uid_valid(uid)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 615 f2fs_err(sbi, "Invalid uid value
%d", arg);
7c2e59632b846a Jaegeuk Kim 2018-01-04 616 return -EINVAL;
7c2e59632b846a Jaegeuk Kim 2018-01-04 617 }
63189b785960c3 Chao Yu 2018-03-08 618 F2FS_OPTION(sbi).s_resuid = uid;
7c2e59632b846a Jaegeuk Kim 2018-01-04 619 break;
7c2e59632b846a Jaegeuk Kim 2018-01-04 620 case Opt_resgid:
7c2e59632b846a Jaegeuk Kim 2018-01-04 621 if (args->from &&
match_int(args, &arg))
7c2e59632b846a Jaegeuk Kim 2018-01-04 622 return -EINVAL;
7c2e59632b846a Jaegeuk Kim 2018-01-04 623 gid = make_kgid(current_user_ns(),
arg);
7c2e59632b846a Jaegeuk Kim 2018-01-04 624 if (!gid_valid(gid)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 625 f2fs_err(sbi, "Invalid gid value
%d", arg);
7c2e59632b846a Jaegeuk Kim 2018-01-04 626 return -EINVAL;
7c2e59632b846a Jaegeuk Kim 2018-01-04 627 }
63189b785960c3 Chao Yu 2018-03-08 628 F2FS_OPTION(sbi).s_resgid = gid;
7c2e59632b846a Jaegeuk Kim 2018-01-04 629 break;
36abef4e796d38 Jaegeuk Kim 2016-06-03 630 case Opt_mode:
36abef4e796d38 Jaegeuk Kim 2016-06-03 631 name = match_strdup(&args[0]);
36abef4e796d38 Jaegeuk Kim 2016-06-03 632
36abef4e796d38 Jaegeuk Kim 2016-06-03 633 if (!name)
36abef4e796d38 Jaegeuk Kim 2016-06-03 634 return -ENOMEM;
36abef4e796d38 Jaegeuk Kim 2016-06-03 635 if (strlen(name) == 8 &&
36abef4e796d38 Jaegeuk Kim 2016-06-03 636 !strncmp(name, "adaptive",
8)) {
7beb01f74415c5 Chao Yu 2018-10-24 637 if (f2fs_sb_has_blkzoned(sbi)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 638 f2fs_warn(sbi, "adaptive mode
is not allowed with zoned block device feature");
5222595d093ebe Jaegeuk Kim 2018-12-13 639 kvfree(name);
3adc57e97792e4 Damien Le Moal 2016-10-28 640 return -EINVAL;
3adc57e97792e4 Damien Le Moal 2016-10-28 641 }
b0332a0f957ca8 Chao Yu 2020-02-14 642 F2FS_OPTION(sbi).fs_mode =
FS_MODE_ADAPTIVE;
36abef4e796d38 Jaegeuk Kim 2016-06-03 643 } else if (strlen(name) == 3
&&
36abef4e796d38 Jaegeuk Kim 2016-06-03 644 !strncmp(name, "lfs", 3))
{
b0332a0f957ca8 Chao Yu 2020-02-14 645 F2FS_OPTION(sbi).fs_mode =
FS_MODE_LFS;
36abef4e796d38 Jaegeuk Kim 2016-06-03 646 } else {
5222595d093ebe Jaegeuk Kim 2018-12-13 647 kvfree(name);
36abef4e796d38 Jaegeuk Kim 2016-06-03 648 return -EINVAL;
36abef4e796d38 Jaegeuk Kim 2016-06-03 649 }
5222595d093ebe Jaegeuk Kim 2018-12-13 650 kvfree(name);
36abef4e796d38 Jaegeuk Kim 2016-06-03 651 break;
ec91538dccd443 Jaegeuk Kim 2016-12-21 652 case Opt_io_size_bits:
ec91538dccd443 Jaegeuk Kim 2016-12-21 653 if (args->from &&
match_int(args, &arg))
ec91538dccd443 Jaegeuk Kim 2016-12-21 654 return -EINVAL;
6d52e135c8a8b2 Chao Yu 2019-02-15 655 if (arg <= 0 || arg >
__ilog2_u32(BIO_MAX_PAGES)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 656 f2fs_warn(sbi, "Not support %d,
larger than %d",
ec91538dccd443 Jaegeuk Kim 2016-12-21 657 1 << arg, BIO_MAX_PAGES);
ec91538dccd443 Jaegeuk Kim 2016-12-21 658 return -EINVAL;
ec91538dccd443 Jaegeuk Kim 2016-12-21 659 }
63189b785960c3 Chao Yu 2018-03-08 660 F2FS_OPTION(sbi).write_io_size_bits =
arg;
ec91538dccd443 Jaegeuk Kim 2016-12-21 661 break;
4cb037ec3f754f Chengguang Xu 2018-09-12 662 #ifdef CONFIG_F2FS_FAULT_INJECTION
73faec4d99358b Jaegeuk Kim 2016-04-29 663 case Opt_fault_injection:
73faec4d99358b Jaegeuk Kim 2016-04-29 664 if (args->from &&
match_int(args, &arg))
73faec4d99358b Jaegeuk Kim 2016-04-29 665 return -EINVAL;
d494500a704342 Chao Yu 2018-08-08 666 f2fs_build_fault_attr(sbi, arg,
F2FS_ALL_FAULT_TYPE);
d494500a704342 Chao Yu 2018-08-08 667 set_opt(sbi, FAULT_INJECTION);
d494500a704342 Chao Yu 2018-08-08 668 break;
4cb037ec3f754f Chengguang Xu 2018-09-12 669
d494500a704342 Chao Yu 2018-08-08 670 case Opt_fault_type:
d494500a704342 Chao Yu 2018-08-08 671 if (args->from &&
match_int(args, &arg))
d494500a704342 Chao Yu 2018-08-08 672 return -EINVAL;
d494500a704342 Chao Yu 2018-08-08 673 f2fs_build_fault_attr(sbi, 0, arg);
0cc0dec2b6f9bf Kaixu Xia 2017-01-27 674 set_opt(sbi, FAULT_INJECTION);
4cb037ec3f754f Chengguang Xu 2018-09-12 675 break;
73faec4d99358b Jaegeuk Kim 2016-04-29 676 #else
4cb037ec3f754f Chengguang Xu 2018-09-12 677 case Opt_fault_injection:
dcbb4c10e6d969 Joe Perches 2019-06-18 678 f2fs_info(sbi, "fault_injection
options not supported");
73faec4d99358b Jaegeuk Kim 2016-04-29 679 break;
4cb037ec3f754f Chengguang Xu 2018-09-12 680
4cb037ec3f754f Chengguang Xu 2018-09-12 681 case Opt_fault_type:
dcbb4c10e6d969 Joe Perches 2019-06-18 682 f2fs_info(sbi, "fault_type
options not supported");
4cb037ec3f754f Chengguang Xu 2018-09-12 683 break;
4cb037ec3f754f Chengguang Xu 2018-09-12 684 #endif
6d94c74ab85fe7 Jaegeuk Kim 2016-05-20 685 case Opt_lazytime:
1751e8a6cb935e Linus Torvalds 2017-11-27 686 sb->s_flags |= SB_LAZYTIME;
6d94c74ab85fe7 Jaegeuk Kim 2016-05-20 687 break;
6d94c74ab85fe7 Jaegeuk Kim 2016-05-20 688 case Opt_nolazytime:
1751e8a6cb935e Linus Torvalds 2017-11-27 689 sb->s_flags &= ~SB_LAZYTIME;
6d94c74ab85fe7 Jaegeuk Kim 2016-05-20 690 break;
0abd675e97e60d Chao Yu 2017-07-09 691 #ifdef CONFIG_QUOTA
4b2414d04e9912 Chao Yu 2017-08-08 692 case Opt_quota:
0abd675e97e60d Chao Yu 2017-07-09 693 case Opt_usrquota:
0abd675e97e60d Chao Yu 2017-07-09 694 set_opt(sbi, USRQUOTA);
0abd675e97e60d Chao Yu 2017-07-09 695 break;
0abd675e97e60d Chao Yu 2017-07-09 696 case Opt_grpquota:
0abd675e97e60d Chao Yu 2017-07-09 697 set_opt(sbi, GRPQUOTA);
0abd675e97e60d Chao Yu 2017-07-09 698 break;
5c57132eaf5265 Chao Yu 2017-07-26 699 case Opt_prjquota:
5c57132eaf5265 Chao Yu 2017-07-26 700 set_opt(sbi, PRJQUOTA);
5c57132eaf5265 Chao Yu 2017-07-26 701 break;
4b2414d04e9912 Chao Yu 2017-08-08 702 case Opt_usrjquota:
4b2414d04e9912 Chao Yu 2017-08-08 703 ret = f2fs_set_qf_name(sb, USRQUOTA,
&args[0]);
4b2414d04e9912 Chao Yu 2017-08-08 704 if (ret)
4b2414d04e9912 Chao Yu 2017-08-08 705 return ret;
4b2414d04e9912 Chao Yu 2017-08-08 706 break;
4b2414d04e9912 Chao Yu 2017-08-08 707 case Opt_grpjquota:
4b2414d04e9912 Chao Yu 2017-08-08 708 ret = f2fs_set_qf_name(sb, GRPQUOTA,
&args[0]);
4b2414d04e9912 Chao Yu 2017-08-08 709 if (ret)
4b2414d04e9912 Chao Yu 2017-08-08 710 return ret;
4b2414d04e9912 Chao Yu 2017-08-08 711 break;
4b2414d04e9912 Chao Yu 2017-08-08 712 case Opt_prjjquota:
4b2414d04e9912 Chao Yu 2017-08-08 713 ret = f2fs_set_qf_name(sb, PRJQUOTA,
&args[0]);
4b2414d04e9912 Chao Yu 2017-08-08 714 if (ret)
4b2414d04e9912 Chao Yu 2017-08-08 715 return ret;
4b2414d04e9912 Chao Yu 2017-08-08 716 break;
4b2414d04e9912 Chao Yu 2017-08-08 717 case Opt_offusrjquota:
4b2414d04e9912 Chao Yu 2017-08-08 718 ret = f2fs_clear_qf_name(sb,
USRQUOTA);
4b2414d04e9912 Chao Yu 2017-08-08 719 if (ret)
4b2414d04e9912 Chao Yu 2017-08-08 720 return ret;
4b2414d04e9912 Chao Yu 2017-08-08 721 break;
4b2414d04e9912 Chao Yu 2017-08-08 722 case Opt_offgrpjquota:
4b2414d04e9912 Chao Yu 2017-08-08 723 ret = f2fs_clear_qf_name(sb,
GRPQUOTA);
4b2414d04e9912 Chao Yu 2017-08-08 724 if (ret)
4b2414d04e9912 Chao Yu 2017-08-08 725 return ret;
4b2414d04e9912 Chao Yu 2017-08-08 726 break;
4b2414d04e9912 Chao Yu 2017-08-08 727 case Opt_offprjjquota:
4b2414d04e9912 Chao Yu 2017-08-08 728 ret = f2fs_clear_qf_name(sb,
PRJQUOTA);
4b2414d04e9912 Chao Yu 2017-08-08 729 if (ret)
4b2414d04e9912 Chao Yu 2017-08-08 730 return ret;
4b2414d04e9912 Chao Yu 2017-08-08 731 break;
4b2414d04e9912 Chao Yu 2017-08-08 732 case Opt_jqfmt_vfsold:
63189b785960c3 Chao Yu 2018-03-08 733 F2FS_OPTION(sbi).s_jquota_fmt =
QFMT_VFS_OLD;
4b2414d04e9912 Chao Yu 2017-08-08 734 break;
4b2414d04e9912 Chao Yu 2017-08-08 735 case Opt_jqfmt_vfsv0:
63189b785960c3 Chao Yu 2018-03-08 736 F2FS_OPTION(sbi).s_jquota_fmt =
QFMT_VFS_V0;
4b2414d04e9912 Chao Yu 2017-08-08 737 break;
4b2414d04e9912 Chao Yu 2017-08-08 738 case Opt_jqfmt_vfsv1:
63189b785960c3 Chao Yu 2018-03-08 739 F2FS_OPTION(sbi).s_jquota_fmt =
QFMT_VFS_V1;
4b2414d04e9912 Chao Yu 2017-08-08 740 break;
4b2414d04e9912 Chao Yu 2017-08-08 741 case Opt_noquota:
4b2414d04e9912 Chao Yu 2017-08-08 742 clear_opt(sbi, QUOTA);
4b2414d04e9912 Chao Yu 2017-08-08 743 clear_opt(sbi, USRQUOTA);
4b2414d04e9912 Chao Yu 2017-08-08 744 clear_opt(sbi, GRPQUOTA);
4b2414d04e9912 Chao Yu 2017-08-08 745 clear_opt(sbi, PRJQUOTA);
4b2414d04e9912 Chao Yu 2017-08-08 746 break;
0abd675e97e60d Chao Yu 2017-07-09 747 #else
4b2414d04e9912 Chao Yu 2017-08-08 748 case Opt_quota:
0abd675e97e60d Chao Yu 2017-07-09 749 case Opt_usrquota:
0abd675e97e60d Chao Yu 2017-07-09 750 case Opt_grpquota:
5c57132eaf5265 Chao Yu 2017-07-26 751 case Opt_prjquota:
4b2414d04e9912 Chao Yu 2017-08-08 752 case Opt_usrjquota:
4b2414d04e9912 Chao Yu 2017-08-08 753 case Opt_grpjquota:
4b2414d04e9912 Chao Yu 2017-08-08 754 case Opt_prjjquota:
4b2414d04e9912 Chao Yu 2017-08-08 755 case Opt_offusrjquota:
4b2414d04e9912 Chao Yu 2017-08-08 756 case Opt_offgrpjquota:
4b2414d04e9912 Chao Yu 2017-08-08 757 case Opt_offprjjquota:
4b2414d04e9912 Chao Yu 2017-08-08 758 case Opt_jqfmt_vfsold:
4b2414d04e9912 Chao Yu 2017-08-08 759 case Opt_jqfmt_vfsv0:
4b2414d04e9912 Chao Yu 2017-08-08 760 case Opt_jqfmt_vfsv1:
4b2414d04e9912 Chao Yu 2017-08-08 761 case Opt_noquota:
dcbb4c10e6d969 Joe Perches 2019-06-18 762 f2fs_info(sbi, "quota operations
not supported");
0abd675e97e60d Chao Yu 2017-07-09 763 break;
0abd675e97e60d Chao Yu 2017-07-09 764 #endif
0cdd31953967b2 Hyunchul Lee 2018-01-31 765 case Opt_whint:
0cdd31953967b2 Hyunchul Lee 2018-01-31 766 name = match_strdup(&args[0]);
0cdd31953967b2 Hyunchul Lee 2018-01-31 767 if (!name)
0cdd31953967b2 Hyunchul Lee 2018-01-31 768 return -ENOMEM;
0cdd31953967b2 Hyunchul Lee 2018-01-31 769 if (strlen(name) == 10 &&
0cdd31953967b2 Hyunchul Lee 2018-01-31 770 !strncmp(name,
"user-based", 10)) {
63189b785960c3 Chao Yu 2018-03-08 771 F2FS_OPTION(sbi).whint_mode =
WHINT_MODE_USER;
0cdd31953967b2 Hyunchul Lee 2018-01-31 772 } else if (strlen(name) == 3
&&
0cdd31953967b2 Hyunchul Lee 2018-01-31 773 !strncmp(name, "off", 3))
{
63189b785960c3 Chao Yu 2018-03-08 774 F2FS_OPTION(sbi).whint_mode =
WHINT_MODE_OFF;
f2e703f9a3caa9 Hyunchul Lee 2018-01-31 775 } else if (strlen(name) == 8
&&
f2e703f9a3caa9 Hyunchul Lee 2018-01-31 776 !strncmp(name, "fs-based",
8)) {
63189b785960c3 Chao Yu 2018-03-08 777 F2FS_OPTION(sbi).whint_mode =
WHINT_MODE_FS;
0cdd31953967b2 Hyunchul Lee 2018-01-31 778 } else {
5222595d093ebe Jaegeuk Kim 2018-12-13 779 kvfree(name);
0cdd31953967b2 Hyunchul Lee 2018-01-31 780 return -EINVAL;
0cdd31953967b2 Hyunchul Lee 2018-01-31 781 }
5222595d093ebe Jaegeuk Kim 2018-12-13 782 kvfree(name);
0cdd31953967b2 Hyunchul Lee 2018-01-31 783 break;
079396270b0f1e Jaegeuk Kim 2018-02-18 784 case Opt_alloc:
079396270b0f1e Jaegeuk Kim 2018-02-18 785 name = match_strdup(&args[0]);
079396270b0f1e Jaegeuk Kim 2018-02-18 786 if (!name)
079396270b0f1e Jaegeuk Kim 2018-02-18 787 return -ENOMEM;
079396270b0f1e Jaegeuk Kim 2018-02-18 788
079396270b0f1e Jaegeuk Kim 2018-02-18 789 if (strlen(name) == 7 &&
079396270b0f1e Jaegeuk Kim 2018-02-18 790 !strncmp(name, "default",
7)) {
63189b785960c3 Chao Yu 2018-03-08 791 F2FS_OPTION(sbi).alloc_mode =
ALLOC_MODE_DEFAULT;
079396270b0f1e Jaegeuk Kim 2018-02-18 792 } else if (strlen(name) == 5
&&
079396270b0f1e Jaegeuk Kim 2018-02-18 793 !strncmp(name, "reuse",
5)) {
63189b785960c3 Chao Yu 2018-03-08 794 F2FS_OPTION(sbi).alloc_mode =
ALLOC_MODE_REUSE;
079396270b0f1e Jaegeuk Kim 2018-02-18 795 } else {
5222595d093ebe Jaegeuk Kim 2018-12-13 796 kvfree(name);
079396270b0f1e Jaegeuk Kim 2018-02-18 797 return -EINVAL;
079396270b0f1e Jaegeuk Kim 2018-02-18 798 }
5222595d093ebe Jaegeuk Kim 2018-12-13 799 kvfree(name);
079396270b0f1e Jaegeuk Kim 2018-02-18 800 break;
93cf93f17c8ef7 Junling Zheng 2018-03-07 801 case Opt_fsync:
93cf93f17c8ef7 Junling Zheng 2018-03-07 802 name = match_strdup(&args[0]);
93cf93f17c8ef7 Junling Zheng 2018-03-07 803 if (!name)
93cf93f17c8ef7 Junling Zheng 2018-03-07 804 return -ENOMEM;
93cf93f17c8ef7 Junling Zheng 2018-03-07 805 if (strlen(name) == 5 &&
93cf93f17c8ef7 Junling Zheng 2018-03-07 806 !strncmp(name, "posix",
5)) {
63189b785960c3 Chao Yu 2018-03-08 807 F2FS_OPTION(sbi).fsync_mode =
FSYNC_MODE_POSIX;
93cf93f17c8ef7 Junling Zheng 2018-03-07 808 } else if (strlen(name) == 6
&&
93cf93f17c8ef7 Junling Zheng 2018-03-07 809 !strncmp(name, "strict",
6)) {
63189b785960c3 Chao Yu 2018-03-08 810 F2FS_OPTION(sbi).fsync_mode =
FSYNC_MODE_STRICT;
d6290814b018aa Jaegeuk Kim 2018-05-25 811 } else if (strlen(name) == 9
&&
d6290814b018aa Jaegeuk Kim 2018-05-25 812 !strncmp(name,
"nobarrier", 9)) {
d6290814b018aa Jaegeuk Kim 2018-05-25 813 F2FS_OPTION(sbi).fsync_mode =
d6290814b018aa Jaegeuk Kim 2018-05-25 814 FSYNC_MODE_NOBARRIER;
93cf93f17c8ef7 Junling Zheng 2018-03-07 815 } else {
5222595d093ebe Jaegeuk Kim 2018-12-13 816 kvfree(name);
93cf93f17c8ef7 Junling Zheng 2018-03-07 817 return -EINVAL;
93cf93f17c8ef7 Junling Zheng 2018-03-07 818 }
5222595d093ebe Jaegeuk Kim 2018-12-13 819 kvfree(name);
93cf93f17c8ef7 Junling Zheng 2018-03-07 820 break;
ff62af200b94e0 Sheng Yong 2018-03-15 821 case Opt_test_dummy_encryption:
0f065e5bfd243d Eric Biggers 2020-05-11 @822 ret =
f2fs_set_test_dummy_encryption(sb, p, &args[0],
0f065e5bfd243d Eric Biggers 2020-05-11 823 is_remount);
0f065e5bfd243d Eric Biggers 2020-05-11 824 if (ret)
0f065e5bfd243d Eric Biggers 2020-05-11 825 return ret;
ff62af200b94e0 Sheng Yong 2018-03-15 826 break;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 827 case Opt_checkpoint_disable_cap_perc:
4d3aed70902f29 Daniel Rosenberg 2019-05-29 828 if (args->from &&
match_int(args, &arg))
4d3aed70902f29 Daniel Rosenberg 2019-05-29 829 return -EINVAL;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 830 if (arg < 0 || arg > 100)
4d3aed70902f29 Daniel Rosenberg 2019-05-29 831 return -EINVAL;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 832 if (arg == 100)
4d3aed70902f29 Daniel Rosenberg 2019-05-29 833 F2FS_OPTION(sbi).unusable_cap =
4d3aed70902f29 Daniel Rosenberg 2019-05-29 834 sbi->user_block_count;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 835 else
4d3aed70902f29 Daniel Rosenberg 2019-05-29 836 F2FS_OPTION(sbi).unusable_cap =
4d3aed70902f29 Daniel Rosenberg 2019-05-29 837 (sbi->user_block_count / 100)
* arg;
4354994f097d06 Daniel Rosenberg 2018-08-20 838 set_opt(sbi, DISABLE_CHECKPOINT);
4d3aed70902f29 Daniel Rosenberg 2019-05-29 839 break;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 840 case Opt_checkpoint_disable_cap:
4d3aed70902f29 Daniel Rosenberg 2019-05-29 841 if (args->from &&
match_int(args, &arg))
4354994f097d06 Daniel Rosenberg 2018-08-20 842 return -EINVAL;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 843 F2FS_OPTION(sbi).unusable_cap = arg;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 844 set_opt(sbi, DISABLE_CHECKPOINT);
4d3aed70902f29 Daniel Rosenberg 2019-05-29 845 break;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 846 case Opt_checkpoint_disable:
4d3aed70902f29 Daniel Rosenberg 2019-05-29 847 set_opt(sbi, DISABLE_CHECKPOINT);
4d3aed70902f29 Daniel Rosenberg 2019-05-29 848 break;
4d3aed70902f29 Daniel Rosenberg 2019-05-29 849 case Opt_checkpoint_enable:
4d3aed70902f29 Daniel Rosenberg 2019-05-29 850 clear_opt(sbi, DISABLE_CHECKPOINT);
4354994f097d06 Daniel Rosenberg 2018-08-20 851 break;
4c8ff7095bef64 Chao Yu 2019-11-01 852 case Opt_compress_algorithm:
4c8ff7095bef64 Chao Yu 2019-11-01 853 if (!f2fs_sb_has_compression(sbi)) {
4c8ff7095bef64 Chao Yu 2019-11-01 854 f2fs_err(sbi, "Compression
feature if off");
4c8ff7095bef64 Chao Yu 2019-11-01 855 return -EINVAL;
4c8ff7095bef64 Chao Yu 2019-11-01 856 }
4c8ff7095bef64 Chao Yu 2019-11-01 857 name = match_strdup(&args[0]);
4c8ff7095bef64 Chao Yu 2019-11-01 858 if (!name)
4c8ff7095bef64 Chao Yu 2019-11-01 859 return -ENOMEM;
4c8ff7095bef64 Chao Yu 2019-11-01 860 if (strlen(name) == 3 &&
!strcmp(name, "lzo")) {
4c8ff7095bef64 Chao Yu 2019-11-01 861 F2FS_OPTION(sbi).compress_algorithm
=
4c8ff7095bef64 Chao Yu 2019-11-01 862 COMPRESS_LZO;
4c8ff7095bef64 Chao Yu 2019-11-01 863 } else if (strlen(name) == 3
&&
4c8ff7095bef64 Chao Yu 2019-11-01 864 !strcmp(name, "lz4")) {
4c8ff7095bef64 Chao Yu 2019-11-01 865 F2FS_OPTION(sbi).compress_algorithm
=
4c8ff7095bef64 Chao Yu 2019-11-01 866 COMPRESS_LZ4;
50cfa66f0de02e Chao Yu 2020-03-03 867 } else if (strlen(name) == 4
&&
50cfa66f0de02e Chao Yu 2020-03-03 868 !strcmp(name, "zstd")) {
50cfa66f0de02e Chao Yu 2020-03-03 869 F2FS_OPTION(sbi).compress_algorithm
=
50cfa66f0de02e Chao Yu 2020-03-03 870 COMPRESS_ZSTD;
4c8ff7095bef64 Chao Yu 2019-11-01 871 } else {
4c8ff7095bef64 Chao Yu 2019-11-01 872 kfree(name);
4c8ff7095bef64 Chao Yu 2019-11-01 873 return -EINVAL;
4c8ff7095bef64 Chao Yu 2019-11-01 874 }
4c8ff7095bef64 Chao Yu 2019-11-01 875 kfree(name);
4c8ff7095bef64 Chao Yu 2019-11-01 876 break;
4c8ff7095bef64 Chao Yu 2019-11-01 877 case Opt_compress_log_size:
4c8ff7095bef64 Chao Yu 2019-11-01 878 if (!f2fs_sb_has_compression(sbi)) {
4c8ff7095bef64 Chao Yu 2019-11-01 879 f2fs_err(sbi, "Compression
feature is off");
4c8ff7095bef64 Chao Yu 2019-11-01 880 return -EINVAL;
4c8ff7095bef64 Chao Yu 2019-11-01 881 }
4c8ff7095bef64 Chao Yu 2019-11-01 882 if (args->from &&
match_int(args, &arg))
4c8ff7095bef64 Chao Yu 2019-11-01 883 return -EINVAL;
4c8ff7095bef64 Chao Yu 2019-11-01 884 if (arg < MIN_COMPRESS_LOG_SIZE ||
4c8ff7095bef64 Chao Yu 2019-11-01 885 arg > MAX_COMPRESS_LOG_SIZE) {
4c8ff7095bef64 Chao Yu 2019-11-01 886 f2fs_err(sbi,
4c8ff7095bef64 Chao Yu 2019-11-01 887 "Compress cluster log size is
out of range");
4c8ff7095bef64 Chao Yu 2019-11-01 888 return -EINVAL;
4c8ff7095bef64 Chao Yu 2019-11-01 889 }
4c8ff7095bef64 Chao Yu 2019-11-01 890 F2FS_OPTION(sbi).compress_log_size =
arg;
4c8ff7095bef64 Chao Yu 2019-11-01 891 break;
4c8ff7095bef64 Chao Yu 2019-11-01 892 case Opt_compress_extension:
4c8ff7095bef64 Chao Yu 2019-11-01 893 if (!f2fs_sb_has_compression(sbi)) {
4c8ff7095bef64 Chao Yu 2019-11-01 894 f2fs_err(sbi, "Compression
feature is off");
4c8ff7095bef64 Chao Yu 2019-11-01 895 return -EINVAL;
4c8ff7095bef64 Chao Yu 2019-11-01 896 }
4c8ff7095bef64 Chao Yu 2019-11-01 897 name = match_strdup(&args[0]);
4c8ff7095bef64 Chao Yu 2019-11-01 898 if (!name)
4c8ff7095bef64 Chao Yu 2019-11-01 899 return -ENOMEM;
4c8ff7095bef64 Chao Yu 2019-11-01 900
4c8ff7095bef64 Chao Yu 2019-11-01 901 ext = F2FS_OPTION(sbi).extensions;
4c8ff7095bef64 Chao Yu 2019-11-01 902 ext_cnt =
F2FS_OPTION(sbi).compress_ext_cnt;
4c8ff7095bef64 Chao Yu 2019-11-01 903
4c8ff7095bef64 Chao Yu 2019-11-01 904 if (strlen(name) >=
F2FS_EXTENSION_LEN ||
4c8ff7095bef64 Chao Yu 2019-11-01 905 ext_cnt >= COMPRESS_EXT_NUM) {
4c8ff7095bef64 Chao Yu 2019-11-01 906 f2fs_err(sbi,
4c8ff7095bef64 Chao Yu 2019-11-01 907 "invalid extension
length/number");
4c8ff7095bef64 Chao Yu 2019-11-01 908 kfree(name);
4c8ff7095bef64 Chao Yu 2019-11-01 909 return -EINVAL;
4c8ff7095bef64 Chao Yu 2019-11-01 910 }
4c8ff7095bef64 Chao Yu 2019-11-01 911
4c8ff7095bef64 Chao Yu 2019-11-01 912 strcpy(ext[ext_cnt], name);
4c8ff7095bef64 Chao Yu 2019-11-01 913 F2FS_OPTION(sbi).compress_ext_cnt++;
4c8ff7095bef64 Chao Yu 2019-11-01 914 kfree(name);
4c8ff7095bef64 Chao Yu 2019-11-01 915 break;
696c018c7718f5 Namjae Jeon 2013-06-16 916 default:
dcbb4c10e6d969 Joe Perches 2019-06-18 917 f2fs_err(sbi, "Unrecognized mount
option \"%s\" or missing value",
696c018c7718f5 Namjae Jeon 2013-06-16 918 p);
696c018c7718f5 Namjae Jeon 2013-06-16 919 return -EINVAL;
696c018c7718f5 Namjae Jeon 2013-06-16 920 }
696c018c7718f5 Namjae Jeon 2013-06-16 921 }
4b2414d04e9912 Chao Yu 2017-08-08 922 #ifdef CONFIG_QUOTA
4b2414d04e9912 Chao Yu 2017-08-08 923 if (f2fs_check_quota_options(sbi))
4b2414d04e9912 Chao Yu 2017-08-08 924 return -EINVAL;
00960c2cd8f169 Sheng Yong 2018-07-24 925 #else
7beb01f74415c5 Chao Yu 2018-10-24 926 if (f2fs_sb_has_quota_ino(sbi)
&& !f2fs_readonly(sbi->sb)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 927 f2fs_info(sbi, "Filesystem with
quota feature cannot be mounted RDWR without CONFIG_QUOTA");
00960c2cd8f169 Sheng Yong 2018-07-24 928 return -EINVAL;
00960c2cd8f169 Sheng Yong 2018-07-24 929 }
7beb01f74415c5 Chao Yu 2018-10-24 930 if (f2fs_sb_has_project_quota(sbi)
&& !f2fs_readonly(sbi->sb)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 931 f2fs_err(sbi, "Filesystem with
project quota feature cannot be mounted RDWR without CONFIG_QUOTA");
4ddc1b28aac57a Chao Yu 2018-07-26 932 return -EINVAL;
4ddc1b28aac57a Chao Yu 2018-07-26 933 }
4b2414d04e9912 Chao Yu 2017-08-08 934 #endif
5aba54302a46fd Daniel Rosenberg 2019-07-23 935 #ifndef CONFIG_UNICODE
5aba54302a46fd Daniel Rosenberg 2019-07-23 936 if (f2fs_sb_has_casefold(sbi)) {
5aba54302a46fd Daniel Rosenberg 2019-07-23 937 f2fs_err(sbi,
5aba54302a46fd Daniel Rosenberg 2019-07-23 938 "Filesystem with casefold feature
cannot be mounted without CONFIG_UNICODE");
5aba54302a46fd Daniel Rosenberg 2019-07-23 939 return -EINVAL;
5aba54302a46fd Daniel Rosenberg 2019-07-23 940 }
5aba54302a46fd Daniel Rosenberg 2019-07-23 941 #endif
ec91538dccd443 Jaegeuk Kim 2016-12-21 942
b0332a0f957ca8 Chao Yu 2020-02-14 943 if (F2FS_IO_SIZE_BITS(sbi) &&
!f2fs_lfs_mode(sbi)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 944 f2fs_err(sbi, "Should set mode=lfs
with %uKB-sized IO",
ec91538dccd443 Jaegeuk Kim 2016-12-21 945 F2FS_IO_SIZE_KB(sbi));
ec91538dccd443 Jaegeuk Kim 2016-12-21 946 return -EINVAL;
ec91538dccd443 Jaegeuk Kim 2016-12-21 947 }
6afc662e68b5f9 Chao Yu 2017-09-06 948
6afc662e68b5f9 Chao Yu 2017-09-06 949 if (test_opt(sbi, INLINE_XATTR_SIZE)) {
70db5b04cbe19e Jaegeuk Kim 2019-03-12 950 int min_size, max_size;
70db5b04cbe19e Jaegeuk Kim 2019-03-12 951
7beb01f74415c5 Chao Yu 2018-10-24 952 if (!f2fs_sb_has_extra_attr(sbi) ||
7beb01f74415c5 Chao Yu 2018-10-24 953
!f2fs_sb_has_flexible_inline_xattr(sbi)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 954 f2fs_err(sbi, "extra_attr or
flexible_inline_xattr feature is off");
4d817ae099883b Chao Yu 2018-01-27 955 return -EINVAL;
4d817ae099883b Chao Yu 2018-01-27 956 }
6afc662e68b5f9 Chao Yu 2017-09-06 957 if (!test_opt(sbi, INLINE_XATTR)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 958 f2fs_err(sbi, "inline_xattr_size
option should be set with inline_xattr option");
6afc662e68b5f9 Chao Yu 2017-09-06 959 return -EINVAL;
6afc662e68b5f9 Chao Yu 2017-09-06 960 }
70db5b04cbe19e Jaegeuk Kim 2019-03-12 961
70db5b04cbe19e Jaegeuk Kim 2019-03-12 962 min_size = sizeof(struct
f2fs_xattr_header) / sizeof(__le32);
dd6c89b5f2b93c Chao Yu 2019-03-04 963 max_size = MAX_INLINE_XATTR_SIZE;
70db5b04cbe19e Jaegeuk Kim 2019-03-12 964
70db5b04cbe19e Jaegeuk Kim 2019-03-12 965 if (F2FS_OPTION(sbi).inline_xattr_size
< min_size ||
70db5b04cbe19e Jaegeuk Kim 2019-03-12 966 F2FS_OPTION(sbi).inline_xattr_size
> max_size) {
dcbb4c10e6d969 Joe Perches 2019-06-18 967 f2fs_err(sbi, "inline xattr size
is out of range: %d ~ %d",
70db5b04cbe19e Jaegeuk Kim 2019-03-12 968 min_size, max_size);
6afc662e68b5f9 Chao Yu 2017-09-06 969 return -EINVAL;
6afc662e68b5f9 Chao Yu 2017-09-06 970 }
6afc662e68b5f9 Chao Yu 2017-09-06 971 }
0cdd31953967b2 Hyunchul Lee 2018-01-31 972
b0332a0f957ca8 Chao Yu 2020-02-14 973 if (test_opt(sbi, DISABLE_CHECKPOINT)
&& f2fs_lfs_mode(sbi)) {
dcbb4c10e6d969 Joe Perches 2019-06-18 974 f2fs_err(sbi, "LFS not compatible
with checkpoint=disable\n");
4354994f097d06 Daniel Rosenberg 2018-08-20 975 return -EINVAL;
4354994f097d06 Daniel Rosenberg 2018-08-20 976 }
4354994f097d06 Daniel Rosenberg 2018-08-20 977
0cdd31953967b2 Hyunchul Lee 2018-01-31 978 /* Not pass down write hints if the
number of active logs is lesser
0cdd31953967b2 Hyunchul Lee 2018-01-31 979 * than NR_CURSEG_TYPE.
0cdd31953967b2 Hyunchul Lee 2018-01-31 980 */
63189b785960c3 Chao Yu 2018-03-08 981 if (F2FS_OPTION(sbi).active_logs !=
NR_CURSEG_TYPE)
63189b785960c3 Chao Yu 2018-03-08 982 F2FS_OPTION(sbi).whint_mode =
WHINT_MODE_OFF;
696c018c7718f5 Namjae Jeon 2013-06-16 983 return 0;
696c018c7718f5 Namjae Jeon 2013-06-16 984 }
696c018c7718f5 Namjae Jeon 2013-06-16 985
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org