[Libburn] List of open decisions about my change proposals

scdbackup at gmx.net scdbackup at gmx.net
Tue Feb 14 03:40:29 PST 2006


Hi,

i have reviewed our recent discussion about my patch proposals
and made a list of things to be decided.
The motivations are discussed enough, i believe.

Five to seven bits. That's what is needed for now.

- Type for source sizes (or byte counts in general) :

  --- choose one of: --------------------------------------------
  [ ] off_t    with -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
  [ ] int64_t  with the demand to use a modern compiler
               (my current SuSE Linux gcc 3.3.1 would do)


- Relation of burn_source, burn_source_file and the 
  upcoming (fd,size)-Addon :

  --- choose one of: --------------------------------------------
  [ ] fd source constitutes a new source class
  [ ] fd source will be united with file source
      --- in this case choose one of: ---------------------------
      [ ] burn_file_source_new() and burn_fd_source_new()
          coexist without calling each other
      [ ] burn_file_source_new() opens fds and then calls
          burn_fd_source_new(int fd1, int fd2, type_to_come size1)
          where size1 == 0 causes size determination by fstat(fd1)

  --- choose one of: --------------------------------------------
  [ ] fixed_size applies to all burn_sources
  [ ] fixed size applies only to fd (eventually united with file)


- Meaning of burn_drive_info.location now and in future :

  --- choose one of: --------------------------------------------
  [ ] .location will stay unique under all circumstances eventually
      at the risk of losing the capability to direct the sysadmin
      to the system management object of the drive.
  [ ] .location will be a system management hint. A new member
      .drive_id takes over the task of uniquely and persistently
      identifying a drive.


- Method of obtaining the scan information of only a single
  drive without risking to touch any others :

  --- choose one of: --------------------------------------------
  [ ] somebody found a better proposal about how to tackle the
      sticky drive problem but kept the solution secret up to now. 
  [ ] a new call is offered as alternative to burn_drive_scan():
      int burn_drive_scan_single(struct burn_drive_info *drives[], 
                                 const char *id);
      --- in this case choose one of: ---------------------------
      [ ] The new call gets implemented on top of the whitelist
          which has to be queried in the existing and future drive
          enumeration functions. For details see:
        http://lists.freedesktop.org/archives/libburn/2006-February/000371.html
      [ ] The new call gets implemented independently of
          burn_drive_scan() by circumventing existing enumeration
          and addressing the drive directly. That would probably 
          mean to move the code from inside the loops of sg_enumerate() 
          and ata_enumerate() into separate functions sg_enum_single()
          ata_enum_single(). Those get called by sg_enumerate(),
          ata_enumerate() and burn_drive_scan_single().
          burn_drive_scan_single() has to learn how to distinguish 
          between /dev/hdc , /dev/sg1 and future drive id types.


------------------------------------------------------------

It seems that  burn_source_file.subfd  is not associated
with any size determination, currently. I could not spot
a function which would fstat that file descriptor.
Derek, could you point me to an explanation for this sub thing 
in general ? In what use cases does it apply ?


Have a nice day :)

Thomas



More information about the libburn mailing list