]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-107801: Document SEEK_HOLE and SEEK_DATA (#107936)
authorErlend E. Aasland <erlend@python.org>
Thu, 17 Aug 2023 14:14:01 +0000 (16:14 +0200)
committerGitHub <noreply@github.com>
Thu, 17 Aug 2023 14:14:01 +0000 (16:14 +0200)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Antoine Pitrou <antoine@python.org>
Doc/library/os.rst

index 9735baa5bc0f3a7e8f8b2165fc69d865816a7a42..94b76e4052b94b79873063a2acd706693821aab7 100644 (file)
@@ -1171,6 +1171,10 @@ as internal buffering of data.
    current position; :const:`SEEK_END` or ``2`` to set it relative to the end of
    the file. Return the new cursor position in bytes, starting from the beginning.
 
+   .. versionchanged:: 3.3
+
+      Add support for :const:`SEEK_HOLE` and :const:`SEEK_DATA`.
+
 
 .. data:: SEEK_SET
           SEEK_CUR
@@ -1179,9 +1183,30 @@ as internal buffering of data.
    Parameters to the :func:`lseek` function. Their values are 0, 1, and 2,
    respectively.
 
+
+.. data:: SEEK_HOLE
+          SEEK_DATA
+
+   Parameters to the :func:`lseek` function and the :meth:`~io.IOBase.seek`
+   method on file objects, for seeking file data and holes on sparsely
+   allocated files.
+
+   :data:`!SEEK_DATA`
+      Adjust the file offset to the next location containing data,
+      relative to the seek position.
+
+   :data:`!SEEK_HOLE`
+      Adjust the file offset to the next location containing a hole,
+      relative to the seek position.
+      A hole is defined as a sequence of zeros.
+
+   .. note::
+
+      These operations only make sense for filesystems that support them.
+
+   .. availability:: Linux >= 3.1, macOS, Unix
+
    .. versionadded:: 3.3
-      Some operating systems could support additional values, like
-      :const:`os.SEEK_HOLE` or :const:`os.SEEK_DATA`.
 
 
 .. function:: open(path, flags, mode=0o777, *, dir_fd=None)