Hlavní navigace

Vlákno názorů k článku Mazání dat uprostřed souboru od ebik - Obecnejsi operace by byly operace "split" a join: split:...

  • Článek je starý, nové názory již nelze přidávat.
  • 22. 9. 2014 2:23

    ebik (neregistrovaný)

    Obecnejsi operace by byly operace "split" a join:
    split: dodam offset souboru, a jmeno noveho souboru
    join: dodam dve jmena souboru, to druhe jmeno se smaze, v tom prvnim souboru mam concatenovany obsah
    Vyse zminena operace by umela ten strih, stejnym zpusobem jako to podivne volani fallocate, a jeste neco navic. Jak to naimplementovat na stare FATce vim, ale zda by to nejak slo delat pres jadro, to netusim.

    Moje motivace vychazi z toho, ze jsem resil trochu jiny problem: na disk jsem zapsal 3 velike soubory (celkem 1GB) a pak jsem je chtel concatenovat (destruktivne, jeste s malym souborem na zacatku, jakoze hlavickou). A nevim o nicem, co by mi ty soubory spojilo (klidne jen pokud budou mit zarovnanou velikost na 4k), aniz bych musel data z fs vytahnout ven a zase je tam ulozit. (V podstate slo o offline vyrobeni indexu, ktery pri prutokovem indexovani mel "2 kurzory", ten 3. soubor byly puvodni data. Ale pro dalsi praci s tim indexem bylo potreba mit ho jako jeden soubor. A cim rychleji to bylo hotove, tim lepe, delalo se to pravidelne.)

    P.S.: dnes uz bych asi umel atomicke switchnuti na adresari (pomoci symlinku), ale stejne by mne to konkatenovani zajimalo.

  • 22. 9. 2014 8:43

    fcv (neregistrovaný)

    Výše zmíněné operace nelze provést a to proto, že nelze jen tak daty šoupnout v rámci sektorů. Fallocate pracuje na úrovni celých sektorů.

    Spojování souborů je stejný problém, data v druhém a třetím souboru by se musela šoupnout.

  • 22. 9. 2014 14:08

    ebik (neregistrovaný)

    Vždyť tam píšu, že mi nevadí, že podmínkou bude, že velikost souboru bude zarovnaná na velikost bloku (psal jsem explicitně 4k).