diff options
Diffstat (limited to 'isofs')
-rw-r--r-- | isofs/ChangeLog | 278 | ||||
-rw-r--r-- | isofs/inode.c | 19 | ||||
-rw-r--r-- | isofs/lookup.c | 4 | ||||
-rw-r--r-- | isofs/rr.c | 2 |
4 files changed, 7 insertions, 296 deletions
diff --git a/isofs/ChangeLog b/isofs/ChangeLog deleted file mode 100644 index bc8c3a73..00000000 --- a/isofs/ChangeLog +++ /dev/null @@ -1,278 +0,0 @@ -2007-03-25 Thomas Schwinge <tschwinge@gnu.org> - - * isofs/inode.c (read_disknode): Correctly convert from nanoseconds to - microseconds. - -2005-02-23 Alfred M. Szmidt <ams@gnu.org> - - * Makefile (iso9660fs.static): New target. - -2003-08-31 Marcus Brinkmann <marcus@gnu.org> - - * main.c (diskfs_readonly, diskfs_hard_readonly): Removed. - (main): Set diskfs_readonly and diskfs_hard_readonly to one. - -2002-09-29 Marcus Brinkmann <marcus@gnu.org> - - * Makefile (target): Change to iso9660fs. - * main.c (diskfs_server_name): Change to iso9660fs. - -2002-08-06 Marcus Brinkmann <marcus@gnu.org> - - * inode.c (use_file_start_id): Use file_start for directories, so - the inode of the directory is used for the ".." entries in all - sub-directories. Contrary to ChangeLog entry 2001-11-27, this is - safe, because the ISO9660 specification mandates that the first - entry in every directory must be ".", so a non-file_start using - directory record can not be the first one. - -2002-06-08 Roland McGrath <roland@frob.com> - - * inode.c (diskfs_cached_lookup): Use ino_t for argument. - -2002-05-08 Roland McGrath <roland@frob.com> - - * rr.c (rrip_work): Cast pointer to uintptr_t instead of int. - - * main.c (diskfs_append_args): unsigned -> size_t - * lookup.c (diskfs_get_directs): Likewise. - -2001-04-30 Marcus Brinkmann <marcus@gnu.org> - - * rr.c (rrip_work): In the MATCH_NAME case, free NMBUF if it is - non-zero before returning. - -2001-04-29 Marcus Brinkmann <marcus@gnu.org> - - * lookup.c (diskfs_get_directs): If an RE entry is encountered, - just decrement I again. Rearrange the code to check for a new - logical sector in any case. Also make sure to always release RR - before returning. This fixes some memory leaks and Debian bug - report #63373. - -2001-02-25 Roland McGrath <roland@frob.com> - - * lookup.c: Include <stdlib.h> for abort decl. - -2001-02-20 Marcus Brinkmann <marcus@gnu.org> - - * inode.c: Include <time.h>. Reported by Arkadi E. Shishlov - <arkadi@it.lv>. - -2001-01-07 Marcus Brinkmann <marcus@gnu.org> - - * lookup.c: Make diskfs_dirstat_size const. - -2000-12-21 Marcus Brinkmann <marcus@gnu.org> - - * rr.c (rrip_work): Use strdup instead malloc and strcpy. - Assert that strdup and malloc (for rr->trans) succeeds. - * pager.c: Include <errno.h>. - (create_disk_pager): If malloc fails, exit with error. - * main.c (read_sblock): Fail if malloc does. - * inode.c (diskfs_cached_lookup): When allocating memory for dn or - np fails, release spinlock, rrip (and allocated memory) and return - ENOMEM. - (load_inode): Likewise (but no rrip). Also, if *npp is non-zero, - release diskfs_node_refcnt_lock before returning. - Reported by Igor Khavkine <i_khavki@alcor.concordia.ca>. - -2000-11-27 Marcus Brinkmann <marcus@gnu.org> - - The last two changes introduced two new inode overlaps - (file_start was not shifted by store block size, and directories' - shifted file_start offset can be the same as the struct dirrect - offset of their first directory entry). - - * inode.c (use_file_start_as_id): New function to determine - if to use file_start or struct dirrect * as node id. - The directory recognition code comes from read_disknode. - (cache_inode): Use use_file_start_as_id instead doing the work - ourselve. Shift file_start by store->log2_block_size. - (load_inode): Likewise. - * lookup.c (diskfs_get_directs): Likewise. - Declare use_file_start_id. - -2000-11-26 Marcus Brinkmann <marcus@gnu.org> - - Fix hard link handling for non-zero length files. - * inode.c: Fix comment about inode numbers. - (node_cache): New member ID to store unique identifier. - (inode_cache_find): Change RECORD arg into ID and compare it - with id member of node_cache. - (cache_inode): Swap order of args and add new arg RR (change dr - into record along the way). Use RR to find out cache ID. - Use id member of node_cache to look for ID. Cache ID. - (load_inode): Call inode_cache_find with correct ID, depending - on RR and file size. Frob arguments to cache_inode to comply with - the new definition. - (read_disknode): Set st_ino according depending on RR and file size. - * lookup.c: Doc spelling fix. - (diskfs_get_directs): Include code again that was removed by last change, - but use it only if not symlink or zero length file. - -2000-11-26 Marcus Brinkmann <marcus@gnu.org> - - Closes Debian Bug #68417: - * rr.c (rrip_work): In helper function add_comp set targused to - zero after malloc, and loop over realloc in case doubling is not - enough. After finalizing the link, set VALID_SL valid flag. - * inode.c (read_disknode): For links use rl->target instead - rl->name. - - Closes Debian Bug #69281: Don't use file_start as inode numbers, - but the offset of the directory record in disk_image. This is what - Linux 2.4 does. - * isofs.h (struct disknode): New member struct dirrect *dr. - * inode.c: Fix comment about inode numbers. - (struct node_cache): Fix comment about file_start (it's not unique). - In fact, file_start is invalid for symlinks, and only stored here - for convenience. Maybe caching file_start can be avoided by - rearranging the code. - (inode_cache_find): Change first argument from off_t file_start - to struct dirrect *dr and fix the doc. - Compare cached value of DR with this argument, instead FILE_START. - (diskfs_cached_lookup): Set DR member of DN. - (load_inode): Call inode_cache_find with RECORD instead FILE_START. - Set DR member of DN. - (read_disknode): Set inode number to DR - DISK_IMAGE instead - FILE_START. - * lookup.c (diskfs_get_directs): Remove variable file_start. - Don't calculate file_start. Set D_FILENO to EP - DISK_IMAGE - instead FILE_START. - -2000-07-26 Mark Kettenis <kettenis@gnu.org> - - * Makefile (HURDLIBS): Reorder libs such that the threads lib - comes before the ports lib. This makes sure the functions in - libthreads properly override the stubs in libports with the new - dynamic linker semantics in glibc 2.2. - -1999-11-20 Roland McGrath <roland@baalperazim.frob.com> - - * lookup.c (dirscanblock): Add const to type of NAME parameter. - (isonamematch): Likewise. - * rr.c (rrip_match_lookup): Likewise. - (rrip_work): Likewise. Change char -> size_t for MATCH_NAMELEN. - * rr.h: Update decls. - -1999-10-13 Roland McGrath <roland@baalperazim.frob.com> - - * main.c (diskfs_name_max): New variable. - -1999-09-13 Roland McGrath <roland@baalperazim.frob.com> - - * pager.c: Reverted changes related to io_map_segment. - -1999-09-07 Thomas Bushnell, BSG <tb@mit.edu> - - * pager.c (diskfs_get_filemap): Accept additional parameter. - -1999-07-10 Roland McGrath <roland@baalperazim.frob.com> - - * isofs.h: Add #include <sys/mman.h> for munmap decl. - -1999-07-09 Thomas Bushnell, BSG <tb@mit.edu> - - * lookup.c (diskfs_get_directs): Use mmap instead of vm_allocate. - * pager.c (pager_read_page): Likewise. - -1999-07-03 Thomas Bushnell, BSG <tb@mit.edu> - - * lookup.c (diskfs_get_directs): Use munmap instead of - vm_deallocate. - -1999-06-13 Roland McGrath <roland@baalperazim.frob.com> - - * lookup.c (diskfs_get_directs): Add cast to silence warning. - -1999-01-23 Roland McGrath <roland@baalperazim.frob.com> - - * main.c (main): Use diskfs_init_main. - -1999-01-22 Roland McGrath <roland@baalperazim.frob.com> - - * rr.c (rrip_work): Remove makedev macro definition. - -1998-12-27 Roland McGrath <roland@baalperazim.frob.com> - - * inode.c (diskfs_set_statfs): Remove __ from struct statfs members. - Use bzero first instead of setting individual fields to zero. - -1998-12-21 Mark Kettenis <kettenis@phys.uva.nl> - - * inode.c (diskfs_set_statfs): Fill in statfs members with - sensible values. - -Wed Oct 28 22:52:04 1998 Joel N. Weber II <devnull@methedrine.ai.mit.edu> - - * inode.c (read_disknode): Use FSTYPE_ISO9660. - -1998-09-04 Roland McGrath <roland@baalperazim.frob.com> - - * lookup.c (diskfs_lookup_hard): Fix defn with `const'. - (diskfs_direnter_hard): Likewise. - (diskfs_get_directs): Use `const' for local var NAME. - * inode.c (diskfs_set_translator): Fix defn with `const'. - -1997-09-22 Miles Bader <miles@gnu.ai.mit.edu> - - * main.c (diskfs_append_args): New function. - -1997-09-19 Miles Bader <miles@gnu.ai.mit.edu> - - * rr.h (GNUEXT_ID): Make value a string. - * rr.c (rrip_work): ER->lenid should be ER->len_id. - Remove unused variable. - -1997-09-18 Miles Bader <miles@gnu.ai.mit.edu> - - * inode.c (read_disknode): RR should be RL. - Assign 0's type-correctly to NP->dn->translator and ->translen. - (diskfs_node_norefs): The translator field is in NP->dn, not NP. - -Tue Sep 16 15:34:21 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> - - * rr.c (gnuext_live): New variable. - (rrip_work): Comprehend AU, TR, MD, and FL, all as GNU - extensions. Recognize GNU extension id field when processing ER - fields. - (release_rrip): Free RR->trans if it's live. - * inode.c (read_disknode): Interpret and install the values set by - AU, TR, MD, and FL extensions. - (diskfs_node_norefs): Free NP->translator if it's set. - * isofs.h (struct disknode): New members `translen' and - `translator'. - * rr.h (struct gn_au, struct gn_tr, struct gn_md, struct gn_fl): - New strucures. - (GNUEXT_SRC, GNUEXT_DES, GNUEXT_ID, GNUEXT_VERS): New macros. - (struct rrip_lookup): New members author, translen, trans, - allmode, flags. - (VALID_AU, VALID_TR, VALID_MD, VALID_FL): New macros. - - * Makefile (DIST_FILES): Add, referring to EXTENSIONS. - * EXTENSIONS: New file. - -Wed Aug 20 14:29:11 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> - - * pager.c (diskfs_get_filemap): If pager_create fails, return - error to caller. - -Tue Aug 19 14:20:09 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> - - * rr.c (rrip_work) [SL]: Component length field does not include - the two header bytes, so add an extra two in advancing the pointer - past the component. - -Thu Aug 7 16:01:29 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> - - * inode.c (read_disknode): Units of st_blocks are 512 byte chunks, - not logical_block_size chunks. - -1997-07-22 Miles Bader <miles@gnu.ai.mit.edu> - - * Makefile (dir): Is isofs, not ufs. - -Mon Jul 21 16:00:04 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> - - * Makefile (LCLHDRS): Remove susp.h. diff --git a/isofs/inode.c b/isofs/inode.c index 091b75ba..99aca957 100644 --- a/isofs/inode.c +++ b/isofs/inode.c @@ -431,31 +431,20 @@ read_disknode (struct node *np, struct dirrect *dr, { struct timespec ts; isodate_915 (dr->date, &ts); - st->st_ctime = st->st_mtime = st->st_atime = ts.tv_sec; - st->st_ctime_usec = st->st_mtime_usec = st->st_atime_usec - = ts.tv_nsec / 1000; + st->st_ctim = st->st_mtim = st->st_atim = ts; } /* Override what we have better info for */ if (rl->valid & VALID_TF) { if (rl->tfflags & TF_CREATION) - { - st->st_ctime = rl->ctime.tv_sec; - st->st_ctime_usec = rl->ctime.tv_nsec / 1000; - } + st->st_ctim = rl->ctime; if (rl->tfflags & TF_ACCESS) - { - st->st_atime = rl->atime.tv_sec; - st->st_atime_usec = rl->atime.tv_nsec / 1000; - } + st->st_atim = rl->atime; if (rl->tfflags & TF_MODIFY) - { - st->st_mtime = rl->mtime.tv_sec; - st->st_mtime_usec = rl->mtime.tv_nsec / 1000; - } + st->st_mtim = rl->mtime; } st->st_blksize = logical_block_size; diff --git a/isofs/lookup.c b/isofs/lookup.c index f3e7581f..8daa5464 100644 --- a/isofs/lookup.c +++ b/isofs/lookup.c @@ -50,11 +50,11 @@ isonamematch (const char *dirname, size_t dnamelen, if (dnamelen == unamelen) return 1; - /* User has ommitted the version number */ + /* User has omitted the version number */ if (dirname[unamelen] == ';') return 1; - /* User has ommitted an empty extension */ + /* User has omitted an empty extension */ if (dirname[unamelen] == '.' && (dirname[unamelen+1] == '\0' || dirname[unamelen+1] == ';')) return 1; @@ -505,7 +505,7 @@ rrip_work (struct dirrect *dr, struct rrip_lookup *rr, we got here from the exit point of the function, then VALID_NM is actually clear. */ - /* Save these, becuase rrip_work will clear them. */ + /* Save these, because rrip_work will clear them. */ savename = (rr->valid & VALID_NM) ? rr->name : 0; realdir = rr->realdirent; |