Commit Graph

33 Commits

Author SHA1 Message Date
jdolecek f251889358 Add per-mount filename conversion and compare hooks, which can be used
to recode Unicode names to other representation, like encoding form
or national character/code sets. This replaces the ugly NTFS_U28() hack.
Use these hooks to encode the filenames to UTF-8.
2001-02-13 19:53:52 +00:00
jdolecek 266e0c4853 ntfs_unmount(): make the first 'vflush failed' printf a debug message; this
happens fairly commonly if e.g. some files are still opened
	then the unmount is attempted
	* if the second vflush() (including system vnodes) fails, we should
	  probably panic, it's too serious; for now, just add a comment
2001-02-10 14:28:51 +00:00
jdolecek d9466585b7 make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const 2001-01-22 12:17:35 +00:00
mrg 8890e2439a <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 03:32:55 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
mrg c543a66253 remove some redundant <vm/vm_xxx.h> includes 2000-06-25 13:26:19 +00:00
augustss 169ac5b3c1 Remove register declarations. 2000-03-30 12:41:09 +00:00
simonb 02042ff82c Delete redundant decl of rootvp, it's in <sys/systm.h>.
Don't need <sys/conf.h>.
2000-03-30 02:47:18 +00:00
jdolecek 89015c4648 Add new VFS op routine - vfs_done and call it on filesystem detach
in vfs_detach(). vfs_done may free global filesystem's resources,
typically those allocated in respective filesystem's init function.
Needed so those filesystems which went in via LKM have a chance to
clean after themselves before unloading. This fixes random panics
when LKM for filesystem using pools was loaded and unloaded several
times.

For each leaf filesystem, add appropriate vfs_done routine.
2000-03-16 18:08:17 +00:00
jdolecek e20ce57cd6 Store also attribute identifier in the filehandle structure, so that
proper file attribute (a.k.a. "resource fork") is picked up when
the filehandle is mapped back to filesystem object.

This should make attributes working on NFS-exported NTFS filesystems
or other layered filesystems using filehandles.
2000-02-08 16:17:58 +00:00
jdolecek f8e7ae2c5b remove some staff not needed anymore after SOFTDEP is merged;
also fixes bug introduced in previous commit - the check for VBAD device node
  added in rev 1.20 was accidentaly run AFTER v_specinfo was touched,
  making the check useless
1999-11-15 19:38:14 +00:00
fvdl 0b1963121a Add Kirk McKusick's soft updates code to the trunk. Not enabled by
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.

Bump version number to 1.4O
1999-11-15 18:49:07 +00:00
jdolecek 2e860c12d3 pass the lock flags in the NetBSD version of VN_LOCK(), VGET(),
VOP__UNLOCK() macros, g/c VOP__LOCK()
add some comments
use LK_RETRY flag as appropriate
g/c the FreeBSD vnode_pager_uncache() staff, as was done in FreeBSD tree a while
	ago (actually, when they merged the first round of NetBSD patches)
use VN_LOCK() & VOP__UNLOCK() consistently throughout the code instead
	of vn_lock() and VOP_UNLOCK()
minor whitespace changes
1999-10-25 19:08:26 +00:00
enami fee96e1746 Check if the type of device node isn't VBAD before touching v_specinfo. If
the device vnode is revoked, the field is NULL and touching it causes null
pointer derefercence.
1999-10-20 14:32:09 +00:00
enami cbf7cef809 No need to clear SI_MOUNTEDON on mount failure. We make sure that it
is not set on start of mounting and never set unless success to mount.
1999-10-20 14:25:42 +00:00
jdolecek b30fcf9a56 lock the device vnode before calling VOP_CLOSE() only under NetBSD
some minor cleanup in ntfs_unmount()
1999-10-17 10:18:15 +00:00
wrstuden e682a080e9 In spec_close(), if we're not doing a non-blocking close and VXLOCK is
not set, unlock the vnode before calling the device's close routine and
relock it after it returns. tty close routines will sleep waiting for
buffers to drain, which won't happen often times as the other side needs
to grab the vnode lock first.

Make all unmount routines lock the device vnode before calling VOP_CLOSE().
1999-10-16 23:53:26 +00:00
jdolecek cfb7bf7fca * convert ntfs_nt{get|put|rele}() to lockmgr()-style locking and
guard the setting and checking of i_usecount by simplelock; as
  situation where there would be several users of same ntnode is
  extremery rare, it's not worth the efford to change the code to
  hold the (exclusive) lock only when it's needed

* in struct fnode, g/c f_dev & f_type (former is already in ntnode,
  latter is in parent vnode), move f_devvp from struct fnode into
  struct ntnode (no reason this should be copied in each fnode)
1999-10-09 14:27:42 +00:00
jdolecek 28d14a2c3b struct fnode cleanup:
* f_lock is only needed for FreeBSD (for their totally disgusting
	  and insane way of doing generic vnode locking)
	* g/c f_mp, it was write-only
	* some comments added
1999-09-29 15:58:28 +00:00
jdolecek 66f0e7b121 move definition of ntfs_fget() and ntfs_frele() to ntfs_subr.h and g/c
now obsolete ntfs_extern.h
1999-09-29 15:36:07 +00:00
jdolecek 3b49d9759d actually call ntfs_toupper_init() from ntfs_init() 1999-09-28 05:44:21 +00:00
jdolecek df6f3652dd ntfs_mountfs(): only print warnings iff NTFS_DEBUG 1999-09-13 20:21:45 +00:00
jdolecek dee4a028e7 actually implement ntfs_mountroot() 1999-09-10 17:30:08 +00:00
jdolecek d779b91513 make NTFS NFS exportable - that also means getfh(2) and other syscalls
using filehandles should work now for NTFS filesystem
some other misc cleanup
1999-09-10 16:14:02 +00:00
jdolecek d0409b449d adapt to ntfs_readattr() change: pass NULL as the struct uio * parameter 1999-09-05 10:45:03 +00:00
jdolecek 129d05b5b3 the Unicode uppercase translation table is read when first ntfs volume
is mounted and all ntfs volumes share it; the space occupied by the
table is freed upon last ntfs volumen umount. Saves 128KB for every
ntfs volume mounted.
XXX for now, read just first 256 entries - no more would be currently used
	anyway
1999-08-16 08:11:34 +00:00
jdolecek 053ce167b6 ntfs_statfs(): correct previous: only use mp->mnt_op->vfs_name on NetBSD,
FreeBSD does it differently
1999-07-29 07:55:23 +00:00
jdolecek 251052b682 ntfs_statfs(): don't forget to copy the fs name into struct statfs buffer
on NetBSD
ntfs_vgetex(): make compilable with NTFS_DEBUG defined (should be ok
	for both Free&NetBSD)
1999-07-28 20:42:54 +00:00
jdolecek 4d71da4939 ntfs_mount(): there is no bdevsw() under NetBSD - to check if passed
block device is valid, just check if it's major is less than nblkdev
ntfs_mountfs(): dev2udev() not needed under NetBSD
1999-07-26 14:35:19 +00:00
jdolecek afae7d7f3b resolve conflicts 1999-07-26 14:02:30 +00:00
thorpej dbdf646ecf Fix compilation problems on the Alpha. 1999-05-18 00:22:41 +00:00
christos d9a25d1815 Fix compilation problems. 1999-05-06 15:43:17 +00:00
christos b45af1f072 Import yesterday's NTFS FreeBSD source 1999-05-06 15:36:39 +00:00