Názor k článku Mazání dat uprostřed souboru od ebik - Pozor s tim kopirovanim obsahu souboru. Jsou tu...

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

    ebik (neregistrovaný)

    Pozor s tim kopirovanim obsahu souboru. Jsou tu volani sendfile a splice, protoze uz nekdo zjistil, ze nema smysl pri kopirovani (ze souboru do sockety a podobne) tahat ty data do userlandu.

    Nektere implementace filesystemu podporuji sdileni casti souboru (treba spolu s copy-on-write)(i kdyz je to treba jen po blocich), a mam za to, ze maji nejakou utilitu, ktera to na namountovanem fs umi vyuzit (takze musi nejak jadru vysvetlit, ze nebo co tam delaj, i kdyz treba pres nejake ioctl).

    Nicmene to co by se libilo mne by bylo, tady mas soubor: rozrizni ho na dva na tomhle offsetu (zarovnanem treba na bloky), nebo naopak: tady mas dva soubory, nastav tomu prvnimu velikost na offset + delka druheho (pokud je kratsi) a presun obsah druheho na ten offset. Volitelne pak data v prvnim, ktere jsou od offsetu dal posun o delku druheho (zase offset i delka musi byt zarovnana na bloky).

    U vetsiny filesystemu by to byla jen nejaka rychla manipulace s tabulkou bloku nebo extentu. Jedina potiz je v tom, ze vyuziti techto funkci je docela minoritni, ja bych asi jejich zacleneni neobhajil. Stejne tak mi prekvapuje, ze v clanku zminena feature se dostala do kernelu jako obecne volani. Spis bych pochopil, kdyby to bylo nejake FS-specificke ioctl, ti co tu funkcionalitu potrebuji, si nainstaluji fs, ktery to podporuje. Zda se, ze hralo roli to, ze je to vlastne jen pridani jednoho flagu.