Home | History | Annotate | Download | only in libsa
History log of /src/sys/lib/libsa/dosfs.c
RevisionDateAuthorComments
 1.23  22-Jan-2020  martin To support big partitions we need to make sure all byte offsets are calculated
in 64 bit arithmetic. Pointed out by Rob Newberry.
Unfortunately this causes a code size increase breaking some boot blocks,
so conditionalize it and use 32 bit arithmetic if SA_DOSFS_NO_BIG_PART_SUPPORT
is defined.
 1.22  31-Mar-2019  christos branches: 1.22.6;
fix warnings, printf formats, etc.
 1.21  11-Mar-2016  christos branches: 1.21.18;
PR/50952: David Binderman: Clarify expression
 1.20  20-Mar-2014  christos branches: 1.20.6;
reduce size by 1K by sharing the ls code.
 1.19  20-Oct-2013  christos use new function to avoid array overflow
 1.18  25-Dec-2011  tsutsui branches: 1.18.6; 1.18.10;
Apply the following patch submitted by Evgeniy Ivanov:
http://mail-index.NetBSD.org/tech-kern/2011/12/15/msg012226.html
http://mail-index.NetBSD.org/tech-kern/2011/12/17/msg012229.html

- add 'ls' op to struct fs_ops to support ls command on each fs,
enabled by -DLIBSA_ENABLE_LS_OP and SAMISCMAKEFLAGS+="SA_ENABLE_LS_OP=yes"
in libsa
- split sys/lib/libsa/ufs_ls.c into UFS specific part and MI part (ls.c)
that opens the target fs and calls fs-depedent XXX_ls() functions
- add a ls op for ext2fs
(all other fs than ufs and ext2fs don't have actual ls ops yet)
- replace existing MD ufs_ls() calls with this new MI ls()

The original patch was written for i386 and ext2fs.
zaurus zboot has been tested by nonaka@.
ews4800mips and x68k loaders have been tested by me (with several fixes).
landisk might be okay since it was almost copied from i386.

XXX1: "ls" op in fs_ops looks a bit inconsistent, but we will be able to
replace it with real fs ops like readdir if it's really worth
XXX2: someone might have to check sys/arch/ia64/stand/efi/libefi/efifs_ls.c
 1.17  16-Jun-2011  joerg branches: 1.17.2; 1.17.6;
Add an optional MD calling convention flag for use in libsa when space
optimisation is critical. Use this on i386 to switch to register passing
calling convention for the file system entry points and most assembler
call backs that have to preserve at least 3 registers.
 1.16  24-Nov-2008  ad branches: 1.16.14;
msdosfs -> msdos
 1.15  19-Nov-2008  ad For the x86 boot loader, autoload a kernel module corresponding to the
root file system type.
 1.14  25-Mar-2008  christos branches: 1.14.4; 1.14.10; 1.14.12;
- use mem* instead of b* routines, and kill the b* routines.
- use the mem* routines from libc.
XXX: There will be some lossage, but I am fixing it.
 1.13  14-Mar-2008  dsl Add a local strcasecmp() instead of pulling the bloat from libkern.
 1.12  24-Nov-2007  isaki branches: 1.12.10; 1.12.14;
style, indent, and ANSI-fy.
 1.11  02-Dec-2006  dogcow branches: 1.11.18; 1.11.20; 1.11.26;
make bootxx_msdos fit in 8k again; thanks, __internal_memset_, for spilling
registers all over the place.
 1.10  25-Jan-2006  christos branches: 1.10.18; 1.10.20; 1.10.22;
free -> dealloc
 1.9  11-Dec-2005  christos branches: 1.9.2;
merge ktrace-lwp.
 1.8  31-Aug-2003  fvdl branches: 1.8.16;
Fix signed/unsigned warnings.
 1.7  18-Aug-2003  dsl make 'path' argument to ufs_open 'const char *' and fix the fallout.
 1.6  15-Jul-2003  scw In lookup(), don't free "dir" on exit if we found a matching entry.
Otherwise the caller ends up with a pointer to free'd memory...
 1.5  30-Dec-2002  veego branches: 1.5.2;
Fix broken build due too the move of the cd9660 and msdosfs kernel source code.
 1.4  09-Nov-2000  matt branches: 1.4.2; 1.4.4;
dos_unmount is only is dos_close is present but so conditionalize it like
dos_close.
 1.3  08-Nov-2000  matt avoid pointer addition on void pointers
 1.2  02-Nov-2000  thorpej Sprinkle some const -- gets things out of the .data segment, which
is important in the i386 boot blocks (grmumble).
 1.1  02-Nov-2000  thorpej Add a standalone MS-DOS file system reader package, lifted
from FreeBSD, and modified use NetBSD's already-existing
MS-DOS file system data structure definitions, rather than
defining our own.
 1.4.4.1  30-Dec-2002  thorpej Sync with HEAD.
 1.4.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.4.2.1  09-Nov-2000  bouyer file dosfs.c was added on branch thorpej_scsipi on 2000-11-22 16:05:41 +0000
 1.5.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1  03-Aug-2004  skrll Sync with HEAD
 1.8.16.4  17-Mar-2008  yamt sync with head.
 1.8.16.3  07-Dec-2007  yamt sync with head
 1.8.16.2  30-Dec-2006  yamt sync with head.
 1.8.16.1  21-Jun-2006  yamt sync with head.
 1.9.2.1  01-Feb-2006  yamt sync with head.
 1.10.22.1  02-Dec-2006  bouyer Pull up following revision(s) (requested by dogcow in ticket #240):
sys/lib/libsa/dosfs.c: revision 1.11
make bootxx_msdos fit in 8k again; thanks, __internal_memset_, for spilling
registers all over the place.
 1.10.20.1  10-Dec-2006  yamt sync with head.
 1.10.18.1  12-Jan-2007  ad Sync with head.
 1.11.26.1  08-Dec-2007  mjf Sync with HEAD.
 1.11.20.2  23-Mar-2008  matt sync with HEAD
 1.11.20.1  09-Jan-2008  matt sync with HEAD
 1.11.18.1  27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.12.14.2  17-Jan-2009  mjf Sync with HEAD.
 1.12.14.1  03-Apr-2008  mjf Sync with HEAD.
 1.12.10.1  24-Mar-2008  keiichi sync with head.
 1.14.12.1  19-Jan-2009  skrll Sync with HEAD.
 1.14.10.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.14.4.1  04-May-2009  yamt sync with head.
 1.16.14.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.17.6.1  18-Feb-2012  mrg merge to -current.
 1.17.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.17.2.1  17-Apr-2012  yamt sync with head
 1.18.10.1  18-May-2014  rmind sync with head
 1.18.6.2  03-Dec-2017  jdolecek update from HEAD
 1.18.6.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.6.1  19-Mar-2016  skrll Sync with HEAD
 1.21.18.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.21.18.1  10-Jun-2019  christos Sync with HEAD
 1.22.6.1  25-Jan-2020  ad Sync with head.

RSS XML Feed