//
//  %Z% %I% %W% %G% %U%
//
//  ZZ_Copyright_BEGIN
//
//
//  Licensed Materials - Property of IBM
//
//  IBM Linear Tape File System Single Drive Edition Version 2.2.0.2 for Linux and Mac OS X
//
//  Copyright IBM Corp. 2010, 2014
//
//  This file is part of the IBM Linear Tape File System Single Drive Edition for Linux and Mac OS X
//  (formally known as IBM Linear Tape File System)
//
//  The IBM Linear Tape File System Single Drive Edition for Linux and Mac OS X is free software;
//  you can redistribute it and/or modify it under the terms of the GNU Lesser
//  General Public License as published by the Free Software Foundation,
//  version 2.1 of the License.
//
//  The IBM Linear Tape File System Single Drive Edition for Linux and Mac OS X is distributed in the
//  hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
//  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//  See the GNU Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//  or download the license from <http://www.gnu.org/licenses/>.
//
//
//  ZZ_Copyright_END
//

// Messages for the main ltfs application (src/main.c, src/ltfs_fuse.c).
root:table {
	messages:table {
		start_id:int { 14000 }
		end_id:int { 14499 }

		14000I:string { "LTFS starting, %s version %s, log level %d" }
		14001E:string { "Cannot enable FUSE option %s (%d)" }
		14002E:string { "Cannot set up permissions (%d)" }
		14003E:string { "min_pool_size (%d) cannot be greater than max_pool_size (%d)" }
		14004E:string { "Cannot create work directory (%d)" }
		14005E:string { "Path \'%s\' exists, but is not a directory" }
		14006E:string { "Invalid umask \'%s\' (must be 3 octal digits, such as 022)" }
		14007E:string { "Invalid fmask \'%s\' (must be 3 octal digits, such as 022)" }
		14008E:string { "Invalid dmask \'%s\' (must be 3 octal digits, such as 022)" }
		14009E:string { "The backend \'%s\' does not have a default device. Specify one using the \"-o devname=\" option." }
		//unused 14010E:string { "Cannot load I/O scheduler \'%s\'" }
		14011E:string { "Cannot allocate LTFS volume structure" }
		14012E:string { "Tape backend option parsing failed" }
		14013E:string { "Cannot mount the volume" }
		//unused 14014E:string { "Cannot duplicate index criteria" }
		14015W:string { "Volume does not allow index criteria override. Ignoring user-specified criteria." }
		14016E:string { "Cannot format data placement rules (%d)" }
		14017E:string { "Cannot parse data placement rules (%d)" }
		14018E:string { "Cannot get read-only status of the medium" }
		14019I:string { "Medium is write protected. Mounting read-only." }
		//unused 14020E:string { "The data placement rules must be 255 characters or less." }
		//unused 14021E:string { "The data placement rules contain invalid characters" }
		14022E:string { "Cannot flush file data to the medium. Data might be lost (%s)." }
		14023E:string { "Cannot set extended attribute: position option must be zero" }
		14024E:string { "Cannot get extended attribute: position option must be zero" }
		//unused 14025D:string { "Cannot read directory: no file handle provided" }
		14026D:string { "Cannot read directory: no buffer space" }
		14027E:string { "Cannot read directory: convert to system locale failed (%s, %d)" }
		14028W:string { "Cannot initialize I/O scheduler. The scheduler is disabled. Performance might decrease and memory usage might increase." }
		14029I:string { "Ready to receive file system requests" }
		14030D:string { "FUSE fgetattr for \'%s\'" }
		14031D:string { "FUSE getattr for \'%s\'" }
		14032D:string { "FUSE open file \'%s\' (%s)" }
		14033D:string { "FUSE open directory \'%s\'" }
		14034D:string { "FUSE release directory \'%s\'" }
		14035D:string { "FUSE release file \'%s\'" }
		14036D:string { "FUSE fsync \'%s\'" }
		14037D:string { "FUSE flush \'%s\'" }
		14038D:string { "FUSE set times \'%s\'" }
		14039D:string { "FUSE chmod \'%s\'" }
		14040D:string { "FUSE create file \'%s\'" }
		14041D:string { "FUSE mkdir \'%s\'" }
		14042D:string { "FUSE truncate \'%s\' (length=%lld)" }
		14043D:string { "FUSE ftruncate \'%s\' (length=%lld)" }
		14044D:string { "FUSE unlink \'%s\'" }
		14045D:string { "FUSE rmdir \'%s\'" }
		14046D:string { "FUSE rename \'%s\' to \'%s\'" }
		14047D:string { "FUSE readdir \'%s\'" }
		14048D:string { "FUSE write \'%s\' (offset=%lld, count=%zu)" }
		14049D:string { "FUSE read \'%s\' (offset=%lld, count=%zu)" }
		14050D:string { "FUSE setxattr \'%s\' (name=\'%s\', size=%zu)" }
		14051D:string { "FUSE getxattr \'%s\' (name=\'%s\')" }
		14052D:string { "FUSE listxattr \'%s\'" }
		14053D:string { "FUSE removexattr \'%s\' (name=\'%s\')" }
		14054E:string { "Failed to load tape drive plug-in (%d)" }
		14055E:string { "Failed to load I/O scheduler plug-in (%d)" }
		14056E:string { "No driver plug-in configured and no default found" }
		14057E:string { "Failed to load kmi plug-in (%d)" }
		14058I:string { "%s version %s" }
		//unused 14059E:string { "No changer plug-in configured and no default found" }
		14060E:string { "Failed to convert the sync time (%s)" }
		14061E:string { "Unknown type of sync (%s)" }
		14062E:string { "Cannot mount. Sync time must be a non-zero positive number." }
		14063I:string { "Sync type is \"%s\", Sync time is %ld sec" }
		14064I:string { "Sync type is \"%s\"" }
		14065E:string { "Unexpected sync type (%d)" }
		//unused 14066E:string { "Sync time should be a positive value" }
		14067E:string { "Failed to convert the sync time because it is too big or too small (%s)" }
		14068E:string { "Specified sync time is too big or too small (%ld)" }
		//unused 14069E:string { "Failed to load changer plug-in (%d)" }
		//unused 14070E:string { "The backend \'%s\' does not have a default device. Specify one using the \"-o changer_devname=\" option." }
		14071I:string { "Medium has no space to write data. Mounting as read-only." }
		14072I:string { "Rollback mount is specified. Mounting as read-only at generation %d." }
		14073I:string { "Index partition has no space to write index. Mounting as read-only." }
		14074I:string { "Data partition has no space to write index. Mounting as read-only." }
		14075E:string { "Cannot set up tape drive" }
		14076I:string { "Attempting to mount the cartridge without EOD existence check" }
		14077I:string { "The cartridge will be mounted as read-only" }
		// unused 14078E:string { "CM in the cartridge might be corrupted. Try to run ltfs with the \"-o force_mount_no_eod\" option." }
		14079E:string { "Invalid uid \'%s\' (must be a positive integer or valid user name)" }
		14080E:string { "Invalid gid \'%s\' (must be a positive integer or valid group name)" }
		//unused 14081E:string { "Failed to create a dentry cache view for cartridge \"%s\"" }
		//unused 14082E:string { "Failed to enable dentry cache for cartridge \"%s\"" }
		//unused 14083E:string { "Failed to remove existing dentry cache for cartridge \"%s\" (%d)" }
		//unused 14084E:string { "Failed to load the dentry cache module (%d)" }
		//unused 14085E:string { "Could not initialize the dentry cache manager (%d)" }
		//unused 14086E:string { "Could not configure the dentry cache manager (%d)" }
		//unused 14087E:string { "Failed to unload the dentry cache module (%d)" }
		//unused 14088E:string { "Failed to destroy the dentry cache manager (%d)" }
		14089E:string { "Could not initialize the kmi plug-in." }
		14090E:string { "KMI backend option parsing failed" }
		14091E:string { "Invalid generation for rollback mount is specified. %s." }
		14092I:string { "Symbolic link type is (%s)" }
		14093E:string { "Unknown type of symbolic link (%s)" }
		14094E:string { "Cannot get mount point (%d)" }
		14095I:string { "Set the tape device write-anywhere mode to avoid cartridge ejection" }

		//unused 14100W:string { "The device name specified with \'-o devname\' is ignored in library mode" }
		//unused 14101W:string { "The eject option is not available in library mode" }
		//unused 14102E:string { "Time-based sync is not available in library mode" }
		//unused 14103E:string { "Cannot specify both a single drive name and a changer device name" }
		14104I:string { "Launched by \"%s\"" }
		14105I:string { "%s" }
		14106I:string { "GCC version is %s" }
		//unused 14107W:string { "d->dentry_proxy is NULL unexpectedly: %s" }
		//unused 14108E:string { "The single drive feature is not supported in this binary." }
		14109E:string { "Minimum pool size must be a positive number" }
		14110E:string { "Maximum pool size must be a positive number" }
		14111I:string { "Initial setup completed successfully" }
		14112I:string { "Invoke 'mount' command to check the result of final setup" }
		14113I:string { "Specified mount point is listed if succeeded" }
		14114E:string { "Cannot initialize the open file table" }
		14115E:string { "Invalid scsi_append_only_mode option: %s" }
		14116E:string { "This medium is not supported (%d)" }  // 2.2.0.2
		14117W:string { "Ignored setting modify and access time to 0" }
		14118I:string { "Incompatible medium. Mounting read-only." }

		// 14150 - 14199 are reserved for LE+
		
		14200E:string { "Missing mountpoint parameter" }
		14201E:string { "Mountpoint \"%s\" specified but not accessible" }		

		// Help messages
		14400I:string { "usage: %s mountpoint [options]" }
		14401I:string { "LTFS options:" }
		14402I:string { "    -o devname=<dev>          Tape device (default: %s)" }
		14403I:string { "    -o devname=<dev>          Tape device" }
		14404I:string { "    -o work_directory=<dir>   LTFS work directory (default: %s)" }
		14405I:string { "    -o trace                  Enable diagnostic output (same as verbose=3)" }
		14406I:string { "    -a                        Advanced help, including standard FUSE options"}
		14407I:string { "    -V, --version             Output version information and exit" }
		14408I:string { "    -h, --help                Display this help and exit" }
		14409I:string { "FUSE options:" }
		14410I:string { "    -o umask=M                Set file permissions (octal)" }
		14411I:string { "    -o uid=N                  Set file owner" }
		14412I:string { "    -o gid=N                  Set file group" }
		14413I:string { "    -o config_file=<file>     Configuration file (default: %s)" }
		14414I:string { "    -o atime                  Update index if only access times have changed" }
		14415I:string { "    -o tape_backend=<name>    tape backend to use (default: %s)" }
		14416I:string { "    -o iosched_backend=<name> I/O scheduler implementation to use (default: %s, use \"none\" to disable)" }
		14417I:string { "    -o umask=<mode>           Override default permission mask (3 octal digits, default: 000)" }
		14418I:string { "    -o fmask=<mode>           Override file permission mask (3 octal digits, default: 000)" }
		14419I:string { "    -o dmask=<mode>           Override directory permission mask (3 octal digits, default: 000)" }
		14420I:string { "    -o min_pool_size=<num>    Minimum write cache pool size. Cache objects are 1 MB each (default: %d)" }
		14421I:string { "    -o max_pool_size=<num>    Maximum write cache pool size. Cache objects are 1 MB each (default: %d)" }
		14422I:string { "    -o rules=<rules>          Rules for choosing files to write to the index partition.\n"
				   		"                              The syntax of the rule argument is:\n"
						"                              size=1M\n"
						"                              size=1M/name=pattern\n"
						"                              size=1M/name=pattern1:pattern2:pattern3\n"
						"                              A file is written to the index partition if it is no larger\n"
						"                              than the given size AND matches at least one of the name\n"
						"                              patterns (if specified). The size argument accepts K, M, and G\n"
						"                              suffixes. Name patterns might contain the special characters\n"
						"                              '?' (match any single character) and '*' (match zero or more\n"
						"                              characters)." }
		14423I:string { "    -o quiet                  Disable informational messages (same as verbose=1)" }
		14424I:string { "    -o fulltrace              Enable full call tracing (same as verbose=4)" }
		14425I:string { "    -o eject                  Eject the cartridge after unmount" }
		// Reserved 14426I
		14427I:string { "    -o sync_type=<type>       Specify sync type (default: time@5)\n"
				        "                              <type> should be specified as follows:\n"
						"                              time@min:  LTFS attempts to write an index each 'min' minutes.\n"
						"                                         min should be a decimal number from 1 to %ld\n"
						"                                         It is equivalent to \"-o sync_type=unmount\" when 0 is specified\n"
						"                                         (default: min=5)\n"
						"                              close:     LTFS attempts to write an index when a file is closed\n"
						"                              unmount:   LTFS attempts to write an index when the medium is unmounted" }

		// Reserved 14428I
		// Reserved 14429I
		// Reserved 14430I
		// Reserved 14431E
		// Reserved 14432I
		// Reserved 14433E
		// Reserved 14434E
		// Reserved 14435I
		14436I:string { "    -o device_list            Show available tape devices" }
		14437I:string { "    -o rollback_mount=<gen>   Attempt to mount on previous index generation (read-only mount)" }
		// Reserved 14438I
		14439I:string { "    -o noeject                Do not eject the cartridge after unmount (default)" }
		14440I:string { "    -o noatime                Do not update index if only access times have changed (default)" }
		14441I:string { "    -o verbose=<num>          Override output verbosity directly (default: %d)" }
		// Reserved 14442I
		14443I:string { "    -o force_mount_no_eod     Skip EOD existence check when mounting (read-only mount)\n"
                        "                              Only use for a CM corrupted medium" }
		// Reserved 14444I
		// Reserved 14445I
		// Reserved 14446I
		// Reserved 14447I
		14448I:string { "    -o release_device         Clear device reservation (should be specified with -o devname"}
		// Reserved 14449I
		// Reserved 14450I
		// Reserved 14451I
		// Reserved 14454I
		14455I:string { "    -o kmi_backend=<name>     Key manager interface implementation to use (default: %s, use \"none\" to disable)" }
		14456I:string { "    -o capture_index          Capture latest index to work directory at unmount" }
		// Reserved 14457I
		// Reserved 14458I
		// Reserved 14459I
		// Reserved 14460I
		14461I:string { "    -o symlink_type=<type>    Specify symbolic link type (default: posix)\n"
				        "                              <type> should be specified with one of the following values:\n"
						"                              posix:  LTFS behavior is same as standard symbolic link\n"
						"                              live:   LTFS replaces mount point path by current mount point" }
		// Reserved 14462I
		14463I:string { "    -o scsi_append_only_mode=<on|off>  Set the tape device append-only mode (default=on)" }
		14464I:string { "%s version %s (build %d)" } // Used by HPE-SOS
		// Reserved 14465I
		// Reserved 14466I
		14467I:string { "    -o syslogtrace            Enable diagnostic output to stderr and syslog(same as verbose=303)" }
		// Reserved 14468I // 2.2.0.2
		
		// Added for windows as currently we are not supporting sync_type as close
		14480I:string { "    -o sync_type=<type>       Specify sync type (default: time@5)\n"
				        "                              <type> should be specified as follows:\n"
						"                              time@min:  LTFS attempts to write an index each 'min' minutes.\n"
						"                                         min should be a decimal number from 1 to %ld\n"
						"                                         It is equivalent to \"-o sync_type=unmount\" when 0 is specified\n"
						"                                         (default: min=5)\n"
						"                              unmount:   LTFS attempts to write an index when the medium is unmounted" }
		14481I:string { "The Permanent write error bit is set in MAM " }
		14482E:string { "Failed to find a valid index from either partition to do a read-only mount as PWE is set in MAM" }
        14483I:string { "The Data Partition Permanent write error bit is set in MAM " }
		14484E:string { "Failed to find a valid index from either partition to do a read-only mount as DPPWE is set in MAM" }
        14485I:string { "The Index Partition Permanent write error bit is set in MAM " }
		14486E:string { "Failed to find a valid index from either partition to do a read-only mount as IPPWE is set in MAM" }
        14487I:string { "The Data and Index Partition Permanent write error bit is set in MAM " }
		14488E:string { "Failed to find a valid index from either partition to do a read-only mount as DP_IP_PWE is set in MAM" }
		14489E:string { "Unable to mount, out of memory or mutexes" }
	}
}
