Skip to content

Commit

Permalink
Comment a bit on the xattr extraction logic
Browse files Browse the repository at this point in the history
* src/extract.c (extract_file): Document why we pre-create with S_IWUSR.
(set_xattr): Drop the INVERT_PERMISSIONS doc leftover.
  • Loading branch information
praiskup authored and graygnuorg committed Jun 6, 2023
1 parent 06805b9 commit e7987b7
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions src/extract.c
Expand Up @@ -902,11 +902,10 @@ maybe_recoverable (char *file_name, bool regular, bool *interdir_made)
(e.g. on Lustre distributed parallel filesystem - setting info about how many
servers is this file striped over, stripe size, mirror copies, etc.
in advance dramatically improves the following performance of reading and
writing a file). If not restoring permissions, invert the INVERT_PERMISSIONS
bits from the file's current permissions. TYPEFLAG specifies the type of the
file. Return a negative number (setting errno) on failure, zero if
successful but FILE_NAME was not created (e.g., xattrs not
available), and a positive number if FILE_NAME was created. */
writing a file). TYPEFLAG specifies the type of the file. Return a negative
number (setting errno) on failure, zero if successful but FILE_NAME was not
created (e.g., xattrs not available), and a positive number if FILE_NAME was
created. */
static int
set_xattr (char const *file_name, struct tar_stat_info const *st,
mode_t mode, char typeflag)
Expand Down Expand Up @@ -1271,6 +1270,10 @@ extract_file (char *file_name, int typeflag)
else
{
int file_created;
/* Either we pre-create the file in set_xattr(), or we just directly open
the file in open_output_file() with O_CREAT. If pre-creating, we need
to use S_IWUSR so we can open the file O_WRONLY in open_output_file().
The additional mode bit is cleared later by set_stat()->set_mode(). */
while (((file_created = set_xattr (file_name, &current_stat_info,
mode | S_IWUSR, typeflag))
< 0)
Expand Down

0 comments on commit e7987b7

Please sign in to comment.