summaryrefslogtreecommitdiff
path: root/isofs/lookup.c
AgeCommit message (Collapse)Author
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-262001-02-25 Roland McGrath <roland@frob.com>Roland McGrath
* lookup.c: Include <stdlib.h> for abort decl.
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.
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.
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-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-031999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* lookup.c (diskfs_get_directs): Use munmap instead of vm_deallocate.
1999-06-131999-06-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* lookup.c (diskfs_get_directs): Add cast to silence warning.
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-07-18Initial versions.Thomas Bushnell