@@ -105,7 +105,7 @@ Provide S3 access credentials in an AWS credentials file, as described in
105105
106106Before use (before each Python invocation)
107107^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
108- Activate your Python environment, which should then give you access to the s3-fuse Linux
108+ Activate your Python environment, which then gives access to the s3-fuse Linux
109109command (note: somewhat confusingly, this is called "s3fs").
110110
111111Map your S3 bucket "into" the chosen empty directory -- e.g.
@@ -142,7 +142,7 @@ mapped file-system path -- e.g.
142142
143143 After use (after Python exit)
144144^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
145- At some point, you should ' forget' the mounted S3 filesystem by " unmounting" it -- e.g.
145+ At some point, you should " forget" the mounted S3 filesystem by ** unmounting ** it -- e.g.
146146
147147.. code-block :: bash
148148
@@ -156,8 +156,8 @@ At some point, you should 'forget' the mounted S3 filesystem by "unmounting" it
156156 The mount created will not survive a system reboot, nor does it function correctly
157157 if the user logs out + logs in again.
158158
159- Presumably problems can occur if repeated actions can create a very large number of
160- mounts, so unmounting after use does seem advisable.
159+ Presumably, problems could occur if repeated operation were to create a very large
160+ number of mounts, so unmounting after use does seem advisable.
161161
162162
163163Some Pros and Cons of this approach
@@ -171,25 +171,25 @@ PROs
171171 in storage.
172172
173173* s3-fuse is transparent to file access within Python, including Iris load+save or
174- other Python 'open' files : the S3 data appears to be files in a
174+ other files accessed via a Python 'open' : the S3 data appears to be files in a
175175 regular file-system.
176176
177177* the file-system virtualisation approach works for all file formats, since the
178178 mapping occurs in the O.S. rather than in Iris, or Python.
179179
180- * "mounting" avoids the need for the Python instance to dynamically connect to /
181- disconnect from the S3 bucket
180+ * "mounting" avoids the need for the Python code to dynamically connect to /
181+ disconnect from an S3 bucket
182182
183- * the "unmount problem" (see below) is managed at the level of the O.S., where it
184- occurs, instead of trying to allow for it in Python code. This means it can be
185- managed differently in different operating systems, if needed.
183+ * the "unmount problem" (see below) is managed at the level of the operating system,
184+ where it occurs, instead of trying to allow for it in Python code. This means it
185+ could be managed differently in different operating systems, if needed.
186186
187187CONs
188188^^^^
189189
190190* this solution is specific to S3 storage
191191
192- * possibly the virtualisation is not perfect, if some file-system operations do not
192+ * possibly the virtualisation is not perfect : some file-system operations might not
193193 behave as expected, e.g. with regard to file permissions or system information
194194
195195* it requires user actions *outside * the Python code
@@ -226,6 +226,7 @@ Background Notes and Details
226226 For details, see : https://github.com/SciTools/iris/pull/6731
227227
228228* "Unmounting" must be done via a shell ``umount `` command, and there is no easy way to
229- guarantee that this succeeds, since it can often get a "target is busy" error.
229+ guarantee that this succeeds, since it can often get a "target is busy" error, which
230+ can only be resolved by delay + retry.
230231 This "umount problem" is a known problem in Unix generally : see
231232 `here <https://stackoverflow.com/questions/tagged/linux%20umount >`_
0 commit comments