On Friday 18 October 2019 15:18:39 Konstantin Komarov wrote: > Recently exFAT filesystem specification has been made public by Microsoft > (https://docs.microsoft.com/en-us/windows/win32/fileio/exfat-specification). > Having decades of expertise in commercial file systems development, we at > Paragon Software GmbH are very excited by Microsoft's decision and now want > to make our contribution to the Open Source Community by providing our > implementation of exFAT Read-Only (yet!) fs implementation for the Linux > Kernel. > We are about to prepare the Read-Write support patch as well.
Hi Konstantin! Do you have any plan when you provide also R/W support? > 'fs/exfat' is implemented accordingly to standard Linux fs development > approach with no use/addition of any custom API's. > To divide our contribution from 'drivers/staging' submit of Aug'2019, our > Kconfig key is "EXFAT_RO_FS" > > Signed-off-by: Konstantin Komarov <[email protected]> > --- > MAINTAINERS | 6 + > fs/Kconfig | 3 +- > fs/exfat/Kconfig | 31 ++ > fs/exfat/Makefile | 9 + > fs/exfat/bitmap.c | 117 +++++ > fs/exfat/cache.c | 483 ++++++++++++++++++ > fs/exfat/debug.h | 69 +++ > fs/exfat/dir.c | 610 +++++++++++++++++++++++ > fs/exfat/exfat.h | 248 ++++++++++ > fs/exfat/exfat_fs.h | 388 +++++++++++++++ > fs/exfat/fatent.c | 79 +++ > fs/exfat/file.c | 93 ++++ > fs/exfat/inode.c | 317 ++++++++++++ > fs/exfat/namei.c | 154 ++++++ > fs/exfat/super.c | 1145 +++++++++++++++++++++++++++++++++++++++++++ > fs/exfat/upcase.c | 344 +++++++++++++ > 16 files changed, 4095 insertions(+), 1 deletion(-) > create mode 100644 fs/exfat/Kconfig > create mode 100644 fs/exfat/Makefile > create mode 100644 fs/exfat/bitmap.c > create mode 100644 fs/exfat/cache.c > create mode 100644 fs/exfat/debug.h > create mode 100644 fs/exfat/dir.c > create mode 100644 fs/exfat/exfat.h > create mode 100644 fs/exfat/exfat_fs.h > create mode 100644 fs/exfat/fatent.c > create mode 100644 fs/exfat/file.c > create mode 100644 fs/exfat/inode.c > create mode 100644 fs/exfat/namei.c > create mode 100644 fs/exfat/super.c > create mode 100644 fs/exfat/upcase.c Also have you considered to to re-use fs/fat sources instead? It is possible or there is nothing in fs/fat which could be reused or refactored/extracted? > diff --git a/fs/exfat/super.c b/fs/exfat/super.c > new file mode 100644 > index 000000000000..0705dab3c3fc > --- /dev/null > +++ b/fs/exfat/super.c ... > +/* inits internal info from on-disk boot sector*/ > +static int exfat_init_from_boot(struct super_block *sb, struct exfat_boot > *boot, > + u64 bytes_per_volume, u32 *root_lcn) > +{ ... > + if (boot->fats != 1) { > + hint = "This version of exfat driver does not support TexFat"; > + goto out; > + } Are you going to add support also for TexFAT? Or at least for more two FAT tables (like is used in FAT32)? -- Pali Rohár [email protected]

