%% filedir.tex
%%
-%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to
+%% Copyright (C) 2000-2023 Simone Piccardi. Permission is granted to
%% copy, distribute and/or modify this document under the terms of the GNU Free
%% Documentation License, Version 1.1 or any later version published by the
%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
% * http://lwn.net/Articles/159077/ e
% * Documentation/filesystems/sharedsubtree.txt
+% TODO: (bassa priorità) trattare mount_setattr, vedi
+% https://lwn.net/Articles/896255/
+
% TODO: (bassa priorità) non documentati ma presenti in sys/mount.h:
% * MS_POSIXACL
% * MS_KERNMOUNT
% TODO (bassa priorità) scrivere delle funzioni (getfsent e getmntent &C)
% TODO (bassa priorità) documentare ? swapon e swapoff (man 2 ...)
+% TODO con il 5.2 è stata introdotta una serie di nuove syscall per montare un
+% filesystem, vedi https://lwn.net/Articles/759499/ e
+% https://git.kernel.org/linus/f1b5618e013a
\section{La gestione di file e directory}
quote, uno per le quote utente e l'altro per le quote gruppo.\footnote{la cosa
vale per tutti i filesystem tranne \textit{XFS} che mantiene i dati
internamente, compresi quelli per le \textit{project quota}, che pertanto,
- essendo questo l'unico filesyste che le supporta, non hanno un file ad esse
+ essendo questo l'unico filesystem che le supporta, non hanno un file ad esse
riservato.} Con la versione 2 del supporto delle quote, che da anni è
l'unica rimasta in uso, questi file sono \texttt{aquota.user} e
\texttt{aquota.group}, in precedenza erano \texttt{quota.user} e
\end{funcproto}
% TODO rivedere gli errori
+% TODO aggiungere quotactl_fd introdotta con il kernel 5.14, vedi
+% https://lwn.net/Articles/859679/
La funzione richiede che il filesystem sul quale si vuole operare, che deve
essere specificato con il nome del relativo file di dispositivo nell'argomento
apposita funzione di uscita, mentre si restituisce come prima una eccezione
con il valore di \var{errno} in caso di errore (\texttt{\small 12-13}).
+
\subsection{La gestione dei {chroot}}
\label{sec:file_chroot}
% LocalWords: setresuid setfsuid IMMUTABLE immutable append only BIND SERVICE
% LocalWords: BROADCAST broadcast multicast multicasting RAW PACKET IPC LOCK
% LocalWords: memory mlock mlockall shmctl mmap MODULE RAWIO ioperm iopl PACCT
-% LocalWords: ptrace accounting NICE RESOURCE TTY CONFIG hangup vhangup dell'
+% LocalWords: ptrace accounting NICE RESOURCE TTY CONFIG hangup vhangup
% LocalWords: LEASE lease SETFCAP AUDIT permitted inherited inheritable AND nn
% LocalWords: bounding execve fork capget capset header hdrp datap ESRCH undef
% LocalWords: version libcap lcap clear ncap caps pag capgetp CapInh CapPrm RT
% LocalWords: REALTIME securebits GETSTATS QFMT curspace curinodes btime itime
% LocalWords: QIF BLIMITS bhardlimit bsoftlimit ILIMITS ihardlimit isoftlimit
% LocalWords: INODES LIMITS USAGE valid dqi IIF BGRACE bgrace IGRACE igrace is
-% LocalWords: Python Truelite Srl quotamodule Repository who nell' dall' KEEP
-% LocalWords: SECURE KEEPCAPS prctl FIXUP NOROOT LOCKED dell'IPC dell'I IOPRIO
+% LocalWords: Python Truelite Srl quotamodule Repository who KEEP
+% LocalWords: SECURE KEEPCAPS prctl FIXUP NOROOT LOCKED dell'IPC IOPRIO
% LocalWords: CAPBSET CLASS IDLE dcookie overflow DIFFERS Virtual everything
% LocalWords: dentry register resolution cache dcache operation llseek poll ln
% LocalWords: multiplexing fsync fasync seek block superblock gapil tex img du
% LocalWords: faccessat grpid lacl AppArmor capsetp mygetfacl table Tb MSK
% LocalWords: LAZYTIME submount peer protected hardlink symlinks silly RDWR
% LocalWords: renames unreachable CLOEXEC mkstemps mkostemps suffixlen Aug
-% LocalWords: prefissoXXXXXXsuffisso nell'I fstatat statx sull' drwxrwxrwt
-% LocalWords: Disalloca
+% LocalWords: prefissoXXXXXXsuffisso fstatat statx drwxrwxrwt xattr
+% LocalWords: Disalloca project
%%% Local Variables:
%%% mode: latex