bug-xorriso
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-xorriso] bug with handling symbolic links?


From: Thomas Schmitt
Subject: Re: [Bug-xorriso] bug with handling symbolic links?
Date: Sun, 22 Feb 2015 21:58:53 +0100

Hi,

> Therefore, I found -disk_dev_ino "ino_only" to be the best choice - thus (if
> I understand correctly) excluding -for_backup.

They may well be combined.
-for_backup is just a shortcut for -xattr, -acl,
and -md5 "on" in order to let xorriso record as much
extra info as it can.


> That's what I did actually: Identical files in BTRFS snapshots do have the
> same ino_t but different dev_t.

Many systems hand out new dev_t on reboot.
Well, at least snapshots have a good reason to do so.


> In fact, for one of the images, I only used -md5 "on", since even the ino_t
> of identical files had changed. 

Samba is/was known to change ino_t on re-mount.


> > The AAIP data associated with MD5 are small enough
> Good to know. 

And those for -disk_dev_ino too. :))


> I do not have access control lists in place, and BTRFS most importantly
> stores the compression flag as extended attribute.
> I guess that's why I did not encounter any further (linux) complaints about
> filesystem inconsistencies?

It all depends on whether the combined data in the
continuation area of a single file exceed 2048 bytes.
There is typically:
- Rock Ridge file name.
- If symbolic link: target path.
- xattr and ACL from the file, if recording enabled.
- AAIP attributes of namespace "isofs" for internal use
  by libisofs. Among them "isofs.cx" and "isofs.di",
  which link data files to their MD5 resp. record dev_t
  and ino_t which a file had on its original storage
  medium. (See doc/susp_aaip_isofs_names.txt)
About 100 to 150 bytes of this can be stored in the
directory record. If it is more, then CE is needed.
If the surplus data exceed 2048, then Linux will go
on strike with that file.

In order to see the recorded AAIP attributes do

  xorriso -xattr on -indev ...dev.or.image... \
          -find / -exec get_any_xattr -- \
    2>&1 | less

will probably yield something like 

  # file: .
  isofs.cs="ISO-8859-1"
  isofs.st="1424470550"
  
isofs.ca="\004\000\021\215\240\004\000\022\021\227\004\000\000\362\140\001\020MD5"

  # file: my_dir
  isofs.di="\002\010\005\003\032\300\001"

  # file: my_dir/my_file
  isofs.di="\002\010\005\003\032\301f"
  isofs.cx="\000\000\000\001"

  # file: ...
  ...

(You need to enable at least one of -disk_dev_ino,
 -xattr, -acl, -for_backup, -hardlinks in order to
 get AAIP info loaded.)
(Also interesting: -md5 on -indev ... -find / -exec get_md5 --)


If you record -xattr and/or -acl, then they will not
show up in Linux-mounted directory trees. Linux is
supposed to ignore unknown SUSP entries. So you see
POSIX attributes and data file content. Not more.

To restore xattr and ACL, one needs to extract them by

  xorriso -osirrox on -for_backup -indev ...dev.or.image... \
          -extract /iso/path /disk/path \
          ...more.extract.commands...


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]