ioctl_iflags(2) System Calls Manual ioctl_iflags(2) NUME ioctl_iflags - operaii ioctl() pentru fanioane de noduri-i DESCRIERE Diferite sisteme de fiiere Linux accepta noiunea de atribute fanioane de noduri-i - atribute care modifica semantica fiierelor i directoarelor. Aceste fanioane pot fi recuperate i modificate cu ajutorul a doua operaii ioctl(2): int attr; fd = open("pathname", ...); ioctl(fd, FS_IOC_GETFLAGS, &attr); /* Plaseaza fanioanele curente in ,,attr" */ attr |= FS_NOATIME_FL; /* Ajusteaza masca de bii returnata */ ioctl(fd, FS_IOC_SETFLAGS, &attr); /* Actualizeaza fanioanele pentru noduri-i la care se face referire prin ,,fd" */ Comenzile de shell lsattr(1) i chattr(1) ofera interfee pentru aceste doua operaii, permiand unui utilizator sa vizualizeze i sa modifice fanioanele de nod-i asociate cu un fiier. Sunt acceptate urmatoarele fanioane (afiate impreuna cu litera corespunzatoare utilizata pentru a indica fanionul de catre lsattr(1) i chattr(1)): FS_APPEND_FL ,,a" Fiierul poate fi deschis numai cu fanionul O_APPEND; (aceasta restricie se aplica chiar i superutilizatorului). Numai un proces privilegiat (CAP_LINUX_IMMUTABLE) poate activa sau dezactiva acest atribut. FS_COMPR_FL ,,c" Stocheaza fiierul intr-un format comprimat pe disc. Acest fanion nu este acceptat de majoritatea implementarilor de sisteme de fiiere principale; o excepie este btrfs(5). FS_DIRSYNC_FL ,,D" (incepand cu Linux 2.6.0) Scrie modificarile de directoare in mod sincron pe disc. Acest fanion ofera o semantica echivalenta cu cea a opiunii mount(2) MS_DIRSYNC, dar pentru fiecare director in parte. Acest fanion poate fi aplicat numai la directoare. FS_IMMUTABLE_FL ,,i" Fiierul este imuabil: nu este permisa nicio modificare a coninutului fiierului sau a metadatelor (permisiuni, marcaje de timp, proprietate, numar de legaturi etc.); (aceasta restricie se aplica chiar i superutilizatorului). Numai un proces privilegiat (CAP_LINUX_IMMUTABLE) poate activa sau dezactiva acest atribut. FS_JOURNAL_DATA_FL ,,j" Activeaza jurnalizarea datelor de fiier pe sistemele de fiiere ext3(5) i ext4(5). Pe un sistem de fiiere care se jurnalizeaza in modul ordered sau writeback, un proces privilegiat (CAP_SYS_RESOURCE) poate activa acest indicator pentru a activa jurnalizarea actualizarilor de date pentru fiecare fiier in parte. FS_NOATIME_FL ,,A" Nu actualizeaza ultima ora de accesare a fiierului atunci cand fiierul este accesat. Acest lucru poate aduce beneficii in ceea ce privete performana operaiilor de In/Ie pentru aplicaiile care nu se preocupa de acurateea acestui marcaj de timp. Acest fanion ofera o funcionalitate similara cu fanionul mount(2) MS_NOATIME, dar pentru fiecare fiier in parte. FS_NOCOW_FL ,,C" (incepand cu Linux 2.6.39) Fiierul nu va fi supus actualizarilor de tip ,,copy-on-write". Acest fanion are efect numai pe sistemele de fiiere care accepta semantica copy-on-write, cum ar fi Btrfs. A se vedea chattr(1) i btrfs(5). FS_NODUMP_FL ,,d" Nu include acest fiier in copiile de rezerva realizate cu dump(8). FS_NOTAIL_FL ,,t" Acest fanion este suportat numai pe Reiserfs. Dezactiveaza funcia Reiserfs tail-packing, care incearca sa impacheteze fiierele mici (i fragmentul final al fiierelor mai mari) in acelai bloc de disc ca i metadatele fiierului. FS_PROJINHERIT_FL ,,P" (incepand cu Linux 4.5) Motenete ID-ul proiectului de cota. Fiierele i subdirectoarele vor moteni ID-ul de proiect al directorului. Acest fanion poate fi aplicat numai la directoare. FS_SECRM_FL ,,s" Marcheaza fiierul pentru tergere securizata. Aceasta caracteristica nu este implementata de niciun sistem de fiiere, deoarece sarcina de a terge in sigurana un fiier de pe un suport de inregistrare este surprinzator de dificila. FS_SYNC_FL ,,S" Efectueaza actualizari sincrone ale fiierelor. In cazul fiierelor, acest lucru face ca toate scrierile sa fie sincrone (ca i cum toate deschiderile de fiiere ar fi fost efectuate cu fanionul O_SYNC). Pentru directoare, acest lucru are acelai efect ca i fanionul FS_DIRSYNC_FL. FS_TOPDIR_FL ,,T" Marcheaza un director pentru un tratament special in cadrul strategiei de alocare a blocurilor Orlov. A se vedea chattr(1) pentru detalii. Acest fanion poate fi aplicat numai directoarelor i are efect numai pentru ext2, ext3 i ext4. FS_UNRM_FL ,,u" Permite ca fiierul sa fie recuperat in cazul in care este ters. Aceasta caracteristica nu este implementata de niciun sistem de fiiere, deoarece este posibil sa se implementeze mecanisme de recuperare a fiierelor in afara nucleului. In cele mai multe cazuri, atunci cand oricare dintre fanioanele de mai sus este activat pentru un director, fanionul este motenit de fiierele i subdirectoarele create in interiorul directorului respectiv. Excepiile includ FS_TOPDIR_FL, care nu poate fi motenit, i FS_DIRSYNC_FL, care este motenit numai de subdirectoare. STANDARDE Linux. NOTE Pentru a modifica fanioanele de nod-i ale unui fiier utilizand operaia FS_IOC_SETFLAGS, ID-ul efectiv al utilizatorului care face apelul trebuie sa corespunda proprietarului fiierului sau apelantul trebuie sa aiba capacitatea CAP_FOWNER. Tipul argumentului dat la operaiile FS_IOC_GETFLAGS i FS_IOC_SETFLAGS este int *, in ciuda implicaiei din fiierul sursa al nucleului include/uapi/linux/fs.h ca argumentul este long *. CONSULTAI I chattr(1), lsattr(1), mount(2), btrfs(5), ext4(5), xfs(5), xattr(7), mount(8) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 ioctl_iflags(2)