X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileadv.tex;h=34dcbf9c577953a5ab265e61299e8a485996b43e;hp=55467a859769e30194747bd3c27478cb238d8f98;hb=5da5870ef70a2b793118d14ec547a293927c0d3c;hpb=13c9129bd29551048f932743285dd79b5a60c1f7 diff --git a/fileadv.tex b/fileadv.tex index 55467a8..34dcbf9 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -1,6 +1,6 @@ %% fileadv.tex %% -%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2019 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", @@ -1622,11 +1622,11 @@ viene totalmente ignorato e l'allocazione è sempre dinamica. La seconda versione della funzione, \func{epoll\_create1} è stata introdotta come estensione della precedente (è disponibile solo a partire dal kernel 2.6.27) per poter passare dei flag di controllo come maschera binaria in fase -di creazione del file descriptor. Al momento l'unico valore legale -per \param{flags} (a parte lo zero) è \constd{EPOLL\_CLOEXEC}, che consente di +di creazione del file descriptor. Al momento l'unico valore legale per +\param{flags} (a parte lo zero) è \constd{EPOLL\_CLOEXEC}, che consente di impostare in maniera atomica sul file descriptor il flag di -\textit{close-on-exec} (si è trattato il significato di \const{O\_CLOEXEC} in -sez.~\ref{sec:file_open_close}), senza che sia necessaria una successiva +\textit{close-on-exec} (vedi sez.~\ref{sec:proc_exec} e +sez.~\ref{sec:file_shared_access}) senza che sia necessaria una successiva chiamata a \func{fcntl}. Una volta ottenuto un file descriptor per \textit{epoll} il passo successivo è @@ -2197,7 +2197,7 @@ file descriptor restituito da \func{signalfd} cerca di seguire la semantica di un sistema unix-like anche con altre \textit{system call}; in particolare esso resta aperto (come ogni altro file descriptor) attraverso una chiamata ad \func{exec}, a meno che non lo si sia creato con il flag di -\const{SFD\_CLOEXEC} o si sia successivamente impostato il +\const{SFD\_CLOEXEC} o si sia successivamente impostato il \textit{close-on-exec} con \func{fcntl}. Questo comportamento corrisponde anche alla ordinaria semantica relativa ai segnali bloccati, che restano pendenti attraverso una \func{exec}. @@ -3479,6 +3479,8 @@ raggruppati in un solo evento. % TODO trattare fanotify, vedi http://lwn.net/Articles/339399/ e % http://lwn.net/Articles/343346/ (incluso nel 2.6.36) +% fanotify_mark() ha FAN_MARK_FILESYSTEM dal 4.20 +% fanotify() ha FAN_OPEN_EXEC dal 4.21/5.0 \subsection{L'interfaccia POSIX per l'I/O asincrono} @@ -3864,9 +3866,13 @@ per il campo \var{aio\_sigevent} di \struct{aiocb}. % TODO trattare la poll API basata sull'I/O asicrono, introdotta con il kernel % 4.18, vedi https://lwn.net/Articles/743714/, -% https://lwn.net/Articles/742978/, -% http://git.infradead.org/users/hch/vfs.git/commit/d2d9e26c7cb6d95d521153897910080cf56c7fad +% https://lwn.net/Articles/742978/, https://lwn.net/Articles/758324/ +% http://git.infradead.org/users/hch/vfs.git/commit/d2d9e26c7cb6d95d521153897910080cf56c7fad +% Reverted +% TODO trattare la nuova API per l'I/O asincrono (io_uring), introdotta con il +% kernel 5.1, vedi https://lwn.net/Articles/776703/, +% https://lwn.net/ml/linux-fsdevel/20190112213011.1439-1-axboe@kernel.dk/ \section{Altre modalità di I/O avanzato} \label{sec:file_advanced_io} @@ -4119,6 +4125,11 @@ file. % TODO trattare MAP_FIXED_NOREPLACE vedi https://lwn.net/Articles/751651/ e % https://lwn.net/Articles/741369/ +% TODO: verificare MAP_SYNC e MAP_SHARED_VALIDATE, vedi +% https://lwn.net/Articles/731706/, https://lwn.net/Articles/758594/ incluse +% con il 4.15 + + L'argomento \param{flags} specifica infine qual è il tipo di oggetto mappato, le opzioni relative alle modalità con cui è effettuata la mappatura e alle modalità con cui le modifiche alla memoria mappata vengono condivise o