On 6/29/24 12:30 PM, Eric Sandeen wrote: > This short series converts the fat/vfat/msdos filesystem to use the > new mount API. > > I've tested it with a hacky shell script found at > > https://gist.github.com/sandeen/3492a39c3f2bf16d1ccdd2cd1c681ccd > > which tries every possible option, including some with invalid values, > on both vfat and msdos mounts. It then tests random combinations of > 2, 3, and 4 options, including possibly invalid options. > > I captured stdout from two runs with and without these modifications, > and the results are identical. > > As patch 2 notes, I left codepage loading to fill_super(), rather than > validating codepage options as they are parsed. This is because i.e. > > mount -o "iocharset=nope,iocharset=iso8859-1" > > passes today, due to the last iocharset option being the only one that is > loaded. It might be nice to validate such options as they are parsed, but > doing so would make the above command line fail, so I'm not sure if it's > a good idea. I do have a patch to validate as we parse, if that's desired. > > Lastly, this does not yet use the proposed uid/gid parsing helpers, since > that is not yet merged. > > Thanks, > -Eric Just realized that one thing I missed is that in current code, fs-specific options are not parsed at all on remount. With this change, invalid options are rejected. I'll send a V2 of patch 2 which short-circuits option parsing for a remount and completely ignores options. (Sorry, I'm famous for sitting on a patch for weeks, then realizing the one thing I forgot as soon as I send it.) Thanks, -Eric