--- zzzz-none-000/linux-2.6.28.10/fs/fat/inode.c 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/fs/fat/inode.c 2011-06-09 08:57:44.000000000 +0000 @@ -828,6 +828,8 @@ seq_puts(m, ",flush"); if (opts->tz_utc) seq_puts(m, ",tz=UTC"); + if (opts->tz_minuteswest) + seq_puts(m, ",minuteswest="); return 0; } @@ -840,7 +842,7 @@ Opt_charset, Opt_shortname_lower, Opt_shortname_win95, Opt_shortname_winnt, Opt_shortname_mixed, Opt_utf8_no, Opt_utf8_yes, Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no, Opt_nonumtail_yes, - Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_rodir, Opt_err, + Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_tz_minuteswest, Opt_rodir, Opt_err, }; static const match_table_t fat_tokens = { @@ -876,6 +878,7 @@ {Opt_obsolate, "posix"}, {Opt_flush, "flush"}, {Opt_tz_utc, "tz=UTC"}, + {Opt_tz_minuteswest, "minuteswest=%d"}, {Opt_err, NULL}, }; static const match_table_t msdos_tokens = { @@ -945,6 +948,7 @@ opts->numtail = 1; opts->usefree = opts->nocase = 0; opts->tz_utc = 0; + opts->tz_minuteswest = 0; *debug = 0; if (!options) @@ -1037,6 +1041,10 @@ case Opt_tz_utc: opts->tz_utc = 1; break; + case Opt_tz_minuteswest: + if (match_int(&args[0], &option)) + opts->tz_minuteswest = &option; + break; /* msdos specific */ case Opt_dots: