summaryrefslogtreecommitdiff
path: root/isofs
AgeCommit message (Collapse)Author
2002-08-062002-08-06 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* 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-11.Roland McGrath
2002-06-112002-06-08 Roland McGrath <roland@frob.com>Roland McGrath
* inode.c (diskfs_cached_lookup): Use ino_t for argument.
2002-05-08.Roland McGrath
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* rr.c (rrip_work): Cast pointer to uintptr_t instead of int.
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* main.c (diskfs_append_args): unsigned -> size_t * lookup.c (diskfs_get_directs): Likewise.
2001-04-292001-04-30 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* rr.c (rrip_work): In the MATCH_NAME case, free NMBUF if it is non-zero before returning.
2001-04-292001-04-29 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* 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-26.Roland McGrath
2001-02-262001-02-25 Roland McGrath <roland@frob.com>Roland McGrath
* lookup.c: Include <stdlib.h> for abort decl.
2001-02-202001-02-20 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* inode.c: Include <time.h>. Reported by Arkadi E. Shishlov <arkadi@it.lv>.
2001-01-07doc/Marcus Brinkmann
2001-01-07 Marcus Brinkmann <marcus@gnu.org> * hurd.texi (Diskfs Callbacks): Make diskfs_dirstat_size const. ext2fs/ 2001-01-07 Marcus Brinkmann <marcus@gnu.org> * dir.c: Make diskfs_dirstat_size const. isofs/ 2001-01-07 Marcus Brinkmann <marcus@gnu.org> * lookup.c: Make diskfs_dirstat_size const. ufs/ 2001-01-07 Marcus Brinkmann <marcus@gnu.org> * dir.c: Make diskfs_dirstat_size const. libdiskfs/ 2001-01-07 Marcus Brinkmann <marcus@gnu.org> * diskfs.h: Make diskfs_dirstat_size const. libdiskfs/ 2001-01-07 Marcus Brinkmann <marcus@gnu.org> * file-statfs.c: Include <string.h>. ftpfs/ 2001-01-07 Marcus Brinkmann <marcus@gnu.org> * dir.c (ftpfs_dir_create): Fix last change (calloc invocation). 2001-01-07 Marcus Brinkmann <marcus@gnu.org> * copy.c: Include <mach.h>. New macro page_aligned. (copy_write): Cast buf to vm_address_t in call to vm_write. Dereference amount for memcpy. (copy_read): Add len parameter to vm_read, remove redundant following len assignment.
2001-01-072000-12-21 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* 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-272000-11-27 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
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-262000-11-26 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
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-262000-11-26 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
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* Makefile (HURDLIBS): Reorder libs such that the threads libMark Kettenis
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-21.Roland McGrath
1999-11-211999-11-20 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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
1999-10-131999-10-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* main.c (diskfs_name_max): New variable.
1999-09-13Reverted changes related to io_map_segment.Roland McGrath
1999-09-081999-09-07 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* pager.c (diskfs_get_filemap): Accept additional parameter.
1999-07-111999-07-09 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* lookup.c (diskfs_get_directs): Use mmap instead of vm_allocate. * pager.c (pager_read_page): Likewise.
1999-07-11.Roland McGrath
1999-07-111999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* isofs.h: Add #include <sys/mman.h> for munmap decl.
1999-07-031999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* lookup.c (diskfs_get_directs): Use munmap instead of vm_deallocate.
1999-06-13.Roland McGrath
1999-06-131999-06-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* lookup.c (diskfs_get_directs): Add cast to silence warning.
1999-01-24.Roland McGrath
1999-01-241999-01-22 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* rr.c (rrip_work): Remove makedev macro definition.
1999-01-241999-01-23 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* main.c (main): Use diskfs_init_main.
1998-12-27.Roland McGrath
1998-12-271998-12-27 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* inode.c (diskfs_set_statfs): Remove __ from struct statfs members. Use bzero first instead of setting individual fields to zero.
1998-12-27.Roland McGrath
1998-12-271998-12-21 Mark Kettenis <kettenis@phys.uva.nl>Roland McGrath
* inode.c (diskfs_set_statfs): Fill in statfs members with sensible values.
1998-11-16*** empty log message ***Thomas Bushnell
1998-11-16.Roland McGrath
1998-11-16Wed Oct 28 22:52:04 1998 Joel N. Weber II <devnull@methedrine.ai.mit.edu>Roland McGrath
* inode.c (read_disknode): Use FSTYPE_ISO9660.
1998-09-04.Roland McGrath
1998-09-041998-09-04 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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
1997-09-22(diskfs_append_args):Miles Bader
New function.
1997-09-19(read_disknode):Miles Bader
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.
1997-09-19.Miles Bader
1997-09-19(rrip_work):Miles Bader
ER->lenid should be ER->len_id. Remove unused variable C.
1997-09-19(GNUEXT_ID):Miles Bader
Make value a string.
1997-09-16Tue Sep 16 15:34:21 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* Makefile (DIST_FILES): Add, referring to EXTENSIONS. * EXTENSIONS: New file.
1997-09-16Tue Sep 16 15:34:21 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* 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.
1997-08-20Wed Aug 20 14:29:11 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* pager.c (diskfs_get_filemap): If pager_create fails, return error to caller.