printk(KERN_ERR "FAT: Unrecognized mount option \"%s\" " "or missing value\n", p); 
if (!silent) { printk(KERN_ERR "FAT: Unrecognized mount option \"%s\" " "or missing value\n", p); } 
static int parse_options(char *options, int is_vfat, int *debug,			 struct fat_mount_options *opts){	char *p;	substring_t args[MAX_OPT_ARGS];	int option;	char *iocharset;	opts->isvfat = is_vfat;	opts->fs_uid = current->uid;	opts->fs_gid = current->gid;	opts->fs_fmask = opts->fs_dmask = current->fs->umask;	opts->codepage = fat_default_codepage;	opts->iocharset = fat_default_iocharset;	if (is_vfat)		opts->shortname = VFAT_SFN_DISPLAY_LOWER|VFAT_SFN_CREATE_WIN95;	else		opts->shortname = 0;	opts->name_check = 'n';	opts->quiet = opts->showexec = opts->sys_immutable = opts->dotsOK =  0;	opts->utf8 = opts->unicode_xlate = 0;	opts->numtail = 1;	opts->nocase = 0;	*debug = 0;	if (!options)		return 0;	while ((p = strsep(&options, ",")) != NULL) {		int token;		if (!*p)			continue;		token = match_token(p, fat_tokens, args);		if (token == Opt_err) {			if (is_vfat)				token = match_token(p, vfat_tokens, args);			else				token = match_token(p, msdos_tokens, args);		}		switch (token) {		case Opt_check_s:			opts->name_check = 's';			break;		case Opt_check_r:			opts->name_check = 'r';			break;		case Opt_check_n:			opts->name_check = 'n';			break;		case Opt_nocase:			if (!is_vfat)				opts->nocase = 1;			else {				/* for backward compatibility */				opts->shortname = VFAT_SFN_DISPLAY_WIN95					| VFAT_SFN_CREATE_WIN95;			}			break;		case Opt_quiet:			opts->quiet = 1;			break;		case Opt_showexec:			opts->showexec = 1;			break;		case Opt_debug:			*debug = 1;			break;		case Opt_immutable:			opts->sys_immutable = 1;			break;		case Opt_uid:			if (match_int(&args[0], &option))				return 0;			opts->fs_uid = option;			break;		case Opt_gid:			if (match_int(&args[0], &option))				return 0;			opts->fs_gid = option;			break;		case Opt_umask:			if (match_octal(&args[0], &option))				return 0;			opts->fs_fmask = opts->fs_dmask = option;			break;		case Opt_dmask:			if (match_octal(&args[0], &option))				return 0;			opts->fs_dmask = option;			break;		case Opt_fmask:			if (match_octal(&args[0], &option))				return 0;			opts->fs_fmask = option;			break;		case Opt_codepage:			if (match_int(&args[0], &option))				return 0;			opts->codepage = option;			break;		/* msdos specific */		case Opt_dots:			opts->dotsOK = 1;			break;		case Opt_nodots:			opts->dotsOK = 0;			break;		/* vfat specific */		case Opt_charset:			if (opts->iocharset != fat_default_iocharset)				kfree(opts->iocharset);			iocharset = match_strdup(&args[0]);			if (!iocharset)				return -ENOMEM;			opts->iocharset = iocharset;			break;		case Opt_shortname_lower:			opts->shortname = VFAT_SFN_DISPLAY_LOWER					| VFAT_SFN_CREATE_WIN95;			break;		case Opt_shortname_win95:			opts->shortname = VFAT_SFN_DISPLAY_WIN95					| VFAT_SFN_CREATE_WIN95;			break;		case Opt_shortname_winnt:			opts->shortname = VFAT_SFN_DISPLAY_WINNT					| VFAT_SFN_CREATE_WINNT;			break;		case Opt_shortname_mixed:			opts->shortname = VFAT_SFN_DISPLAY_WINNT					| VFAT_SFN_CREATE_WIN95;			break;		case Opt_utf8_no:		/* 0 or no or false */			opts->utf8 = 0;			break;		case Opt_utf8_yes:		/* empty or 1 or yes or true */			opts->utf8 = 1;			break;		case Opt_uni_xl_no:		/* 0 or no or false */			opts->unicode_xlate = 0;			break;		case Opt_uni_xl_yes:		/* empty or 1 or yes or true */			opts->unicode_xlate = 1;			break;		case Opt_nonumtail_no:		/* 0 or no or false */			opts->numtail = 1;	/* negated option */			break;		case Opt_nonumtail_yes:		/* empty or 1 or yes or true */			opts->numtail = 0;	/* negated option */			break;		/* obsolete mount options */		case Opt_obsolate:			printk(KERN_INFO "FAT: \"%s\" option is obsolete, "			       "not supported now\n", p);			break;		/* unknown option */		default:			printk(KERN_ERR "FAT: Unrecognized mount option \"%s\" "			       "or missing value\n", p);			return -EINVAL;		}	}	/* UTF8 doesn't provide FAT semantics */	if (!strcmp(opts->iocharset, "utf8")) {		printk(KERN_ERR "FAT: utf8 is not a recommended IO charset"		       " for FAT filesystems, filesystem will be case sensitive!\n");	}	if (opts->unicode_xlate)		opts->utf8 = 0;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/41a34a4fe1d4478b1c8b6b6ea634ab1adb156885/inode.c/clean/fs/fat/inode.c