exFAT
Pages: 1 2
Greg (2474) 144 posts |
It seems like every man and his dog are moving towards exFAT and leaving FAT32 and its cousins behind. I think therefore it would be beneficial if we could have exFAT built in as standard and leave FAT32 as a seperate app as this seems to be falling out of fashion now. My reasoning is it seems like there are a number of things that could be considered a standard that RISC OS still struggles with, or is unable to do, exFAT being one such thing. I do understand that finaces are thin on the ground and yes I massively appreciate everybodies hard work on keeping RISC OS going but I do believe we shouldnt have to consider what format something is before we plug in. Today I was moving some files around between 2 hard drives and RISC OS failed me I had to use my mobile phone…. Anybodies thoughts on this Greg |
Rick Murray (539) 13840 posts |
Really? I don’t think I have one single exFAT device. The big harddiscs are NTFS and the smaller things (SD cards etc) are FAT32.
…only you will find that you probably need to install packages to get Linux to understand exFAT. Why? Because although a GPL implementation exists (which makes it difficult for RISC OS), exFAT is actually a patent encumbered format, and Microsoft does enforce their patents when they think it useful. The date of expiry of the first set of patents on exFAT is sometime in 2024.
Says who? There’s still plenty of life in “smaller” SD cards of the 16/32GB sizes. One might also wonder if there wasn’t some “irregularities” taking place with the SD alliance mandating that 64GB SD cards use a non-open format.
I wonder if it wouldn’t serve RISC OS better to look at porting support for either NTFS or ext# to aid with Windows/Linux interoperability.
Use a standard format? ;-)
I’d use my PC. Quicker than any RISC OS device. |
Chris Mahoney (1684) 2165 posts |
I’d like to see exFAT support, but when I mentioned it a few months ago there was no interest (someone even asked whether I was joking). It seems to be the only modern format supported by both big commercial OSes (Windows and MacOS) without third-party software.
Once RISC OS is added to the mix, none of these formats can be used. I’m stuck with FAT32, which has a fairly low file size limit and therefore I have to use a separate ExFAT drive when moving video files around (ProRes files can easily be over 100 GB). It would be great to be able to use the same format for everything.
I was under the impression that software typically isn’t patentable under UK law.. I certainly don’t know the specifics around this though, and I’m too lazy to check :) |
Rick Murray (539) 13840 posts |
I believe that to be correct; but the caveat here is the moment something containing an “unlicensed” implementation is supplied to a person in a more screwed up jurisdiction, UK law ceases to be relevant. BTW, doesn’t Filecore currently have a 4GB object size limit? |
Chris Mahoney (1684) 2165 posts |
I think you’re right, but I also think it’s possible to avoid this limit when using alternative filing systems like FAT32/exFAT/HFS since they’re not FileCore-based. |
Colin Ferris (399) 1814 posts |
Seems that FAT32 has a 4GB max file size and 8TB max partition size. exFAT seems to be available for Linux – so some lib files may be available for other OS’s. |
Greg (2474) 144 posts |
It seems like I stand corrected haha I have always been led to believe that exFAT was the more popular over NTFS for things such as big hard discs. However it still stands that RISC OS fails to OR struggles to recognise anything other than FAT32 aside ADFS obviously and I thought that maybe RISC OS could benefit from these other formats.
I agree on this, Ive found it impossible to copy of my phone a video 4.5GB onto a FAT32 USB Drive |
Rick Murray (539) 13840 posts |
Ditto. For an ISO image (4.4GB I think), I formatted an SD card as NTFS. It is my understanding that NTFS consumes vast amounts of memory. I recall there was a plan to add NTFS support to my PVR, but with 32MB RAM (64 really but half is given to the DSP), there just wasn’t enough memory to get it working. Of course, this was from years ago. I can only imagine things are worse now that consumer drives have pushed the terabyte boundary. |
Greg (2474) 144 posts |
I use 2 2TB USB HDD for backing up my phone and Iyonix / PI2. The 1st one RISC OS wouldnt read it, obviously formatted to something other than FAT32, so proceeded to format it to FAT32. Been fine every since. The 2nd one, bought a couple of years later, however RISC OS refused to format it to FAT32 and left it unreadable so decided to format using my Galaxy S6 phone. It is now unreadable by RISC OS. I can still back up my Iyonix / PI2 stuff onto this drive, I just have to do it via a FAT32 USB stick which my phone will read. Hence my wish for RISC OS to have the ability for exFAT or maybe in this case it is NTFS. It would be nice not to have to muck around |
Steve Pampling (1551) 8170 posts |
Extra facilities/features1 in NTFS cause extra memory requirements. There are quite a few articles around like this which was among the first few in a quick search. Most of the features are of more use on a system drive than a removable data storage device. 1 Journalling being one such feature. |
Steffen Huber (91) 1953 posts |
Unfortunately, the 4 GiB (minus a few KiBs) object size limit is deeply rooted in FileSwitch, which means every filing system on RISC OS will suffer from it. CDFS, NFS, LanManFS, FileCore, CloudFS…you name it. |
Chris Mahoney (1684) 2165 posts |
Ugh. It seems that that would need to be resolved first; going to exFAT while still having the same file size limit as FAT32 would be of little benefit. I suppose that this is one of those “really hard” things too! |
Chris Evans (457) 1614 posts |
I now almost nothing of Filing Systems but wonder why EXT (EXT2, 3 or 4) hasn’t been mentioned! |
Rick Murray (539) 13840 posts |
Uh… Fourth reply part of the second message. ;-) |
Chris Evans (457) 1614 posts |
Ah sorry! I’d missed your reference and thought Chris M’s ‘Extx’ was was yet another Filing System, there does seem to be a few! |
Chris Mahoney (1684) 2165 posts |
I made the “x” italic but admittedly it isn’t very noticeable :) I’ve edited it to be a little more obvious, although it looks a bit funny (at least on my Mac). |
Steffen Huber (91) 1953 posts |
The 4 GiB limit is also reflected throughout the FS API, so extending this would be quite a bit of work. And it is THE critical subsystem of the OS. You have to be extra careful not to break the old API for the legacy FS clients. But perhaps the biggest problem is that the few people capable of doing it would immediately think of all the things that could be done during revamping FileSwitch. Rewriting it in C. Including a cache system. Revamping the whole FS stack to avoid multiple wheel reinvention for client FSes. And then you end up with a mammoth task. |
Rick Murray (539) 13840 posts |
Not to mention, the FS itself probably needs a rewrite to avoid clobbering certain parts of the storage media. Not a big deal with spinning rust, could be an issue over flash media lifetime. So, yeah. Mammoth. With fur and tusks and everything. |
Steve Pampling (1551) 8170 posts |
First skin and joint the mammoth then slice out a steak or two |
Jess Hampshire (158) 865 posts |
Wouldn’t the first step be defining a large file API? This would initially be implemented by a module that maps it to the regular calls, but divides large files into folders of parts (which I believe is how CDVDBurn does things). New file systems could then implement this directly. (I also wonder if they could present oversize files to the old API as a read only folder of parts, so that copying etc would still work.) Could GPL filesystems be implemented as an analogue of podule ROMs? i.e. a second (optional) ROM in the same folder as the RISC OS ROM. Would UDF be a sensible format for interoperability? (Benefit – DVD/BD support, downside maximum partition size and maybe supported names/paths) NTFS is quite easy to write to on Macs, (I think even out of the box on modern ones). Linux Mint quite happily reads and write HFS and NTFS. |
Stuart Swales (1481) 351 posts |
I’m tempted to stick my head above the parapet and have a think about the 64-bit file size API changes that’d be needed in FileSwitch (which is mostly my fault). Not interested in any huge rewrites or new file systems – let’s see how hard it is to support large files that are otherwise currently unavailable to use by RISC OS applications on NAS boxes using Sunfish/LanManFS, eh? FSs would need to declare 64-bit file size support, of course, otherwise the existing unchanged API would be used. Don’t forget that the desktop drag-n-drop Load/Save file etc. protocols would need replacing too. |
Steffen Huber (91) 1953 posts |
A minimal viable change set would probably be to extend FileSwitch with a 64bit API, then change Sunfish to support large files, then change the filer to use the new API and allow copying between Sunfish mounts. Go, Stuart, Go! |
Mike Freestone (2564) 131 posts |
Perhaps look at the analysis already done and donate some money to help the problem rool describe in the thread, we can all help as plain users in this way |
Rick Murray (539) 13840 posts |
There potentially is no safe method. You see, I was thinking that all we’d need is a 64 bit API and an application can query it and use it if available (else revert to 32 bit method). But I thought a bit more, and realised that a 64 bit FS would imply a 64 bit drive format (else, why bother?). Well, how does one talk to a 64 bit FS using a 32 bit API? I’m thinking that the overall best method may be to provide a 64 bit API that is entirely different to the 32 bit one (not 32 bit with bits bodged on) and then have a 64 bit FS to go with it. This will in turn be supported by a 64 bit aware filer, and… you see, how does one do EXT# or PTR# from BASIC? The only way is to treat it as an entirely separate thing and migrate stuff to be compatible piece by piece. In other words – it’s “difficult”. ;-)
IANAL, but I cannot see any great problem as long as it is not part of the RISC OS code base and it isn’t directly supplied with the RISC OS ROM image. But the best bit, IMHO, is the “ultimately judges will decide”. That alone is the reason I simply do not touch the GPL. I don’t want arbitrary judges in a litigation-happy country with a screwed up protectionist legal system deciding what does and does not fly. If it isn’t stated clearly and concisely in the licence, then the licence is useless. Read the paragraph after. If programs pass data using sockets or pipes or CLI arguments then it’s two separate programs. If communications are “intimate enough”, one could consider the two parts to be combined as a larger program. This, again, shows (yet another) failing in the GPL for not recognising that there is a world outside of how Unix works. The entire RISC OS SWI API is based upon intimate sharing of data structures too and from modules (including the core kernel). When you get down to it, the entire Wimp API that every program uses is probably lower level than the majority of GUI calls on any flavour of Linux ever written. In short, I do not foresee any problem with making a GPL “module” that is loaded separately akin to podule ROMs, in much the same way that supplying NetSurf (etc) with a RISC OS SD card image isn’t causing any crisis. Just don’t expect any such thing to be a part of the official RISC OS. GPL is too vague and too damaged to take the risk. |
Jess Hampshire (158) 865 posts |
That was pretty much what I was thinking, the question would be how viable would it be to do on things like the Pi? (You’d need it loaded that way so you could boot from the filesystem.
Wouldn’t you have a module that mapped the 32 bit calls to the new 64 bit ones? As far as I can see you’d need to trap any files that are too large and present them differently. If it presented them as a folder containing 1GB read only files, programs shouldn’t be able to make a mess, and you could even use 32 bit FS programs to copy them, providing the 64 bit system was clever enough to recognise them and save them as a single file. |
Pages: 1 2