Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #34341
| From | heby <heby@poczta.onet.pl> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Przenośny, uproszczony filesystem |
| Date | 2021-01-14 13:31 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <rtpdik$cge$1@dont-email.me> (permalink) |
Cześć.
Poszukuje inspiracji a być może gotowca. Ale to trudno powiedzieć. A
chodzi o coś takiego:
Implementacja abstrkacyjnego filesystemu pracującego na urzeniau
blokowym, do którego dostęp zapewniam ja, przez stosowane abstrkacje.
Wykorzystać było by fajnie, ale najważniejsze to możliwośc podejrzenia
rozwiązań.
Wiec to tak powinno wyglądać:
struct IFooFileSystem
{
std::shared_ptr< IFile > openFile( std::string cosnt& _fileName, Flags
_flags );
bool fileExist( std::string const& _fileName );
[...]
};
struct IBlockDevice
{
std::shared_ptr< Block > readBlock( BlockIndes _index );
void writeBlock( BlockIndes _index, Block& _block );
};
struct IFile
{
void read(...);
void seek(...);
[...]
}
std::shared_ptr< IFooFileSystem >
createFileSystem( myBlockDevice );
Coś w ten deseń, czyli to ja dostaczam abstrakcje robiącą I/O na
poziomie block/cluster a kod realizuje wysokopoziomowe operacje plikowe.
To nie musi być z czymkolwiek kompatybilne, nawet lepiej gdyby nie było.
Musi być natomist komplenie nie zależne od czegokolwiek, czy to systemu
czy zewnatrznych biblitek. I thread safe, będę jednoczesnie czytał i
zapisywał wiele "plików" z róznych wątków. W zasadzie poza "plikami"
reszta kompletnie zbędna, nie interesują mnie atrybuty czy nawet
katalogi. Mocno uproszczony filesystem, coś w rodzaju wielu niezależnych
strumieni w jednym kontenerze.
Mogę to napisać samodzielnie, ale zanim to zrobie: ktoś widział taki
projekt lub część jakiegoś projektu?
Dla zastanawiajacych się po co mi to:
Jest *prawdziwy* plik. W moim kodzie jest konwertowany do urządzenia
blokowego i wystawiany do tego mechanizmu fiesystemu.
Dzięki temu mogę w jednym pliku trzymac w środku wiele plików,
bezustannie je czytajac i zmieniając. Ułatwi mi to pracę, ponieważ pliki
te są trzymane razem, user nie może nic w nich popsuć, nie muszę
bezustannie pakować/rozpakować jak robi np. OpenOffice (u nich
kontenerem jest packer). Od razu gotowe do pracy.
Katalog odpada: user może w nim coś popsuć.
Ewentualne puchnięcie moża jakoś obejśc pisząc garbage collector
trimujący ten "wirtualny filesystem" i przenoszący bloki w tle.
Coś podobnego robi np. VirtualBox ale nie chodzi o taki poziom emulacji
dysków, to ma byc mała pierdoła do kodu który mam pod kontrolą.
Innymi słowy: czy ktoś widział tego typu wirtualny filesystem?
Interesują mnie zagadnienia takie jak uproszczony wielodostęp czy
realizacja kroniki. Chciałbym je poderzeć, ponieważ nie mam w tym
doswiadczenia, pewnie napiszę to mało optymalnie.
Projekt Fuse nie nadaje się bez bardzo poważnego wrapowania. Ponadto ja
nie potrzebuje wielu filesystemów, potrzebuje tylko jeden, o mało ważnej
kompatybilności ze światem zewnętrznym. Taki FooFS.
Back to pl.comp.programming | Previous | Next — Next in thread | Find similar
Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-01-14 13:31 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-05 10:42 -0800
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-07 12:55 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-07 06:34 -0800
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-07 19:04 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-07 10:35 -0800
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-07 11:03 -0800
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-07 20:57 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-07 12:19 -0800
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-07 22:01 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-07 13:53 -0800
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-08 07:39 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-08 02:08 -0800
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-08 12:12 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-08 05:24 -0800
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-08 14:57 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-08 09:35 -0800
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-08 18:41 +0100
Re: Przenośny, uproszczony filesystem "M.M." <mmarszik@gmail.com> - 2021-02-08 10:47 -0800
Re: Przenośny, uproszczony filesystem Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2021-02-08 20:33 +0100
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-02-08 20:35 +0100
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-05 03:51 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-05 11:30 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-05 20:27 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-05 23:04 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-05 23:55 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-06 10:58 +0200
Re: Przenośny, uproszczony filesystem Mateusz Viste <mateusz@xyz.invalid> - 2021-04-06 11:22 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-06 12:03 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-06 16:54 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-06 18:01 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-06 19:41 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-06 20:08 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-06 21:32 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-07 08:43 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-07 12:25 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-07 13:40 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-07 14:58 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-07 15:21 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-07 16:35 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-06 00:31 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-06 11:06 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-06 17:08 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-06 18:12 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-06 19:57 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-06 20:17 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-06 21:01 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-07 08:48 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-07 11:52 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-07 12:03 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-07 12:42 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-07 13:43 +0200
Re: Przenośny, uproszczony filesystem J-23 <Baczeklu@poczta.fm> - 2021-04-07 14:29 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-07 15:06 +0200
Re: Przenośny, uproszczony filesystem Roman Tyczka <romantyczka@hate.you.spammer> - 2021-04-09 12:04 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-09 13:42 +0200
Re: Przenośny, uproszczony filesystem Roman Tyczka <romantyczka@hate.you.spammer> - 2021-04-09 22:55 +0200
Re: Przenośny, uproszczony filesystem heby <heby@poczta.onet.pl> - 2021-04-10 12:21 +0200
csiph-web