head 1.3; access; symbols netbsd-11-0-RC4:1.3 netbsd-11-0-RC3:1.3 netbsd-11-0-RC2:1.3 netbsd-11-0-RC1:1.3 perseant-exfatfs-base-20250801:1.3 netbsd-11:1.3.0.164 netbsd-11-base:1.3 netbsd-10-1-RELEASE:1.3 perseant-exfatfs-base-20240630:1.3 perseant-exfatfs:1.3.0.162 perseant-exfatfs-base:1.3 netbsd-8-3-RELEASE:1.3 netbsd-9-4-RELEASE:1.3 netbsd-10-0-RELEASE:1.3 netbsd-10-0-RC6:1.3 netbsd-10-0-RC5:1.3 netbsd-10-0-RC4:1.3 netbsd-10-0-RC3:1.3 netbsd-10-0-RC2:1.3 thorpej-ifq:1.3.0.160 thorpej-ifq-base:1.3 thorpej-altq-separation:1.3.0.158 thorpej-altq-separation-base:1.3 netbsd-10-0-RC1:1.3 netbsd-10:1.3.0.156 netbsd-10-base:1.3 bouyer-sunxi-drm:1.3.0.154 bouyer-sunxi-drm-base:1.3 netbsd-9-3-RELEASE:1.3 thorpej-i2c-spi-conf2:1.3.0.152 thorpej-i2c-spi-conf2-base:1.3 thorpej-futex2:1.3.0.150 thorpej-futex2-base:1.3 thorpej-cfargs2:1.3.0.148 thorpej-cfargs2-base:1.3 cjep_sun2x-base1:1.3 cjep_sun2x:1.3.0.146 cjep_sun2x-base:1.3 cjep_staticlib_x-base1:1.3 netbsd-9-2-RELEASE:1.3 cjep_staticlib_x:1.3.0.144 cjep_staticlib_x-base:1.3 thorpej-i2c-spi-conf:1.3.0.142 thorpej-i2c-spi-conf-base:1.3 thorpej-cfargs:1.3.0.140 thorpej-cfargs-base:1.3 thorpej-futex:1.3.0.138 thorpej-futex-base:1.3 netbsd-9-1-RELEASE:1.3 bouyer-xenpvh-base2:1.3 phil-wifi-20200421:1.3 bouyer-xenpvh-base1:1.3 phil-wifi-20200411:1.3 bouyer-xenpvh:1.3.0.136 bouyer-xenpvh-base:1.3 is-mlppp:1.3.0.134 is-mlppp-base:1.3 phil-wifi-20200406:1.3 netbsd-8-2-RELEASE:1.3 ad-namecache-base3:1.3 netbsd-9-0-RELEASE:1.3 netbsd-9-0-RC2:1.3 ad-namecache-base2:1.3 ad-namecache-base1:1.3 ad-namecache:1.3.0.132 ad-namecache-base:1.3 netbsd-9-0-RC1:1.3 phil-wifi-20191119:1.3 netbsd-9:1.3.0.130 netbsd-9-base:1.3 phil-wifi-20190609:1.3 netbsd-8-1-RELEASE:1.3 netbsd-8-1-RC1:1.3 isaki-audio2:1.3.0.128 isaki-audio2-base:1.3 pgoyette-compat-merge-20190127:1.3 pgoyette-compat-20190127:1.3 pgoyette-compat-20190118:1.3 pgoyette-compat-1226:1.3 pgoyette-compat-1126:1.3 pgoyette-compat-1020:1.3 pgoyette-compat-0930:1.3 pgoyette-compat-0906:1.3 netbsd-7-2-RELEASE:1.3 pgoyette-compat-0728:1.3 netbsd-8-0-RELEASE:1.3 phil-wifi:1.3.0.126 phil-wifi-base:1.3 pgoyette-compat-0625:1.3 netbsd-8-0-RC2:1.3 pgoyette-compat-0521:1.3 pgoyette-compat-0502:1.3 pgoyette-compat-0422:1.3 netbsd-8-0-RC1:1.3 pgoyette-compat-0415:1.3 pgoyette-compat-0407:1.3 pgoyette-compat-0330:1.3 pgoyette-compat-0322:1.3 pgoyette-compat-0315:1.3 netbsd-7-1-2-RELEASE:1.3 pgoyette-compat:1.3.0.124 pgoyette-compat-base:1.3 netbsd-7-1-1-RELEASE:1.3 tls-maxphys-base-20171202:1.3 matt-nb8-mediatek:1.3.0.122 matt-nb8-mediatek-base:1.3 nick-nhusb-base-20170825:1.3 perseant-stdc-iso10646:1.3.0.120 perseant-stdc-iso10646-base:1.3 netbsd-8:1.3.0.118 netbsd-8-base:1.3 prg-localcount2-base3:1.3 prg-localcount2-base2:1.3 prg-localcount2-base1:1.3 prg-localcount2:1.3.0.116 prg-localcount2-base:1.3 pgoyette-localcount-20170426:1.3 bouyer-socketcan-base1:1.3 jdolecek-ncq:1.3.0.114 jdolecek-ncq-base:1.3 pgoyette-localcount-20170320:1.3 netbsd-7-1:1.3.0.112 netbsd-7-1-RELEASE:1.3 netbsd-7-1-RC2:1.3 nick-nhusb-base-20170204:1.3 netbsd-7-nhusb-base-20170116:1.3 bouyer-socketcan:1.3.0.110 bouyer-socketcan-base:1.3 pgoyette-localcount-20170107:1.3 netbsd-7-1-RC1:1.3 nick-nhusb-base-20161204:1.3 pgoyette-localcount-20161104:1.3 netbsd-7-0-2-RELEASE:1.3 nick-nhusb-base-20161004:1.3 localcount-20160914:1.3 netbsd-7-nhusb:1.3.0.108 netbsd-7-nhusb-base:1.3 pgoyette-localcount-20160806:1.3 pgoyette-localcount-20160726:1.3 pgoyette-localcount:1.3.0.106 pgoyette-localcount-base:1.3 nick-nhusb-base-20160907:1.3 nick-nhusb-base-20160529:1.3 netbsd-7-0-1-RELEASE:1.3 nick-nhusb-base-20160422:1.3 nick-nhusb-base-20160319:1.3 nick-nhusb-base-20151226:1.3 netbsd-7-0:1.3.0.104 netbsd-7-0-RELEASE:1.3 nick-nhusb-base-20150921:1.3 netbsd-7-0-RC3:1.3 netbsd-7-0-RC2:1.3 netbsd-7-0-RC1:1.3 nick-nhusb-base-20150606:1.3 nick-nhusb-base-20150406:1.3 nick-nhusb:1.3.0.102 nick-nhusb-base:1.3 netbsd-5-2-3-RELEASE:1.3 netbsd-5-1-5-RELEASE:1.3 netbsd-6-0-6-RELEASE:1.3 netbsd-6-1-5-RELEASE:1.3 netbsd-7:1.3.0.100 netbsd-7-base:1.3 yamt-pagecache-base9:1.3 yamt-pagecache-tag8:1.3 netbsd-6-1-4-RELEASE:1.3 netbsd-6-0-5-RELEASE:1.3 tls-earlyentropy:1.3.0.98 tls-earlyentropy-base:1.3 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.3 riastradh-drm2-base3:1.3 netbsd-6-1-3-RELEASE:1.3 netbsd-6-0-4-RELEASE:1.3 netbsd-5-2-2-RELEASE:1.3 netbsd-5-1-4-RELEASE:1.3 netbsd-6-1-2-RELEASE:1.3 netbsd-6-0-3-RELEASE:1.3 netbsd-5-2-1-RELEASE:1.3 netbsd-5-1-3-RELEASE:1.3 rmind-smpnet-nbase:1.3 netbsd-6-1-1-RELEASE:1.3 riastradh-drm2-base2:1.3 riastradh-drm2-base1:1.3 riastradh-drm2:1.3.0.96 riastradh-drm2-base:1.3 rmind-smpnet:1.3.0.88 rmind-smpnet-base:1.3 netbsd-6-1:1.3.0.94 netbsd-6-0-2-RELEASE:1.3 netbsd-6-1-RELEASE:1.3 khorben-n900:1.3.0.92 netbsd-6-1-RC4:1.3 netbsd-6-1-RC3:1.3 agc-symver:1.3.0.90 agc-symver-base:1.3 netbsd-6-1-RC2:1.3 netbsd-6-1-RC1:1.3 yamt-pagecache-base8:1.3 netbsd-5-2:1.3.0.86 netbsd-6-0-1-RELEASE:1.3 yamt-pagecache-base7:1.3 netbsd-5-2-RELEASE:1.3 netbsd-5-2-RC1:1.3 matt-nb6-plus-nbase:1.3 yamt-pagecache-base6:1.3 netbsd-6-0:1.3.0.84 netbsd-6-0-RELEASE:1.3 netbsd-6-0-RC2:1.3 tls-maxphys:1.3.0.82 tls-maxphys-base:1.3 matt-nb6-plus:1.3.0.80 matt-nb6-plus-base:1.3 netbsd-6-0-RC1:1.3 jmcneill-usbmp-base10:1.3 yamt-pagecache-base5:1.3 jmcneill-usbmp-base9:1.3 yamt-pagecache-base4:1.3 jmcneill-usbmp-base8:1.3 jmcneill-usbmp-base7:1.3 jmcneill-usbmp-base6:1.3 jmcneill-usbmp-base5:1.3 jmcneill-usbmp-base4:1.3 jmcneill-usbmp-base3:1.3 jmcneill-usbmp-pre-base2:1.3 jmcneill-usbmp-base2:1.3 netbsd-6:1.3.0.78 netbsd-6-base:1.3 netbsd-5-1-2-RELEASE:1.3 netbsd-5-1-1-RELEASE:1.3 jmcneill-usbmp:1.3.0.76 jmcneill-usbmp-base:1.3 jmcneill-audiomp3:1.3.0.74 jmcneill-audiomp3-base:1.3 yamt-pagecache-base3:1.3 yamt-pagecache-base2:1.3 yamt-pagecache:1.3.0.72 yamt-pagecache-base:1.3 rmind-uvmplock-nbase:1.3 cherry-xenmp:1.3.0.70 cherry-xenmp-base:1.3 bouyer-quota2-nbase:1.3 bouyer-quota2:1.3.0.68 bouyer-quota2-base:1.3 jruoho-x86intr:1.3.0.66 jruoho-x86intr-base:1.3 matt-mips64-premerge-20101231:1.3 matt-nb5-mips64-premerge-20101231:1.3 matt-nb5-pq3:1.3.0.64 matt-nb5-pq3-base:1.3 netbsd-5-1:1.3.0.62 netbsd-5-1-RELEASE:1.3 uebayasi-xip-base4:1.3 uebayasi-xip-base3:1.3 yamt-nfs-mp-base11:1.3 netbsd-5-1-RC4:1.3 matt-nb5-mips64-k15:1.3 uebayasi-xip-base2:1.3 yamt-nfs-mp-base10:1.3 netbsd-5-1-RC3:1.3 netbsd-5-1-RC2:1.3 uebayasi-xip-base1:1.3 netbsd-5-1-RC1:1.3 rmind-uvmplock:1.3.0.60 rmind-uvmplock-base:1.3 yamt-nfs-mp-base9:1.3 uebayasi-xip:1.3.0.58 uebayasi-xip-base:1.3 netbsd-5-0-2-RELEASE:1.3 matt-nb5-mips64-premerge-20091211:1.3 matt-premerge-20091211:1.3 yamt-nfs-mp-base8:1.3 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.3 matt-nb4-mips64-k7-u2a-k9b:1.3 matt-nb5-mips64-u1-k1-k5:1.3 yamt-nfs-mp-base7:1.3 matt-nb5-mips64:1.3.0.56 netbsd-5-0-1-RELEASE:1.3 jymxensuspend-base:1.3 yamt-nfs-mp-base6:1.3 yamt-nfs-mp-base5:1.3 yamt-nfs-mp-base4:1.3 jym-xensuspend-nbase:1.3 yamt-nfs-mp-base3:1.3 nick-hppapmap-base4:1.3 nick-hppapmap-base3:1.3 netbsd-5-0:1.3.0.54 netbsd-5-0-RELEASE:1.3 netbsd-5-0-RC4:1.3 netbsd-5-0-RC3:1.3 nick-hppapmap-base2:1.3 netbsd-5-0-RC2:1.3 jym-xensuspend:1.3.0.52 jym-xensuspend-base:1.3 netbsd-5-0-RC1:1.3 haad-dm-base2:1.3 haad-nbase2:1.3 ad-audiomp2:1.3.0.50 ad-audiomp2-base:1.3 netbsd-5:1.3.0.48 netbsd-5-base:1.3 nick-hppapmap:1.3.0.46 nick-hppapmap-base:1.3 matt-mips64-base2:1.3 matt-mips64:1.3.0.44 haad-dm-base1:1.3 wrstuden-revivesa-base-4:1.3 wrstuden-revivesa-base-3:1.3 wrstuden-revivesa-base-2:1.3 nick-csl-alignment-base5:1.3 haad-dm:1.3.0.42 haad-dm-base:1.3 wrstuden-revivesa-base-1:1.3 simonb-wapbl-nbase:1.3 yamt-pf42-base4:1.3 simonb-wapbl:1.3.0.40 simonb-wapbl-base:1.3 yamt-pf42-base3:1.3 hpcarm-cleanup-nbase:1.3 yamt-pf42-baseX:1.3 yamt-pf42-base2:1.3 yamt-nfs-mp-base2:1.3 wrstuden-revivesa:1.3.0.38 wrstuden-revivesa-base:1.3 yamt-nfs-mp:1.3.0.36 yamt-nfs-mp-base:1.3 yamt-pf42:1.3.0.34 yamt-pf42-base:1.3 ad-socklock-base1:1.3 yamt-lazymbuf-base15:1.3 yamt-lazymbuf-base14:1.3 keiichi-mipv6-nbase:1.3 mjf-devfs2:1.3.0.32 mjf-devfs2-base:1.3 nick-net80211-sync:1.3.0.30 nick-net80211-sync-base:1.3 keiichi-mipv6:1.3.0.28 keiichi-mipv6-base:1.3 bouyer-xeni386-merge1:1.3 matt-armv6-prevmlocking:1.3 vmlocking2-base3:1.3 bouyer-xeni386-nbase:1.3 yamt-kmem-base3:1.3 cube-autoconf:1.3.0.26 cube-autoconf-base:1.3 yamt-kmem-base2:1.3 bouyer-xeni386:1.3.0.24 bouyer-xeni386-base:1.3 yamt-kmem:1.3.0.22 yamt-kmem-base:1.3 vmlocking2-base2:1.3 reinoud-bufcleanup-nbase:1.3 vmlocking2:1.3.0.20 vmlocking2-base1:1.3 matt-armv6-nbase:1.3 jmcneill-base:1.3 mjf-devfs:1.3.0.18 mjf-devfs-base:1.3 bouyer-xenamd64-base2:1.3 vmlocking-nbase:1.3 yamt-x86pmap-base4:1.3 bouyer-xenamd64:1.3.0.16 bouyer-xenamd64-base:1.3 yamt-x86pmap-base3:1.3 yamt-x86pmap-base2:1.3 yamt-x86pmap:1.3.0.14 yamt-x86pmap-base:1.3 yamt-lazymbuf:1.3.0.12 matt-armv6:1.3.0.10 matt-armv6-base:1.3 matt-mips64-base:1.3 jmcneill-pm:1.3.0.8 jmcneill-pm-base:1.3 hpcarm-cleanup:1.3.0.6 hpcarm-cleanup-base:1.3 nick-csl-alignment:1.3.0.4 nick-csl-alignment-base:1.3 yamt-idlelwp-base8:1.3 thorpej-atomic:1.3.0.2 thorpej-atomic-base:1.3 reinoud-bufcleanup:1.2.0.8 reinoud-bufcleanup-base:1.3 mjf-ufs-trans:1.2.0.6 mjf-ufs-trans-base:1.3 yamt-idlelwp:1.2.0.4 vmlocking:1.2.0.2 vmlocking-base:1.3 gsoc-2005:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.3 date 2007.03.22.13.20.13; author dillo; state Exp; branches 1.3.12.1; next 1.2; 1.2 date 2007.03.06.11.28.47; author dillo; state Exp; branches 1.2.2.1 1.2.4.1 1.2.6.1 1.2.8.1; next 1.1; 1.1 date 2007.03.06.00.10.34; author dillo; state Exp; branches 1.1.1.1; next ; 1.3.12.1 date 2007.03.22.13.20.13; author yamt; state dead; branches; next 1.3.12.2; 1.3.12.2 date 2007.09.03.14.40.19; author yamt; state Exp; branches; next ; 1.2.2.1 date 2007.04.10.13.26.34; author ad; state Exp; branches; next ; 1.2.4.1 date 2007.03.06.11.28.47; author rmind; state dead; branches; next 1.2.4.2; 1.2.4.2 date 2007.03.12.06.14.51; author rmind; state Exp; branches; next 1.2.4.3; 1.2.4.3 date 2007.03.24.14.55.56; author yamt; state Exp; branches; next ; 1.2.6.1 date 2007.07.11.20.09.21; author mjf; state Exp; branches; next ; 1.2.8.1 date 2007.03.29.19.27.54; author reinoud; state Exp; branches; next ; 1.1.1.1 date 2007.03.06.00.10.34; author dillo; state Exp; branches; next ; desc @@ 1.3 log @Add a few. @ text @[dillo] - add . and .. to dir listing - check _lookup locking (deleted PDIRUNLOCK) - unicode decomposition - make type/creator accessible - mount options: default uid/gid/mode - return correct error for device not ready (CD) (not Operation not Permitted) - use lookup cache - use pool for struct hfsnode - reduce use of malloc and memcpy - slim down libhfs - replace cbargs with void * - remove openvol callback - remove HFS_LIBERR - union/nfs support - KNF - update copyright of apmlabel - scan APM when synthesizing disklabel Last revision: 2005-08-31 There are HEAPS of limitations and deficiencies in this implementation. In fact, this code doesn't do a lot more than the very bare minimum needed to even be called an HFS+ filesystem. Some of the most notable features that need to be written or improved are, in approximate order of importance: - uid/gid remapping for non-superusers (possibly) - support for special nodes - MASSIVE performance and memory optimization, using lots of caching; this fs is about as unoptimized as you can get - better error handling - usage of UBC and memory pools - handling of bad blocks - HFS wrapper support - NFS support - union mount support - check for broken functionality or security risks due to insufficient range checking - regression tests - allow volume to be used as root filesystem - reformat the code to use 8-space tabs :-\ This is, of course, in addition to the missing major features: - write support - journal support - fsck_hfs, newfs_hfs - vanilla HFS support - man pages and lots of other documentation @ 1.3.12.1 log @file TODO was added on branch yamt-lazymbuf on 2007-09-03 14:40:18 +0000 @ text @d1 53 @ 1.3.12.2 log @sync with head. @ text @a0 53 [dillo] - add . and .. to dir listing - check _lookup locking (deleted PDIRUNLOCK) - unicode decomposition - make type/creator accessible - mount options: default uid/gid/mode - return correct error for device not ready (CD) (not Operation not Permitted) - use lookup cache - use pool for struct hfsnode - reduce use of malloc and memcpy - slim down libhfs - replace cbargs with void * - remove openvol callback - remove HFS_LIBERR - union/nfs support - KNF - update copyright of apmlabel - scan APM when synthesizing disklabel Last revision: 2005-08-31 There are HEAPS of limitations and deficiencies in this implementation. In fact, this code doesn't do a lot more than the very bare minimum needed to even be called an HFS+ filesystem. Some of the most notable features that need to be written or improved are, in approximate order of importance: - uid/gid remapping for non-superusers (possibly) - support for special nodes - MASSIVE performance and memory optimization, using lots of caching; this fs is about as unoptimized as you can get - better error handling - usage of UBC and memory pools - handling of bad blocks - HFS wrapper support - NFS support - union mount support - check for broken functionality or security risks due to insufficient range checking - regression tests - allow volume to be used as root filesystem - reformat the code to use 8-space tabs :-\ This is, of course, in addition to the missing major features: - write support - journal support - fsck_hfs, newfs_hfs - vanilla HFS support - man pages and lots of other documentation @ 1.2 log @Complete rename of hfsp to hfs, requested by thorpej. @ text @d3 1 d12 4 a15 1 - slim down libhfs (e.g. replace cbargs with void *) d20 2 @ 1.2.4.1 log @file TODO was added on branch yamt-idlelwp on 2007-03-12 06:14:51 +0000 @ text @d1 47 @ 1.2.4.2 log @Sync with HEAD (missed new files in previous). @ text @a0 47 [dillo] - check _lookup locking (deleted PDIRUNLOCK) - unicode decomposition - make type/creator accessible - mount options: default uid/gid/mode - return correct error for device not ready (CD) (not Operation not Permitted) - use lookup cache - use pool for struct hfsnode - reduce use of malloc and memcpy - slim down libhfs (e.g. replace cbargs with void *) - union/nfs support - KNF - update copyright of apmlabel Last revision: 2005-08-31 There are HEAPS of limitations and deficiencies in this implementation. In fact, this code doesn't do a lot more than the very bare minimum needed to even be called an HFS+ filesystem. Some of the most notable features that need to be written or improved are, in approximate order of importance: - uid/gid remapping for non-superusers (possibly) - support for special nodes - MASSIVE performance and memory optimization, using lots of caching; this fs is about as unoptimized as you can get - better error handling - usage of UBC and memory pools - handling of bad blocks - HFS wrapper support - NFS support - union mount support - check for broken functionality or security risks due to insufficient range checking - regression tests - allow volume to be used as root filesystem - reformat the code to use 8-space tabs :-\ This is, of course, in addition to the missing major features: - write support - journal support - fsck_hfs, newfs_hfs - vanilla HFS support - man pages and lots of other documentation @ 1.2.4.3 log @sync with head. @ text @a2 1 - add . and .. to dir listing d11 1 a11 4 - slim down libhfs - replace cbargs with void * - remove openvol callback - remove HFS_LIBERR a15 2 - scan APM when synthesizing disklabel @ 1.2.6.1 log @Sync with head. @ text @a2 1 - add . and .. to dir listing d11 1 a11 4 - slim down libhfs - replace cbargs with void * - remove openvol callback - remove HFS_LIBERR a15 2 - scan APM when synthesizing disklabel @ 1.2.2.1 log @Sync with head. @ text @a2 1 - add . and .. to dir listing d11 1 a11 4 - slim down libhfs - replace cbargs with void * - remove openvol callback - remove HFS_LIBERR a15 2 - scan APM when synthesizing disklabel @ 1.2.8.1 log @Pullup to -current @ text @a2 1 - add . and .. to dir listing d11 1 a11 4 - slim down libhfs - replace cbargs with void * - remove openvol callback - remove HFS_LIBERR a15 2 - scan APM when synthesizing disklabel @ 1.1 log @Initial revision @ text @d9 1 a9 1 - use pool for struct hfspnode d11 1 a11 1 - slim down libhfsp (e.g. replace cbargs with void *) d45 1 a45 1 - fsck_hfsp, newfs_hfsp @ 1.1.1.1 log @nitial import of (experimental read-only) implementation of Apple HFS+ file system. Originally developed for Google Summer of Code 2005 by Yevgeny Binder, updated and enhanced by me. @ text @@