~bstrong-f/fisysmgr/fisysmgr-0.3.0

« back to all changes in this revision

Viewing changes to main/source/optionsdlg.cpp

  • Committer: Barry Strong
  • Date: 2015-05-24 02:36:19 UTC
  • Revision ID: barry@softtechok.com-20150524023619-muele5125woauu7o
Reformat option dialog tooltips for better layout in translation file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
470
470
    chkBox->setCBName(name);
471
471
    chkBox->setObjectName("cb" + name);
472
472
    chkBox->setText(name);
473
 
    chkBox->setToolTip(chkBox->toolTip() + tltip);
 
473
    if (name.right(1) == "=") {
 
474
        chkBox->setToolTip(tr("If checked, right click to change value.\n\n") + tltip);
 
475
    } else {
 
476
        chkBox->setToolTip(tltip);
 
477
    }
474
478
    connect(chkBox, SIGNAL(rightClicked(OptChkBox*)), this,
475
479
            SLOT(rightClicked(OptChkBox*)));
476
480
    layout->addWidget(chkBox, cboxRow, cboxCol);
487
491
        tr("All I/O to the filesystem should be done asynchronously. (See also the sync\n"
488
492
           "option.)"));
489
493
    createChkBox("atime",
490
 
        tr ("Do not use noatime feature, then the inode access time is controlled by kernel\n"
491
 
            "defaults. See also the description for strictatime and reatime mount options."));
 
494
        tr ("Do not use noatime feature, then the inode access time is controlled by\n"
 
495
            "kernel defaults. See also the description for strictatime and reatime\n"
 
496
            "mount options."));
492
497
    createChkBox("auto",
493
498
        tr("Can be mounted with the -a option."));
494
499
    createChkBox("dev",
497
502
        tr("Update directory inode access times on this filesystem. This is the default."));
498
503
    createChkBox("exec", tr("Permit execution of binaries."));
499
504
    createChkBox("group",
500
 
        tr("Allow an ordinary (i.e., non-root) user to mount the filesystem if one of his\n"
501
 
           "groups matches the group of the device. This option implies the options nosuid\n"
502
 
           "and nodev (unless overridden by subsequent options, as in the option line group,\n"
503
 
           "dev,suid)."));
 
505
        tr("Allow an ordinary (i.e., non-root) user to mount the filesystem if one of\n"
 
506
           "his groups matches the group of the device. This option implies the options\n"
 
507
           "nosuid and nodev (unless overridden by subsequent options, as in the option\n"
 
508
           "line group,dev,suid)."));
504
509
    createChkBox("noatime",
505
510
        tr("Do not update inode access times on this filesystem (e.g., for faster access\n"
506
511
           "on the news spool to speed up news servers)."));
518
523
    createChkBox("nostrictatime",
519
524
        tr("Use the kernel's default behaviour for inode access time updates."));
520
525
    createChkBox("nosuid",
521
 
        tr("Do not allow set-user-identifier or set-group-identifier bits to take effect.\n"
522
 
           "(This seems safe, but is in fact rather unsafe if you have suidperl(1)\n"
523
 
           "installed.)"));
 
526
        tr("Do not allow set-user-identifier or set-group-identifier bits to take\n"
 
527
           "effect. This seems safe, but is in fact rather unsafe if you have\n"
 
528
           "suidperl(1) installed.)"));
524
529
    createChkBox("nouser",
525
530
        tr("Forbid an ordinary (i.e., non-root) user to mount the filesystem.\n"
526
531
           "This is the default."));
527
532
    createChkBox("relatime",
528
 
        tr("Update inode access times relative to modify or change time. Access time is only\n"
529
 
           "updated if the previous access time was earlier than the current modify or\n"
530
 
           "change time. (Similar to noatime, but doesn't break mutt or other applications\n"
531
 
           "that need to know if a file has been read since the last time it was modified.)\n\n"
532
 
           "Since Linux 2.6.30, the kernel defaults to the behavior provided by this option\n"
533
 
           "(unless noatime was specified), and the strictatime option is required to obtain\n"
534
 
           "traditional semantics. In addition, since Linux 2.6.30, the file's last access\n"
535
 
           "time is always updated if it is more than 1 day old."));
 
533
        tr("Update inode access times relative to modify or change time. Access time is\n"
 
534
           "only updated if the previous access time was earlier than the current\n"
 
535
           "modify or change time. (Similar to noatime, but doesn't break mutt or other\n"
 
536
           "applications that need to know if a file has been read since the last time\n"
 
537
           "it was modified.)\n\n"
 
538
           "Since Linux 2.6.30, the kernel defaults to the behavior provided by this\n"
 
539
           "option (unless noatime was specified), and the strictatime option is\n"
 
540
           "required to obtain traditional semantics. In addition, since Linux 2.6.30,\n"
 
541
           "the file's last access time is always updated if it is more than 1 day old."));
536
542
    createChkBox("ro",
537
543
        tr("Mount the filesystem read-only."));
538
544
    createChkBox("rw",
539
545
        tr("Mount the filesystem read-write."));
540
546
    createChkBox("strictatime",
541
 
        tr("Allows to explicitly requesting full atime updates. This makes it possible for\n"
542
 
           "kernel to default to relatime or noatime but still allow userspace to override\n"
543
 
           "it. For more details about the default system mount options see /proc/mounts."));
 
547
        tr("Allows to explicitly requesting full atime updates. This makes it possible\n"
 
548
           "for kernel to default to relatime or noatime but still allow userspace to\n"
 
549
           "override it. For more details about the default system mount options see\n"
 
550
           "/proc/mounts."));
544
551
    createChkBox("suid",
545
552
        tr("Allow set-user-identifier or set-group-identifier bits to take effect."));
546
553
    createChkBox("sync",
547
 
        tr("All I/O to the filesystem should be done synchronously. In case of media with\n"
548
 
           "limited number of write cycles (e.g. some flash drives) 'sync'' may cause\n"
549
 
           "life-cycle shortening."));
 
554
        tr("All I/O to the filesystem should be done synchronously. In case of media\n"
 
555
           "with limited number of write cycles (e.g. some flash drives) 'sync'' may\n"
 
556
           "cause life-cycle shortening."));
550
557
    createChkBox("user",
551
 
        tr("Allow an ordinary user to mount the filesystem. The name of the mounting user\n"
552
 
           "is written to mtab so that he can unmount the filesystem again. This option\n"
553
 
           "implies the options noexec, nosuid, and nodev (unless overridden by subsequent\n"
554
 
           "options, as in the option line user,exec,dev,suid)."));
 
558
        tr("Allow an ordinary user to mount the filesystem. The name of the mounting\n"
 
559
           "user is written to mtab so that he can unmount the filesystem again. This\n"
 
560
           "option implies the options noexec, nosuid, and nodev (unless overridden by\n"
 
561
           "subsequent options, as in the option line user,exec,dev,suid)."));
555
562
}
556
563
 
557
564
void OptionsDlg::fs_btrfs() {
559
566
    OptChkBox*  chkBox;
560
567
 
561
568
    createChkBox("autodefrag",
562
 
        tr("Will detect random writes into existing files and kick off background defragging."));
 
569
        tr("Will detect random writes into existing files and kick off background\n"
 
570
           "defragging."));
563
571
    chkBox = createChkBox("commit=",
564
 
        tr("If checked, right click to change value.\n\n"
565
 
           "Set the interval of periodic commit, 30 seconds by default. Higher values defer\n"
566
 
           "data being synced to permanent storage with obvious consequences when the\n"
567
 
           "system crashes. The upper bound is not forced, but a warning is printed if it's\n"
568
 
           "more than 300 seconds (5 minutes)."));
 
572
        tr("Set the interval of periodic commit, 30 seconds by default. Higher values\n"
 
573
           "defer data being synced to permanent storage with obvious consequences when\n"
 
574
           "the system crashes. The upper bound is not forced, but a warning is printed\n"
 
575
           "if it's more than 300 seconds (5 minutes)."));
569
576
        chkBox->setParamType(pint);
570
577
    chkBox = createChkBox("compress=",
571
 
        tr("If checked, right click to change value.\n\n"
572
 
           "Enable compression. Starting with kernel 2.6.38 you can choose the algorithm for\n"
573
 
           "compression:\n\n"
 
578
        tr("Enable compression. Starting with kernel 2.6.38 you can choose the algorithm\n"
 
579
           "for compression:\n\n"
574
580
           "    compress=zlib - Better compression ratio. It's the default and safe for\n"
575
581
           "                    olders kernels.\n"
576
582
           "    compress=lzo  - Faster compression.\n"
580
586
        chkBox->addValue("lzo");
581
587
        chkBox->addValue("no");
582
588
    createChkBox("discard",
583
 
        tr("Enables discard/TRIM on freed blocks. This can decrease performance on devices\n"
584
 
           "that do not support queued TRIM command, like SATA prior to revision 3.1.\n"
585
 
           "Alternatively, you can run fstrim command periodically."));
 
589
        tr("Enables discard/TRIM on freed blocks. This can decrease performance on\n"
 
590
           "devices that do not support queued TRIM command, like SATA prior to\n"
 
591
           "revision 3.1. Alternatively, you can run fstrim command periodically."));
586
592
    createChkBox("noacl",
587
593
        tr("Do not enable ACL's."));
588
594
    createChkBox("nobarrier",
589
595
        tr("Do not use device barriers. NOTE: Using this option greatly increases the\n"
590
 
           "chances of you experiencing data corruption during a power failure situation.\n"
591
 
           "This means full filesystem corruption, and not just losing or corrupting data\n"
592
 
           "that was being written during a power cut or kernel panic."));
 
596
           "chances of you experiencing data corruption during a power failure\n"
 
597
           "situation. This means full filesystem corruption, and not just losing or\n"
 
598
           "corrupting data that was being written during a power cut or kernel panic."));
593
599
    createChkBox("nodatacow",
594
 
        tr("Do not copy-on-write data for newly created files, existing files are unaffected.\n"
595
 
           "This also turns off checksumming! IOW, nodatacow implies nodatasum. datacow is\n"
596
 
           "used to ensure the user either has access to the old version of a file, or to\n"
597
 
           "the newer version of the file. datacow makes sure we never have partially updated\n"
598
 
           "files written to disk. nodatacow gives slight performance boost by directly\n"
599
 
           "overwriting data (like ext[234]), at the expense of potentially getting partially\n"
600
 
           "updated files on system failures. Performance gain is usually < 5% unless the\n"
601
 
           "workload is random writes to large database files, where the difference can\n"
602
 
           "become very large. NOTE: switches off compression !"));
 
600
        tr("Do not copy-on-write data for newly created files, existing files are\n"
 
601
           "unaffected. This also turns off checksumming! IOW, nodatacow implies\n"
 
602
           "nodatasum. datacow is used to ensure the user either has access to the old\n"
 
603
           "version of a file, or to the newer version of the file. datacow makes sure\n"
 
604
           "we never have partially updated files written to disk. nodatacow gives\n"
 
605
           "slight performance boost by directly overwriting data (like ext[234]), at\n"
 
606
           "the expense of potentially getting partially updated files on system\n"
 
607
           "failures. Performance gain is usually < 5% unless the workload is random\n"
 
608
           "writes to large database files, where the difference can become very large.\n"
 
609
           "NOTE: switches off compression !"));
603
610
    createChkBox("nodatasum",
604
 
        tr("Do not checksum data for newly created files. Means bit flips and bit rot might\n"
605
 
           "go undetected, but allows for slightly faster operation since data checksum\n"
606
 
           "does not have to be calculated. On most modern CPUs this option does not result\n"
607
 
           "in any reasonable performance improvement."));
 
611
        tr("Do not checksum data for newly created files. Means bit flips and bit rot\n"
 
612
           "might go undetected, but allows for slightly faster operation since data\n"
 
613
           "checksum does not have to be calculated. On most modern CPUs this option\n"
 
614
           "does not result in any reasonable performance improvement."));
608
615
    chkBox = createChkBox("subvol=",
609
 
        tr("Mount a subvolume instead of the root subvolume. The subvolume path is relative\n"
610
 
           "to the toplevel subvolume. Note: until kernels 3.2 the subvolume had to be in\n"
611
 
           "the toplevel subvolume. There was a bandaid to specify the parent subvolume\n"
612
 
           "instead of the toplevel via subvolrootid."));
 
616
        tr("Mount a subvolume instead of the root subvolume. The subvolume path is\n"
 
617
           "relative to the toplevel subvolume. Note: until kernels 3.2 the subvolume\n"
 
618
           "had to be in the toplevel subvolume. There was a bandaid to specify the\n"
 
619
           "parent subvolume instead of the toplevel via subvolrootid."));
613
620
        chkBox->setParamType(pstr);
614
621
}
615
622
 
623
630
    createChkBox("auto",
624
631
        tr("Can be mounted with the -a option."));
625
632
    chkBox = createChkBox("cache=",
626
 
        tr("Cache mode. See the section in the mount.cifs man page on CACHE COHERENCY for\n"
627
 
           "details. Allowed values are:\n\n"
 
633
        tr("Cache mode. See the section in the mount.cifs man page on CACHE COHERENCY\n"
 
634
           "for details. Allowed values are:\n\n"
628
635
           "    none: do not cache file data at all\n\n"
629
636
           "    strict: follow the CIFS/SMB2 protocol strictly\n\n"
630
637
           "    loose: allow loose caching semantics\n\n"
631
 
           "The default in kernels prior to 3.7 was 'loose'. As of kernel 3.7 the default\n"
632
 
           "is 'strict'."));
 
638
           "The default in kernels prior to 3.7 was 'loose'. As of kernel 3.7 the\n"
 
639
           "default is 'strict'."));
633
640
        chkBox->setParamType(pitm);
634
641
        chkBox->addValue("none");
635
642
        chkBox->addValue("strict");
636
643
        chkBox->addValue("loose");
637
644
    chkBox = createChkBox("credentials=",
638
 
        tr("Specifies a file that contains a username and/or password and optionally the\n"
639
 
           "name of the workgroup. The format of the file is:\n\n"
 
645
        tr("Specifies a file that contains a username and/or password and optionally\n"
 
646
           "the name of the workgroup. The format of the file is:\n\n"
640
647
           "    username=value\n"
641
648
           "    password=value\n"
642
649
           "    domain=value\n\n"
643
 
           "This is preferred over having passwords in plaintext in a shared file, such as\n"
644
 
           "/etc/fstab. Be sure to protect any credentials file properly."));
 
650
           "This is preferred over having passwords in plaintext in a shared file, such\n"
 
651
           "as /etc/fstab. Be sure to protect any credentials file properly."));
645
652
        chkBox->setParamType(pstr);
646
653
    chkBox = createChkBox("dir_mode=",
647
654
        tr("If the server does not support the CIFS Unix extensions this overrides the\n"
658
665
        chkBox->setParamType(poct);
659
666
    createChkBox("forcegid",
660
667
        tr("Instructs the client to ignore any gid provided by the server for files and\n"
661
 
           "directories and to always assign the owner to be the value of the gid= option.\n"
662
 
           "See the section in the mount.cifs man page on FILE AND DIRECTORY OWNERSHIP AND\n"
663
 
           "PERMISSIONS for more information."));
 
668
           "directories and to always assign the owner to be the value of the gid=\n"
 
669
           "option. See the section in the mount.cifs man page on FILE AND DIRECTORY\n"
 
670
           "OWNERSHIP AND PERMISSIONS for more information."));
664
671
    createChkBox("forceuid",
665
672
        tr("Instructs the client to ignore any uid provided by the server for files and\n"
666
 
           "directories and to always assign the owner to be the value of the uid= option.\n"
667
 
           "See the section in the mount.cifs man page on FILE AND DIRECTORY OWNERSHIP AND\n"
668
 
           "PERMISSIONS for more information."));
 
673
           "directories and to always assign the owner to be the value of the uid=\n"
 
674
           "option. See the section in the mount.cifs man page on FILE AND DIRECTORY\n"
 
675
           "OWNERSHIP AND PERMISSIONS for more information."));
669
676
    chkBox = createChkBox("gid=",
670
 
        tr("Sets the gid that will own all files or directories on the mounted filesystem\n"
671
 
           "when the server does not provide ownership information. It may be specified as\n"
672
 
           "either a groupname or a numeric gid. When not specified, the default is gid 0.\n"
673
 
           "The mount.cifs helper must be at version 1.10 or higher to support specifying\n"
674
 
           "the gid in non-numeric form. See the section in the mount.cifs man page on\n"
675
 
           "FILE AND DIRECTORY OWNERSHIP AND PERMISSIONS for more information."));
 
677
        tr("Sets the gid that will own all files or directories on the mounted\n"
 
678
           "filesystem when the server does not provide ownership information. It may\n"
 
679
           "be specified as either a groupname or a numeric gid. When not specified,\n"
 
680
           "the default is gid 0. The mount.cifs helper must be at version 1.10 or\n"
 
681
           "higher to support specifying the gid in non-numeric form. See the section\n"
 
682
           "in the mount.cifs man page on FILE AND DIRECTORY OWNERSHIP AND PERMISSIONS\n"
 
683
           "for more information."));
676
684
        chkBox->setParamType(pstr);
677
685
    createChkBox("group",
678
 
        tr("Allow an ordinary (i.e., non-root) user to mount the filesystem if one of his\n"
679
 
           "groups matches the group of the device. This option implies the options nosuid\n"
680
 
           "and nodev (unless overridden by subse‐quent options, as in the option line group,\n"
681
 
           "dev,suid)."));
 
686
        tr("Allow an ordinary (i.e., non-root) user to mount the filesystem if one of\n"
 
687
           "his groups matches the group of the device. This option implies the options\n"
 
688
           "nosuid and nodev (unless overridden by subse‐quent options, as in the\n"
 
689
           "option line group,dev,suid)."));
682
690
    createChkBox("guest",
683
691
        tr("Don´t prompt for a password."));
684
692
    createChkBox("hard",
686
694
           "the server crashes."));
687
695
    chkBox = createChkBox("ip=",
688
696
        tr("Sets the destination IP address. This option is set automatically if the\n"
689
 
           "server name portion of the requested UNC name can be resolved so rarely needs\n"
690
 
           "to be specified by the user."));
 
697
           "server name portion of the requested UNC name can be resolved so rarely\n"
 
698
           "needs to be specified by the user."));
691
699
        chkBox->setParamType(pstr);
692
700
    chkBox = createChkBox("netbiosname=",
693
701
        tr("When mounting to servers via port 139, specifies the RFC1001 source name to\n"
703
711
           "(and most cifs servers do not yet support requesting advisory byte range\n"
704
712
           "locks)."));
705
713
    createChkBox("nocase",
706
 
        tr("Request case insensitive path name matching (case sensitive is the default if\n"
707
 
           "the server suports it)."));
 
714
        tr("Request case insensitive path name matching (case sensitive is the default\n"
 
715
           "if the server suports it)."));
708
716
    createChkBox("noexec",
709
717
        tr("Do not allow direct execution of any binaries on the mounted filesystem."));
710
718
    createChkBox("noperm",
711
 
        tr("Client does not do permission checks. This can expose files on this mount to\n"
712
 
           "access by other users on the local client system. It is typically only needed\n"
713
 
           "when the server supports the CIFS Unix Extensions but the UIDs/GIDs on the\n"
714
 
           "client and server system do not match closely enough to allow access by the\n"
715
 
           "user doing the mount. Note that this does not affect the normal ACL check on\n"
716
 
           "the target machine done by the server software (of the server ACL against the\n"
717
 
           "user name provided at mount time)."));
 
719
        tr("Client does not do permission checks. This can expose files on this mount\n"
 
720
           "to access by other users on the local client system. It is typically only\n"
 
721
           "needed when the server supports the CIFS Unix Extensions but the UIDs/GIDs\n"
 
722
           "on the client and server system do not match closely enough to allow access\n"
 
723
           "by the user doing the mount. Note that this does not affect the normal ACL\n"
 
724
           "check on the target machine done by the server software (of the server ACL\n"
 
725
           "against the user name provided at mount time)."));
718
726
    createChkBox("nosetuids",
719
 
        tr("The client will not attempt to set the uid and gid on on newly created files,\n"
720
 
           "directories, and devices (create, mkdir, mknod) which will result in the\n"
721
 
           "server setting the uid and gid to the default (usually the server uid of the\n"
722
 
           "user who mounted the share). Letting the server (rather than the client) set\n"
723
 
           "the uid and gid is the default.If the CIFS Unix Extensions are not negotiated\n"
724
 
           "then the uid and gid for new files will appear to be the uid (gid) of the\n"
725
 
           "mounter or the uid (gid) parameter specified on the mount."));
 
727
        tr("The client will not attempt to set the uid and gid on on newly created\n"
 
728
           "files, directories, and devices (create, mkdir, mknod) which will result in\n"
 
729
           "the server setting the uid and gid to the default (usually the server uid\n"
 
730
           "of the user who mounted the share). Letting the server (rather than the\n"
 
731
           "client) set the uid and gid is the default.If the CIFS Unix Extensions are\n"
 
732
           "not negotiated then the uid and gid for new files will appear to be the uid\n"
 
733
           "(gid) of the mounter or the uid (gid) parameter specified on the mount."));
726
734
    createChkBox("nouser",
727
735
        tr("Forbid an ordinary (i.e., non-root) user to mount the filesystem.\n"
728
736
            "This is the default."));
729
737
    chkBox = createChkBox("password=",
730
 
        tr("Specifies the CIFS password. If this option is not given then the environment\n"
731
 
           "variable PASSWD is used. If the password is not specified directly or\n"
732
 
           "indirectly via an argument to mount, mount.cifs will prompt for a password,\n"
733
 
           "unless the guest option is specified.\n\n"
734
 
           "Note that a password which contains the delimiter character (i.e. a comma ',')\n"
735
 
           "will fail to be parsed correctly on the command line. However, the same\n"
736
 
           "password defined in the PASSWD environment variable or via a credentials file\n"
737
 
           "or entered at the password prompt will be read correctly."));
 
738
        tr("Specifies the CIFS password. If this option is not given then the\n"
 
739
           "environment variable PASSWD is used. If the password is not specified\n"
 
740
           "directly or indirectly via an argument to mount, mount.cifs will prompt for\n"
 
741
           "a password, unless the guest option is specified.\n\n"
 
742
           "Note that a password which contains the delimiter character (i.e. a comma\n"
 
743
           "',') will fail to be parsed correctly on the command line. However, the\n"
 
744
           "same password defined in the PASSWD environment variable or via a\n"
 
745
           "credentials file or entered at the password prompt will be read correctly."));
738
746
        chkBox->setParamType(pstr);
739
747
    createChkBox("perm",
740
 
        tr("Client does permission checks (vfs_permission check of uid and gid of the file\n"
741
 
           "against the mode and desired operation), Note that this is in addition to the\n"
742
 
           "normal ACL check on the target machine done by the server software. Client\n"
743
 
           "permission checking is enabled by default."));
 
748
        tr("Client does permission checks (vfs_permission check of uid and gid of the\n"
 
749
           "file against the mode and desired operation), Note that this is in addition\n"
 
750
           "to the normal ACL check on the target machine done by the server software.\n"
 
751
           "Client permission checking is enabled by default."));
744
752
    chkBox = createChkBox("port=",
745
753
        tr("Sets the port number on which the client will attempt to contact the CIFS\n"
746
 
           "server. If this value is specified, look for an existing connection with this\n"
747
 
           "port, and use that if one exists. If one doesn't exist, try to create a new\n"
748
 
           "connection on that port. If that connection fails, return an error. If this\n"
749
 
           "value isn't specified, look for an existing connection on port 445 or 139. If\n"
750
 
           "no such connection exists, try to connect on port 445 first and then port 139\n"
751
 
           "if that fails. Return an error if both fail."));
 
754
           "server. If this value is specified, look for an existing connection with\n"
 
755
           "this port, and use that if one exists. If one doesn't exist, try to create\n"
 
756
           "a new connection on that port. If that connection fails, return an error.\n"
 
757
           "If this value isn't specified, look for an existing connection on port 445\n"
 
758
           "or 139. If no such connection exists, try to connect on port 445 first and\n"
 
759
           "then port 139 if that fails. Return an error if both fail."));
752
760
        chkBox->setParamType(pint);
753
761
        chkBox->setMinValue(1);
754
762
        chkBox->setMaxValue(65535);
757
765
    createChkBox("rw",
758
766
        tr("Mount read-write."));
759
767
    createChkBox("rwpidforward",
760
 
        tr("Forward pid of a process who opened a file to any read or write operation on\n"
761
 
           "that file. This prevent applications like WINE from failing on read and write\n"
762
 
           "if we use mandatory brlock style."));
 
768
        tr("Forward pid of a process who opened a file to any read or write operation\n"
 
769
           "on that file. This prevent applications like WINE from failing on read and\n"
 
770
           "write if we use mandatory brlock style."));
763
771
    chkBox = createChkBox("sec=",
764
772
        tr("Security mode. Allowed values are:\n\n"
765
773
           "    none - attempt to connection as a null user (no name)\n\n"
769
777
           "    ntlmi - Use NTLM password hashing and force packet signing\n\n"
770
778
           "    ntlmv2 - Use NTLMv2 password hashing\n\n"
771
779
           "    ntlmv2i - Use NTLMv2 password hashing and force packet signing\n\n"
772
 
           "    ntlmssp - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message\n\n"
773
 
           "    ntlmsspi - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP message,\n"
774
 
           "        and force packet signing\n\n"
775
 
           "The default in mainline kernel versions prior to v3.8 was sec=ntlm. In v3.8,\n"
776
 
           "the default was changed to sec=ntlmssp.\n\n"
 
780
           "    ntlmssp - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP\n"
 
781
           "              message\n\n"
 
782
           "    ntlmsspi - Use NTLMv2 password hashing encapsulated in Raw NTLMSSP\n"
 
783
           "               message, and force packet signing\n\n"
 
784
           "The default in mainline kernel versions prior to v3.8 was sec=ntlm. In\n"
 
785
           "v3.8, the default was changed to sec=ntlmssp.\n\n"
777
786
           "If the server requires signing during protocol negotiation, then it may be\n"
778
787
           "enabled automatically. Packet signing may also be enabled automatically if\n"
779
788
           "it's enabled in /proc/fs/cifs/SecurityFlags."));
788
797
        chkBox->addValue("ntlmssp");
789
798
        chkBox->addValue("ntlmsspi");
790
799
    chkBox = createChkBox("servernetbiosname=",
791
 
        tr("Specify the server netbios name (RFC1001 name) to use when attempting to setup\n"
792
 
           "a session to the server. Although rarely needed for mounting to newer servers,\n"
793
 
           "this option is needed for mounting to some older servers (such as OS/2 or\n"
794
 
           "Windows 98 and Windows ME) since when connecting over port 139 they, unlike\n"
795
 
           "most newer servers, do not support a default server name. A server name can be\n"
796
 
           "up to 15 characters long and is usually uppercased."));
 
800
        tr("Specify the server netbios name (RFC1001 name) to use when attempting to\n"
 
801
           "setup a session to the server. Although rarely needed for mounting to newer\n"
 
802
           "servers, this option is needed for mounting to some older servers (such as\n"
 
803
           "OS/2 or Windows 98 and Windows ME) since when connecting over port 139\n"
 
804
           "they, unlike most newer servers, do not support a default server name. A\n"
 
805
           "server name can be up to 15 characters long and is usually uppercased."));
797
806
        chkBox->setParamType(pstr);
798
807
    createChkBox("setuids",
799
808
        tr("If the CIFS Unix extensions are negotiated with the server the client will\n"
800
 
           "attempt to set the effective uid and gid of the local process on newly created\n"
801
 
           "files, directories, and devices (create, mkdir, mknod). If the CIFS Unix\n"
802
 
           "Extensions are not negotiated, for newly created files and directories instead\n"
803
 
           "of using the default uid and gid specified on the the mount, cache the new\n"
804
 
           "file´s uid and gid locally which means that the uid for the file can change\n"
805
 
           "when the inode is reloaded (or the user remounts the share)."));
 
809
           "attempt to set the effective uid and gid of the local process on newly\n"
 
810
           "created files, directories, and devices (create, mkdir, mknod). If the CIFS\n"
 
811
           "Unix Extensions are not negotiated, for newly created files and directories\n"
 
812
           "instead of using the default uid and gid specified on the the mount, cache\n"
 
813
           "the new file´s uid and gid locally which means that the uid for the file\n"
 
814
           "can change when the inode is reloaded (or the user remounts the share)."));
806
815
    createChkBox("soft",
807
816
        tr("(default) The program accessing a file on the cifs mounted file system will\n"
808
817
           "not hang when the server crashes and will return errors to the user\n"
809
818
           "application."));
810
819
    createChkBox("sync",
811
 
        tr("All I/O to the filesystem should be done synchronously. In case of media with\n"
812
 
           "limited number of write cycles (e.g. some flash drives) 'sync' may cause\n"
813
 
           "life-cycle shortening."));
 
820
        tr("All I/O to the filesystem should be done synchronously. In case of media\n"
 
821
           "with limited number of write cycles (e.g. some flash drives) 'sync' may\n"
 
822
           "cause life-cycle shortening."));
814
823
    chkBox = createChkBox("uid=",
815
 
        tr("Sets the uid that will own all files or directories on the mounted filesystem\n"
816
 
           "when the server does not provide ownership information. It may be specified as\n"
817
 
           "either a username or a numeric uid. When not specified, the default is uid 0.\n"
818
 
           "The mount.cifs helper must be at version 1.10 or higher to support specifying\n"
819
 
           "the uid in non-numeric form. See the section in the mount.cifs man page on\n"
820
 
           "FILE AND DIRECTORY OWNERSHIP AND PERMISSIONS for more information."));
 
824
        tr("Sets the uid that will own all files or directories on the mounted\n"
 
825
           "filesystem when the server does not provide ownership information. It may\n"
 
826
           "be specified as either a username or a numeric uid. When not specified,\n"
 
827
           "the default is uid 0. The mount.cifs helper must be at version 1.10 or\n"
 
828
           "higher to support specifying the uid in non-numeric form. See the section\n"
 
829
           "in the mount.cifs man page on FILE AND DIRECTORY OWNERSHIP AND PERMISSIONS\n"
 
830
           "for more information."));
821
831
        chkBox->setParamType(pstr);
822
832
    createChkBox("user",
823
 
        tr("Allow an ordinary user to mount the filesystem. The name of the mounting user\n"
824
 
           "is written to mtab so that he can unmount the filesystem again. This option\n"
825
 
           "implies the options noexec, nosuid, and nodev (unless overridden by subsequent\n"
826
 
           "options, as in the option line user,exec,dev,suid)."));
 
833
        tr("Allow an ordinary user to mount the filesystem. The name of the mounting\n"
 
834
           "user is written to mtab so that he can unmount the filesystem again. This\n"
 
835
           "option implies the options noexec, nosuid, and nodev (unless overridden by\n"
 
836
           "subsequent options, as in the option line user,exec,dev,suid)."));
827
837
    chkBox = createChkBox("username=",
828
838
        tr("Specifies the username to connect as. If this is not given, then the\n"
829
839
           "environment variable USER is used.\n\n"
830
 
           "Earlier versions of mount.cifs also allowed one to specify the username in a\n"
831
 
           "'user%password' or 'workgroup/user' or 'workgroup/user%password' to allow the\n"
832
 
           "password and workgroup to be specified as part of the username. Support for\n"
833
 
           "those alternate username formats is now deprecated and should no longer be\n"
834
 
           "used. Users should use the discrete 'password=' and 'domain=' to specify those\n"
835
 
           "values. While some versions of the cifs kernel module accept 'user=' as an\n"
836
 
           "abbreviation for this option, its use can confuse the standard mount program\n"
837
 
           "into thinking that this is a non-superuser mount. It is therefore recommended\n"
838
 
           "to use the full 'username=' option name."));
 
840
           "Earlier versions of mount.cifs also allowed one to specify the username in\n"
 
841
           "a 'user%password' or 'workgroup/user' or 'workgroup/user%password' to allow\n"
 
842
           "the password and workgroup to be specified as part of the username. Support\n"
 
843
           "for those alternate username formats is now deprecated and should no longer\n"
 
844
           "be used. Users should use the discrete 'password=' and 'domain=' to specify\n"
 
845
           "those values. While some versions of the cifs kernel module accept 'user='\n"
 
846
           "as an abbreviation for this option, its use can confuse the standard mount\n"
 
847
           "program into thinking that this is a non-superuser mount. It is therefore\n"
 
848
           "recommended to use the full 'username=' option name."));
839
849
        chkBox->setParamType(pstr);
840
850
    chkBox = createChkBox("vers=",
841
851
        tr("SMB protocol version. Allowed values are:\n\n"
842
852
           "    1.0 - The classic CIFS/SMBv1 protocol. This is the default.\n\n"
843
853
           "    2.0 - The SMBv2.002 protocol. This was initially introduced in Windows\n"
844
 
           "        Vista Service Pack 1, and Windows Server 2008. Note that the initial\n"
845
 
           "        release version of Windows Vista spoke a slightly different dialect\n"
846
 
           "        (2.000) that is not supported.\n\n"
847
 
           "    2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and\n"
848
 
           "        Windows Server 2008R2.\n\n"
849
 
           "    3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and\n"
850
 
           "        Windows Server 2012.\n\n"
 
854
           "          Vista Service Pack 1, and Windows Server 2008. Note that the\n"
 
855
           "          initial release version of Windows Vista spoke a slightly\n"
 
856
           "          different dialect (2.000) that is not supported.\n\n"
 
857
           "    2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7\n"
 
858
           "          and Windows Server 2008R2.\n\n"
 
859
           "    3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8\n"
 
860
           "          and Windows Server 2012.\n\n"
851
861
           "Note too that while this option governs the protocol version used, not all\n"
852
862
           "features of each version are available."));
853
863
        chkBox->setParamType(pitm);
864
874
    createChkBox("acl",
865
875
        tr("Support POSIX Access Control Lists."));
866
876
    chkBox = createChkBox("errors=",
867
 
        tr("Define the behaviour when an error is encountered. (Either ignore errors and\n"
868
 
           "just mark the filesystem erroneous and continue, or remount the filesystem\n"
869
 
           "read-only, or panic and halt the system.) The default is set in the filesystem\n"
870
 
           "superblock, and can be changed using tune2fs(8)."));
 
877
        tr("Define the behaviour when an error is encountered. (Either ignore errors\n"
 
878
           "and just mark the filesystem erroneous and continue, or remount the\n"
 
879
           "filesystem read-only, or panic and halt the system.) The default is set\n"
 
880
           "in the filesystem superblock, and can be changed using tune2fs(8)."));
871
881
        chkBox->setParamType(pitm);
872
882
        chkBox->addValue("continue");
873
883
        chkBox->addValue("remount-ro");
887
897
    createChkBox("acl",
888
898
        tr("Enable POSIX Access Control Lists. See the acl(5) manual page."));
889
899
    chkBox = createChkBox("barrier=",
890
 
        tr("This  enables/disables barriers. barrier=0 disables it, barrier=1 enables it.\n"
891
 
           "Write barriers enforce proper on-disk ordering of journal commits, making\n"
892
 
           "volatile disk write caches safe to use, at some performance penalty. The ext3\n"
893
 
           "filesystem does not enable write barriers by default. Be sure to enable\n"
894
 
           "barriers unless your disks are battery-backed one way or another. Otherwise\n"
895
 
           "you risk filesystem corruption in case of power failure."));
 
900
        tr("This  enables/disables barriers. barrier=0 disables it, barrier=1 enables\n"
 
901
           "it. Write barriers enforce proper on-disk ordering of journal commits,\n"
 
902
           "making volatile disk write caches safe to use, at some performance penalty.\n"
 
903
           "The ext3 filesystem does not enable write barriers by default. Be sure to\n"
 
904
           "enable barriers unless your disks are battery-backed one way or another.\n"
 
905
           "Otherwise you risk filesystem corruption in case of power failure."));
896
906
        chkBox->setParamType(pitm);
897
907
        chkBox->addValue("0");
898
908
        chkBox->addValue("1");
899
909
    chkBox = createChkBox("commit=",
900
 
        tr("Sync all data and metadata every n sec seconds. The default value is 5 seconds.\n"
901
 
           "Zero means default."));
 
910
        tr("Sync all data and metadata every n sec seconds. The default value is 5\n"
 
911
           "seconds. Zero means default."));
902
912
        chkBox->setParamType(pint);
903
913
        chkBox->setMinValue(0);
904
914
        chkBox->setMaxValue(0);
905
915
    chkBox = createChkBox("data=",
906
916
        tr("Specifies the journalling mode for file data. Metadata is always journaled.\n"
907
 
           "To use modes other than ordered on the root filesystem, pass the mode to the\n"
908
 
           "kernel as boot parameter, e.g. root-flags=data=journal.\n\n"
 
917
           "To use modes other than ordered on the root filesystem, pass the mode to\n"
 
918
           "the kernel as boot parameter, e.g. root-flags=data=journal.\n\n"
909
919
           "journal\n"
910
920
           "    All data is committed into the journal prior to being written into the\n"
911
921
           "    main filesystem.\n\n"
923
933
        chkBox->addValue("ordered");
924
934
        chkBox->addValue("ordered");
925
935
    chkBox = createChkBox("errors=",
926
 
        tr("Define the behaviour when an error is encountered. (Either ignore errors and\n"
927
 
           "just mark the filesystem erroneous and continue, or remount the filesystem\n"
928
 
           "read-only, or panic and halt the system.) The default is set in the filesystem\n"
929
 
           "superblock, and can be changed using tune2fs(8)."));
 
936
        tr("Define the behaviour when an error is encountered. (Either ignore errors\n"
 
937
           "and just mark the filesystem erroneous and continue, or remount the\n"
 
938
           "filesystem read-only, or panic and halt the system.) The default is set in\n"
 
939
           "the filesystem superblock, and can be changed using tune2fs(8)."));
930
940
        chkBox->setParamType(pitm);
931
941
        chkBox->addValue("continue");
932
942
        chkBox->addValue("remount-ro");
947
957
        tr("Enable POSIX Access Control Lists. See the acl(5) manual page."));
948
958
    chkBox = createChkBox("barrier=",
949
959
        tr("This enables/disables the use of write barriers in the jbd code. barrier=0\n"
950
 
           "disables, barrier=1 enables. This also requires an IO stack which can support\n"
951
 
           "barriers, and if jbd gets an error on a barrier write, it will disable again\n"
952
 
           "with a warning. Write barriers enforce proper on-disk ordering of journal\n"
953
 
           "commits, making volatile disk write caches safe to use, at some performance\n"
954
 
           "penalty. If your disks are battery-backed in one way or another, disabling\n"
955
 
           "barriers may safely improve performance. The mount options 'barrier' and\n"
956
 
           "'nobarrier' can also be used to enable or disable barriers, for consistency\n"
957
 
           "with other ext4 mount options.\n\n"
 
960
           "disables, barrier=1 enables. This also requires an IO stack which can\n"
 
961
           "support barriers, and if jbd gets an error on a barrier write, it will\n"
 
962
           "disable again with a warning. Write barriers enforce proper on-disk\n"
 
963
           "ordering of journal commits, making volatile disk write caches safe to\n"
 
964
           "use, at some performance penalty. If your disks are battery-backed in one\n"
 
965
           "way or another, disabling barriers may safely improve performance. The\n"
 
966
           "mount options 'barrier' and 'nobarrier' can also be used to enable or\n"
 
967
           "disable barriers, for consistency with other ext4 mount options.\n\n"
958
968
           "The ext4 filesystem enables write barriers by default."));
959
969
        chkBox->setParamType(pitm);
960
970
        chkBox->addValue("0");
961
971
        chkBox->addValue("1");
962
972
    chkBox = createChkBox("commit=",
963
 
        tr("Sync all data and metadata every n sec seconds. The default value is 5 seconds.\n"
964
 
           "Zero means default."));
 
973
        tr("Sync all data and metadata every n sec seconds. The default value is 5\n"
 
974
           "seconds. Zero means default."));
965
975
        chkBox->setParamType(pint);
966
976
        chkBox->setMinValue(0);
967
977
        chkBox->setMaxValue(0);
968
978
    chkBox = createChkBox("data=",
969
 
        tr("Specifies the journalling mode for file data. Metadata is always journaled. To\n"
970
 
           "use modes other than ordered on the root filesystem, pass the mode to the\n"
971
 
           "kernel as boot parameter, e.g. root-flags=data=journal.\n\n"
 
979
        tr("Specifies the journalling mode for file data. Metadata is always journaled.\n"
 
980
           "To use modes other than ordered on the root filesystem, pass the mode to\n"
 
981
           "the kernel as boot parameter, e.g. root-flags=data=journal.\n\n"
972
982
           "journal\n"
973
983
           "    All data is committed into the journal prior to being written into the\n"
974
984
           "    main filesystem.\n\n"
990
1000
    createChkBox("noacl",
991
1001
        tr("Do not support POSIX Access Control Lists."));
992
1002
    createChkBox("nodelalloc",
993
 
        tr("Disable delayed allocation. Blocks are allocated when data is copied from user\n"
994
 
           "to page cache."));
 
1003
        tr("Disable delayed allocation. Blocks are allocated when data is copied from\n"
 
1004
           "user to page cache."));
995
1005
    createChkBox("nouser_xattr",
996
1006
        tr("Do not support 'user' extended attribute"));
997
1007
    chkBox = createChkBox("errors=",
998
 
        tr("Define the behaviour when an error is encountered. (Either ignore errors and\n"
999
 
           "just mark the filesystem erroneous and continue, or remount the filesystem\n"
1000
 
           "read-only, or panic and halt the system.) The default is set in the filesystem\n"
1001
 
           "superblock, and can be changed using tune2fs(8)."));
 
1008
        tr("Define the behaviour when an error is encountered. (Either ignore errors\n"
 
1009
           "and just mark the filesystem erroneous and continue, or remount the\n"
 
1010
           "filesystem read-only, or panic and halt the system.) The default is set in\n"
 
1011
           "the filesystem superblock, and can be changed using tune2fs(8)."));
1002
1012
        chkBox->setParamType(pitm);
1003
1013
        chkBox->addValue("continue");
1004
1014
        chkBox->addValue("remount-ro");
1005
1015
        chkBox->addValue("panic");
1006
1016
    createChkBox("journal_checksum",
1007
 
        tr("Enable checksumming of the journal transactions. This will allow the recovery\n"
1008
 
           "code in e2fsck and the kernel to detect corruption in the kernel. It is a\n"
1009
 
           "compatible change and will be ignored by older kernels."));
 
1017
        tr("Enable checksumming of the journal transactions. This will allow the\n"
 
1018
           "recovery code in e2fsck and the kernel to detect corruption in the kernel.\n"
 
1019
           "It is a compatible change and will be ignored by older kernels."));
1010
1020
    chkBox = createChkBox("max_batch_time=",
1011
 
        tr("Maximum amount of time ext4 should wait for additional filesystem operations\n"
1012
 
           "to be batch together with a synchronous write operation. Since a synchronous\n"
1013
 
           "write operation is going to force a commit and  then  a  wait  for the I/O\n"
1014
 
           "complete, it doesn't cost much, and can be a huge throughput win, we wait for\n"
1015
 
           "a small amount of time to see if any other transactions can piggyback on the\n"
1016
 
           "synchronous write. The algorithm used is designed to automatically tune for\n"
1017
 
           "the speed of the disk, by measuring the amount of time (on average) that it\n"
1018
 
           "takes to finish committing a transaction. Call this time the 'commit time'.\n"
1019
 
           "If the time that the transaction has been running is less than the commit\n"
1020
 
           "time, ext4 will try sleeping for the commit time to see if other operations\n"
1021
 
           "will join the transaction. The commit time is capped by the max_batch_time,\n"
1022
 
           "which defaults to 15000us (15ms). This optimization can be turned off entirely\n"
1023
 
           "by setting max_batch_time to 0."));
 
1021
        tr("Maximum amount of time ext4 should wait for additional filesystem\n"
 
1022
           "operations to be batch together with a synchronous write operation.\n"
 
1023
           "Since a synchronous write operation is going to force a commit and\n"
 
1024
           "then a wait for the I/O complete, it doesn't cost much, and can be a\n"
 
1025
           "huge throughput win, we wait for a small amount of time to see if any\n"
 
1026
           "other transactions can piggyback on the synchronous write. The algorithm\n"
 
1027
           "used is designed to automatically tune for the speed of the disk, by\n"
 
1028
           "measuring the amount of time (on average) that it takes to finish\n"
 
1029
           "committing a transaction. Call this time the 'commit time'. If the time\n"
 
1030
           "that the transaction has been running is less than the commit time, ext4\n"
 
1031
           "will try sleeping for the commit time to see if other operations will\n"
 
1032
           "join the transaction. The commit time is capped by the max_batch_time,\n"
 
1033
           "which defaults to 15000us (15ms). This optimization can be turned off\n"
 
1034
           "entirely by setting max_batch_time to 0."));
1024
1035
        chkBox->setParamType(pint);
1025
1036
        chkBox->setMinValue(0);
1026
1037
        chkBox->setMaxValue(0);
1043
1054
    chkBox = createChkBox("check=",
1044
1055
        tr("Three different levels of pickyness can be chosen:\n\n"
1045
1056
           "    relaxed\n"
1046
 
           "        Upper and lower case are accepted and equivalent, long name parts are\n"
1047
 
           "        truncated (e.g. verylongname.foobar becomes verylong.foo), leading and\n"
1048
 
           "        embedded spaces are accepted in each name part (name and extension).\n\n"
 
1057
           "        Upper and lower case are accepted and equivalent, long name parts\n"
 
1058
           "        are truncated (e.g. verylongname.foobar becomes verylong.foo),\n"
 
1059
           "        leading and embedded spaces are accepted in each name part (name\n"
 
1060
           "        and extension).\n\n"
1049
1061
           "    normal\n"
1050
 
           "        Like 'relaxed', but many special characters (*, ?, <, spaces, etc.) are\n"
1051
 
           "        rejected. This is the default.\n\n"
 
1062
           "        Like 'relaxed', but many special characters (*, ?, <, spaces, etc.)\n"
 
1063
           "        are rejected. This is the default.\n\n"
1052
1064
           "    strict\n"
1053
1065
           "        Like 'normal', but names may not contain long parts and special\n"
1054
 
           "        characters that are sometimes used on Linux, but are not accepted by\n"
1055
 
           "        MS-DOS are rejected. (+, =, spaces, etc.)"));
 
1066
           "        characters that are sometimes used on Linux, but are not accepted\n"
 
1067
           "        by MS-DOS are rejected. (+, =, spaces, etc.)"));
1056
1068
        chkBox->setParamType(pitm);
1057
1069
        chkBox->addValue("relaxed");
1058
1070
        chkBox->addValue("normal");
1062
1074
           "current process. The value is given in octal."));
1063
1075
        chkBox->setParamType(poct);
1064
1076
    createChkBox("flush",
1065
 
        tr("If set, the filesystem will try to flush to disk more early than normal. Not\n"
1066
 
           "set by default."));
 
1077
        tr("If set, the filesystem will try to flush to disk more early than normal.\n"
 
1078
           "Not set by default."));
1067
1079
    chkBox = createChkBox("fmask=",
1068
 
        tr("Set the umask applied to regular files only. The default is the umask of the\n"
1069
 
           "current process. The value is given in octal."));
 
1080
        tr("Set the umask applied to regular files only. The default is the umask of\n"
 
1081
           "the current process. The value is given in octal."));
1070
1082
        chkBox->setParamType(poct);
1071
1083
    chkBox = createChkBox("gid=",
1072
1084
        tr("Set the group of all files.  (Default: the gid of the current process.)"));
1077
1089
        tr("If set, the execute permission bits of the file will be allowed only if the\n"
1078
1090
           "extension part of the name is .EXE, .COM, or .BAT. Not set by default."));
1079
1091
    createChkBox("tz=UTC",
1080
 
        tr("This option disables the conversion of timestamps between local time (as used\n"
1081
 
           "by Windows on FAT) and UTC  (which Linux uses internally). This is particularly\n"
1082
 
           "useful when mounting devices (like digital cameras) that are set to UTC in\n"
1083
 
           "order to avoid the pitfalls of local time."));
 
1092
        tr("This option disables the conversion of timestamps between local time (as\n"
 
1093
           "used by Windows on FAT) and UTC  (which Linux uses internally). This is\n"
 
1094
           "particularly useful when mounting devices (like digital cameras) that are\n"
 
1095
           "set to UTC in order to avoid the pitfalls of local time."));
1084
1096
    chkBox = createChkBox("uid=",
1085
1097
        tr("Set the owner of all files.  (Default: the uid of the current process.)"));
1086
1098
        chkBox->setParamType(pint);
1099
1111
    chkBox = createChkBox("check=",
1100
1112
        tr("Three different levels of pickyness can be chosen:\n\n"
1101
1113
           "    relaxed\n"
1102
 
           "        Upper and lower case are accepted and equivalent, long name parts are\n"
1103
 
           "        truncated (e.g. verylongname.foobar becomes verylong.foo), leading and\n"
1104
 
           "        embedded spaces are accepted in each name part (name and extension).\n\n"
 
1114
           "        Upper and lower case are accepted and equivalent, long name parts\n"
 
1115
           "        are truncated (e.g. verylongname.foobar becomes verylong.foo),\n"
 
1116
           "        leading and embedded spaces are accepted in each name part (name\n"
 
1117
           "        and extension).\n\n"
1105
1118
           "    normal\n"
1106
 
           "        Like 'relaxed', but many special characters (*, ?, <, spaces, etc.) are\n"
1107
 
           "        rejected. This is the default.\n\n"
 
1119
           "        Like 'relaxed', but many special characters (*, ?, <, spaces, etc.)\n"
 
1120
           "        are rejected. This is the default.\n\n"
1108
1121
           "    strict\n"
1109
1122
           "        Like 'normal', but names may not contain long parts and special\n"
1110
 
           "        characters that are sometimes used on Linux, but are not accepted by\n"
1111
 
           "        MS-DOS are rejected. (+, =, spaces, etc.)"));
 
1123
           "        characters that are sometimes used on Linux, but are not accepted\n"
 
1124
           "        by MS-DOS are rejected. (+, =, spaces, etc.)"));
1112
1125
        chkBox->setParamType(pitm);
1113
1126
        chkBox->addValue("relaxed");
1114
1127
        chkBox->addValue("normal");
1118
1131
           "current process. The value is given in octal."));
1119
1132
        chkBox->setParamType(poct);
1120
1133
    createChkBox("flush",
1121
 
        tr("If set, the filesystem will try to flush to disk more early than normal. Not\n"
1122
 
           "set by default."));
 
1134
        tr("If set, the filesystem will try to flush to disk more early than normal.\n"
 
1135
           "Not set by default."));
1123
1136
    chkBox = createChkBox("fmask=",
1124
 
        tr("Set the umask applied to regular files only. The default is the umask of the\n"
1125
 
           "current process. The value is given in octal."));
 
1137
        tr("Set the umask applied to regular files only. The default is the umask of\n"
 
1138
           "the current process. The value is given in octal."));
1126
1139
        chkBox->setParamType(poct);
1127
1140
    chkBox = createChkBox("gid=",
1128
1141
        tr("Set the group of all files.  (Default: the gid of the current process.)"));
1134
1147
           "name~num.ext."));
1135
1148
    chkBox = createChkBox("shortname=",
1136
1149
        tr("Defines the behaviour for creation and display of filenames which fit into\n"
1137
 
           "8.3 characters. If a long name for a file exists, it will always be preferred\n"
1138
 
           "display. There are four modes:\n\n"
 
1150
           "8.3 characters. If a long name for a file exists, it will always be\n"
 
1151
           "preferred display. There are four modes:\n\n"
1139
1152
           "lower\n"
1140
 
           "      Force the short name to lower case upon display; store a long name when\n"
1141
 
           "      the short name is not all upper case.\n\n"
 
1153
           "    Force the short name to lower case upon display; store a long name\n"
 
1154
           "    when the short name is not all upper case.\n\n"
1142
1155
           "win95\n"
1143
 
           "      Force the short name to upper case upon display; store a long name when\n"
1144
 
           "      the short name is not all upper case.\n\n"
 
1156
           "    Force the short name to upper case upon display; store a long name\n"
 
1157
           "    when the short name is not all upper case.\n\n"
1145
1158
           "winnt\n"
1146
 
           "      Display the shortname as is; store a long name when the short name is\n"
1147
 
           "      not all lower case or all upper case.\n\n"
 
1159
           "    Display the shortname as is; store a long name when the short name is\n"
 
1160
           "    not all lower case or all upper case.\n\n"
1148
1161
           "mixed\n"
1149
 
           "      Display the short name as is; store a long name when the short name is\n"
1150
 
           "      not all upper case. This mode is the default since Linux 2.6.32."));
 
1162
           "    Display the short name as is; store a long name when the short name\n"
 
1163
           "    is not all upper case. This mode is the default since Linux 2.6.32."));
1151
1164
        chkBox->setParamType(pitm);
1152
1165
        chkBox->addValue("lower");
1153
1166
        chkBox->addValue("win95");
1157
1170
        tr("If set, the execute permission bits of the file will be allowed only if the\n"
1158
1171
           "extension part of the name is .EXE, .COM, or .BAT. Not set by default."));
1159
1172
    createChkBox("tz=UTC",
1160
 
        tr("This option disables the conversion of timestamps between local time (as used\n"
1161
 
           "by Windows on FAT) and UTC  (which Linux uses internally). This is particularly\n"
1162
 
           "useful when mounting devices (like digital cameras) that are set to UTC in\n"
1163
 
           "order to avoid the pitfalls of local time."));
 
1173
        tr("This option disables the conversion of timestamps between local time (as\n"
 
1174
           "used by Windows on FAT) and UTC  (which Linux uses internally). This is\n"
 
1175
           "particularly useful when mounting devices (like digital cameras) that are\n"
 
1176
           "set to UTC in order to avoid the pitfalls of local time."));
1164
1177
    chkBox = createChkBox("uid=",
1165
1178
        tr("Set the owner of all files.  (Default: the uid of the current process.)"));
1166
1179
        chkBox->setParamType(pint);
1171
1184
           "default is the umask of the current process. The value is given in octal."));
1172
1185
        chkBox->setParamType(poct);
1173
1186
    createChkBox("uni_xlate",
1174
 
        tr("Translate unhandled Unicode characters to special escaped sequences. This lets\n"
1175
 
           "you backup and restore filenames that are created with any Unicode characters.\n"
1176
 
           "Without this option, a '?' is used when no translation is possible. The escape\n"
1177
 
           "character is ':' because it is otherwise illegal on the vfat filesystem. The\n"
1178
 
           "escape sequence that gets used, where u is the unicode character, is: ':',\n"
1179
 
           "(u & 0x3f), ((u>>6) & 0x3f), (u>>12)."));
 
1187
        tr("Translate unhandled Unicode characters to special escaped sequences. This\n"
 
1188
           "lets you backup and restore filenames that are created with any Unicode\n"
 
1189
           "characters. Without this option, a '?' is used when no translation is\n"
 
1190
           "possible. The escape character is ':' because it is otherwise illegal on\n"
 
1191
           "the vfat filesystem. The escape sequence that gets used, where u is the\n"
 
1192
           "unicode character, is: ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12)."));
1180
1193
    createChkBox("utf8",
1181
1194
        tr("UTF8 is the filesystem safe 8-bit encoding of Unicode that is used by the\n"
1182
1195
           "console. It can be enabled for the filesystem with this option."));
1190
1203
    OptChkBox   *chkBox;
1191
1204
 
1192
1205
    chkBox = createChkBox("gid=",
1193
 
        tr("Set the file permission on the filesystem. By default, the files are owned by\n"
1194
 
           "root and not readable by somebody else."));
 
1206
        tr("Set the file permission on the filesystem. By default, the files are owned\n"
 
1207
           "by root and not readable by somebody else."));
1195
1208
        chkBox->setParamType(pint);
1196
1209
        chkBox->setMinValue(0);
1197
1210
        chkBox->setMaxValue(0);
1198
1211
    chkBox = createChkBox("uid=",
1199
 
        tr("Set the file permission on the filesystem. By default, the files are owned by\n"
1200
 
           "root and not readable by somebody else."));
 
1212
        tr("Set the file permission on the filesystem. By default, the files are owned\n"
 
1213
           "by root and not readable by somebody else."));
1201
1214
        chkBox->setParamType(pint);
1202
1215
        chkBox->setMinValue(0);
1203
1216
        chkBox->setMaxValue(0);
1204
1217
    chkBox = createChkBox("umask=",
1205
 
        tr("Set the file permission on the filesystem. The umask value is given in octal.\n"
1206
 
           "By default, the files are owned by root and not readable by somebody else."));
 
1218
        tr("Set the file permission on the filesystem. The umask value is given in\n"
 
1219
           "octal. By default, the files are owned by root and not readable by somebody\n"
 
1220
           "else."));
1207
1221
    chkBox->setParamType(poct);
1208
1222
    chkBox = createChkBox("uni_xlate=",
1209
 
        tr("For 0, do not use escape sequences for unknown Unicode characters. For 1 or 2,\n"
1210
 
           "use vfat-style 4-byte escape sequences starting with ':'. Here 2 give a\n"
 
1223
        tr("For 0, do not use escape sequences for unknown Unicode characters. For 1 or\n"
 
1224
           "2, use vfat-style 4-byte escape sequences starting with ':'. Here 2 give a\n"
1211
1225
           "little-endian encoding and 1 a byteswapped bigendian encoding."));
1212
1226
        chkBox->setParamType(pitm);
1213
1227
        chkBox->addValue("0");
1222
1236
    OptChkBox   *chkBox;
1223
1237
 
1224
1238
    chkBox = createChkBox("hash=",
1225
 
        tr("{Choose which hash function reiserfs will use to find files within directories.\n\n"
 
1239
        tr("Choose which hash function reiserfs will use to find files within\n"
 
1240
           "directories.\n\n"
1226
1241
           "    rupasov\n"
1227
 
           "        A hash invented by Yury Yu. Rupasov. It is fast and preserves locality,\n"
1228
 
           "        mapping lexicographically close file names to close hash values. This\n"
1229
 
           "        option should not be used, as it causes a high probability of hash\n"
1230
 
           "        collisions.\n\n"
 
1242
           "        A hash invented by Yury Yu. Rupasov. It is fast and preserves\n"
 
1243
           "        locality, mapping lexicographically close file names to close hash\n"
 
1244
           "        values. This option should not be used, as it causes a high\n"
 
1245
           "        probability of hash collisions.\n\n"
1231
1246
           "    tea\n"
1232
 
           "        A Davis-Meyer function implemented by Jeremy Fitzhardinge. It uses hash\n"
1233
 
           "        permuting bits in the name. It gets high randomness and, therefore, low\n"
1234
 
           "        probability of hash collisions at some CPU cost. This may be used if\n"
1235
 
           "        EHASHCOLLISION errors are experienced with the r5 hash.\n\n"
 
1247
           "        A Davis-Meyer function implemented by Jeremy Fitzhardinge. It uses\n"
 
1248
           "        hash permuting bits in the name. It gets high randomness and,\n"
 
1249
           "        therefore, low probability of hash collisions at some CPU cost.\n"
 
1250
           "        This may be used if EHASHCOLLISION errors are experienced with the\n"
 
1251
           "        r5 hash.\n\n"
1236
1252
           "    r5\n"
1237
 
           "        A modified version of the rupasov hash. It is used by default and is\n"
1238
 
           "        the best choice unless the filesystem has huge directories and unusual\n"
1239
 
           "        file-name patterns.\n\n"
 
1253
           "        A modified version of the rupasov hash. It is used by default and\n"
 
1254
           "        is the best choice unless the filesystem has huge directories and\n"
 
1255
           "        unusual file-name patterns.\n\n"
1240
1256
           "    detect\n"
1241
 
           "        Instructs mount to detect which hash function is in use by examining the\n"
1242
 
           "        filesystem being mounted, and to write this information into the reiserfs\n"
1243
 
           "        superblock. This is only useful on the first mount of an old format filesystem."));
 
1257
           "        Instructs mount to detect which hash function is in use by\n"
 
1258
           "        examining the filesystem being mounted, and to write this\n"
 
1259
           "        information into the reiserfs superblock. This is only useful\n"
 
1260
           "        on the first mount of an old format filesystem."));
1244
1261
        chkBox->setParamType(pitm);
1245
1262
        chkBox->addValue("rupasov");
1246
1263
        chkBox->addValue("tea");
1247
1264
        chkBox->addValue("r5");
1248
1265
        chkBox->addValue("detect");
1249
1266
    createChkBox("hashed_relocation",
1250
 
        tr("Tunes the block allocator. This may provide performance improvements in some\n"
1251
 
           "situations."));
 
1267
        tr("Tunes the block allocator. This may provide performance improvements in\n"
 
1268
           "some situations."));
1252
1269
    createChkBox("noborder",
1253
 
        tr("Disable the border allocator algorithm invented by Yury Yu. Rupasov. This may\n"
1254
 
           "provide  performance improvements in some situations."));
 
1270
        tr("Disable the border allocator algorithm invented by Yury Yu. Rupasov. This\n"
 
1271
           "may provide  performance improvements in some situations."));
1255
1272
    createChkBox("notail",
1256
 
        tr("By default, reiserfs stores small files and `file tails' directly into its tree.\n"
1257
 
           "This confuses some utilities such as LILO(8). This option is used to disable\n"
1258
 
           "packing of files into the tree."));
 
1273
        tr("By default, reiserfs stores small files and `file tails' directly into its\n"
 
1274
           "tree. This confuses some utilities such as LILO(8). This option is used to\n"
 
1275
           "disable packing of files into the tree."));
1259
1276
    createChkBox("no_unhashed_relocation",
1260
 
        tr("Tunes the block allocator. This may provide performance improvements in some\n"
1261
 
           "situations."));
 
1277
        tr("Tunes the block allocator. This may provide performance improvements in\n"
 
1278
           "some situations."));
1262
1279
}
1263
1280
 
1264
1281
void OptionsDlg::fs_xfs() {
1265
1282
    createChkBox("barrier",
1266
 
        tr("Enables the use of block layer write barriers for writes into the journal and\n"
1267
 
           "unwritten extent conversion. This allows for drive level write caching to be\n"
1268
 
           "enabled, for devices that support write barriers."));
 
1283
        tr("Enables the use of block layer write barriers for writes into the journal\n"
 
1284
           "and unwritten extent conversion. This allows for drive level write caching\n"
 
1285
           "to be enabled, for devices that support write barriers."));
1269
1286
    createChkBox("grpid",
1270
1287
        tr("These options define what group ID a newly created file gets. When grpid is\n"
1271
 
           "set, it takes the group ID of the directory in which it is created; otherwise\n"
1272
 
           "(the default) it takes the fsgid of the current  process, unless the directory\n"
1273
 
           "has the setgid bit set, in which case it takes the gid from the parent\n"
1274
 
           "directory, and also gets the setgid bit set if it is a directory itself."));
 
1288
           "set, it takes the group ID of the directory in which it is created;\n"
 
1289
           "otherwise (the default) it takes the fsgid of the current  process, unless\n"
 
1290
           "the directory has the setgid bit set, in which case it takes the gid from\n"
 
1291
           "the parent directory, and also gets the setgid bit set if it is a directory\n"
 
1292
           "itself."));
1275
1293
    createChkBox("nogrpid",
1276
1294
        tr("These options define what group ID a newly created file gets. When grpid is\n"
1277
 
           "set, it takes the group ID of the directory in which it is created; otherwise\n"
1278
 
           "(the default) it takes the fsgid of the current  process, unless the directory\n"
1279
 
           "has the setgid bit set, in which case it takes the gid from the parent\n"
1280
 
           "directory, and also gets the setgid bit set if it is a directory itself."));
 
1295
           "set, it takes the group ID of the directory in which it is created;\n"
 
1296
           "otherwise (the default) it takes the fsgid of the current  process, unless\n"
 
1297
           "the directory has the setgid bit set, in which case it takes the gid from\n"
 
1298
           "the parent directory, and also gets the setgid bit set if it is a directory\n"
 
1299
           "itself."));
1281
1300
    createChkBox("osyncisosync",
1282
1301
        tr("Make O_SYNC writes implement true O_SYNC. WITHOUT this option, Linux XFS\n"
1283
 
           "behaves as if an osyncisdsync option is used, which will make writes to files\n"
1284
 
           "opened with the O_SYNC flag set behave as if the O_DSYNC flag had been used\n"
1285
 
           "instead. This can result in better performance without compromising data\n"
1286
 
           "safety. However if this option is not in effect, timestamp updates from O_SYNC\n"
1287
 
           "writes can be lost if the system crashes. If timestamp updates are critical,\n"
1288
 
           "use the osyncisosync option."));
 
1302
           "behaves as if an osyncisdsync option is used, which will make writes to\n"
 
1303
           "files opened with the O_SYNC flag set behave as if the O_DSYNC flag had\n"
 
1304
           "been used instead. This can result in better performance without\n"
 
1305
           "compromising data safety. However if this option is not in effect,\n"
 
1306
           "timestamp updates from O_SYNC writes can be lost if the system crashes.\n"
 
1307
           "If timestamp updates are critical, use the osyncisosync option."));
1289
1308
}
1290
1309
 
1291
1310
void OptionsDlg::fs_swap() {
1293
1312
    OptChkBox   *chkBox;
1294
1313
 
1295
1314
    createChkBox("discard",
1296
 
        tr("Discard freed swap pages before they are reused, if the swap device supports\n"
1297
 
           "the discard or trimoperation. This may improve performance on some Solid State\n"
1298
 
           "Devices, but often it  does  not."));
 
1315
        tr("Discard freed swap pages before they are reused, if the swap device\n"
 
1316
           "supports the discard or trimoperation. This may improve performance\n"
 
1317
           "on some Solid State Devices, but often it  does  not."));
1299
1318
    createChkBox("nofail",
1300
1319
        tr("Silently skip devices that do not exist."));
1301
1320
    chkBox = createChkBox("pri=",
1302
 
        tr("Specify the priority of the swap device. priority is a value between 0 and 32767.\n"
1303
 
           "Higher numbers indicate higher priority. See swapon(2) for a full description of\n"
1304
 
           "swap priorities."));
 
1321
        tr("Specify the priority of the swap device. priority is a value between 0 and\n"
 
1322
           "32767. Higher numbers indicate higher priority. See swapon(2) for a full\n"
 
1323
           "description of swap priorities."));
1305
1324
        chkBox->setParamType(pint);
1306
1325
        chkBox->setMinValue(0);
1307
1326
        chkBox->setMaxValue(32767);