Commit Graph

107 Commits

Author SHA1 Message Date
jdolecek af47d3d9a9 ntfs_lookup()
* print just the relevant part of cnp->cn_nameptr in debug printf
	* if ntfs_ntlookupfile() returned with error, print the returned
	  error if debugging
1999-10-10 14:19:54 +00:00
jdolecek 105c2e3075 ntfs_nt{get|put|rele}() really are necessary, since ntnode may be
shared by several fnodes when the file is simultaneonsly opened by
several callers and different "attributes" (a.k.a.  resource forks)
are requested. They have been converted to use lockmgr()-style locking.
1999-10-09 14:29:36 +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 3631d421fe make compilable with NTFS_DEBUG defined
Noted by Patrick Welche
1999-10-01 20:01:20 +00:00
jdolecek c8cbfeffb4 mention ntfs_nt{get|put|rele}() staff 1999-09-30 16:59:14 +00:00
jdolecek 3bc0f4abd1 convert ntfs_ntlookup() to use lockmgr()-style locking, instead of it's
home brewed variant
1999-09-30 16:56:40 +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 bb9c5c97e2 one less - there is not point in optimizing ntfs_ntvattrget(), as the right
entry is found in 3rd pass at maximum; the duplicated code has been put
into new function ntfs_findvattr()
1999-09-29 15:31:11 +00:00
jdolecek 3ff26c418a ntfs_ntvattrget(): move duplicated code to separate function
ntfs_findvattr(), AALPCMP --> NTFS_AALPCMP, avoid excessive
	intendation, fix debug printf when the attribute is not found
	to print only first namelen characters of name
some minor KNF and const poisoning
ntfs_ntlookupattr(): make it static, collapse duplicated code
ntfs_ntlookupfile(): avoid memory leak, explicitly set error to 0 when
	returning success
kill some bogus comments
1999-09-28 06:10:31 +00:00
jdolecek 3b49d9759d actually call ntfs_toupper_init() from ntfs_init() 1999-09-28 05:44:21 +00:00
jdolecek 1bc1c2815d cleanup 1999-09-24 15:22:32 +00:00
jdolecek 5fc5120c8e drop support for pre-104050000 NetBSD 1999-09-22 14:39:53 +00:00
jdolecek df6f3652dd ntfs_mountfs(): only print warnings iff NTFS_DEBUG 1999-09-13 20:21:45 +00:00
jdolecek 8afb0d9308 pull-in <sys/mount.h> for definition of struct netexport 1999-09-12 16:41:05 +00:00
jdolecek 1ec1b491a9 Argh, actually commit the update of ntfsmount structure for NFS
export support, so that it actually compiles.

Thanks Lennart!
1999-09-11 15:55:12 +00:00
jdolecek 993576f366 mountroot support written, need to really implement sync support and
add support for NTFS to libsa
1999-09-10 17:32:17 +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 23957b8977 next one 1999-09-09 19:17:17 +00:00
jdolecek 1c3be48c62 add pathconf(2) support 1999-09-09 18:10:23 +00:00
jdolecek b177baf591 make separate NetBSD version of the ntfs_vnodeop_entries[] array
and reformat it as it's usual in other fs's, use genfs
routines appropriately and use genfs's fsync() instead noop
ntfs_fsync()
1999-09-09 17:59:25 +00:00
jdolecek 1de19dc293 ntfs_lookup(): fix nasty interaction of the code with recent cache_lookup()
changes: cache_lookup() now returns -1 if not successful; for
	the '.' case, 'error' haven't been cleared to 0,
	so that ntfs_lookup() itself returned -1 , resulting to
	nasty "leaf should be empty" panic early after
1999-09-09 16:29:46 +00:00
jdolecek cc0fdcd9f1 some more 1999-09-09 07:35:15 +00:00
jdolecek 1e99130f2e Use unixish term "hole" instead od "sparce" (which looks like it
should be "sparse" anyway).

Noted by Soren Jorvang <soren@NetBSD.org>.
1999-09-07 08:16:13 +00:00
jdolecek 7dfaa17700 Adapt to cache_lookup() changes.
Tested by: jdolecek
Rewieved by: wrstuden
1999-09-05 14:26:32 +00:00
jdolecek 1a0dc06af2 argh, forgot to add the implementation of ntfs_u28() 1999-09-05 12:30:56 +00:00
jdolecek dd0b9ad4e0 s/ntfs exportable/ntfs nfs exportable 1999-09-05 12:17:22 +00:00
jdolecek 0ba29f45c8 one less: ntfs_read(), ntfs_write() don't use any temporary buffer anymore,
the uio struct is passed to appropriate *attr*() functions
1999-09-05 11:19:01 +00:00
jdolecek 6f7dc58140 ntfs_read(), ntfs_write(): pass the uio struct to appropriate read/write
routines - avoids potential DoS attack and closes an easy way to force
	the kernel to panic
	* for read(), DTRT WRT offset bigger than file size
ntfs_strategy(): adapt to ntfs_readattr() change
ntfs_readdir(): use ntfs_u28() to translate the file name characters
	to 8bit encoding, avoid excessive intendation, reformat the
	debug messages slightly
1999-09-05 11:09:03 +00:00
jdolecek d0409b449d adapt to ntfs_readattr() change: pass NULL as the struct uio * parameter 1999-09-05 10:45:03 +00:00
augustss 39e85679c4 Make it compile again. 1999-09-04 22:12:15 +00:00
jdolecek 2f7c750c12 change ntfs_read*attr*() and ntfs_write*attr*() to accept struct
uio parameter; if it's not null, the data are copied directly
	into/from the user buffer via uiomove()
new macro NTFS_U28() and function ntfs_u28() to convert between Unicode
	and 8bit encoding; all it does currently is getting lower 8bit
	of the Unicode char and subtituting '_' for it if the result would be 0;
	use the macro within NTFS_TOUPPER() macro and in ntfs_uastrcmp()
g/c the (ntfsmount *) parametr to ntfs_u*astr[i]cmp() functions, it's no
	longer needed
avoid excessive intendation
1999-09-04 18:56:01 +00:00
jdolecek f20aa96271 add more items, correct a few sentences 1999-08-30 11:33:41 +00:00
augustss abebf3e12d Make it compile with DIAGNOSTIC. 1999-08-18 16:25:52 +00:00
jdolecek 1647f47ddf list of things which need to be done 1999-08-18 15:05:10 +00:00
jdolecek b8947f73c1 s/ntfs_toupper_used/ntfs_toupper_usecount/, make it static
ntfs_toupper_unuse(): check if ntfs_toupper_usecount is negative only when
	DIAGNOSTIC
1999-08-18 13:35:44 +00:00
jdolecek aface6ce9f guard PDIRUNLOCK usage with ifdef __NetBSD__ where appripriate 1999-08-16 15:52:05 +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
ross a404c48c54 Another size_t printf kludge, sigh. XXX noted in source. 1999-08-08 00:40:06 +00:00
jdolecek eadf853bb8 define M_NTFS and use it instead of M_TEMP when allocating memory
for NTFS structures
1999-08-04 18:56:35 +00:00
jdolecek 419f8e4fd4 defopt NTFS_DEBUG 1999-08-04 18:46:58 +00:00
jdolecek 387c0ba4b3 fix a warning 1999-08-04 18:39:08 +00:00
jdolecek 2092677df5 ntfs_lookup():
* return EROFS for volume mounted RO when the nameiop is DELETE or RENAME
	(the same way ufs_lookup() does)
* add explicit call to cache_lookup() on NetBSD (handled by generic VFS
	layer in FreeBSD)
* avoid using strncmp() when checking whether the name is . or ..
* fix locking of parent directory for ISDOTDOT case
* call cache_enter() always (even for . and ..)
* vnodeops array: add entry for vop_fcntl_desc, remove unnecessary casts

Reviewed by: wrstuden
Tested by: jdolecek
1999-08-04 18:17:00 +00:00
jdolecek cd613f7348 ntfs_{read|write}ntvattr_plain(): bread() can return maximum one block
worth of data under NetBSD -- FreeBSD bread() seems to be able to
	return more data and code counted with it
it's possible to actually mount NTFS volume now
1999-08-02 15:31:31 +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 6ec5efc535 ntfs_strategy(): make compilable with NTFS_DEBUG 1999-07-28 20:36:46 +00:00
augustss 43dd17675c Make it compile with -current. I hope I got it right. 1999-07-26 23:26:14 +00:00
jdolecek 89c23c0bb0 ntfs_getattr(): do not use dev2udev() on NetBSD
ntfs_readdir(): remove some junk accidentaly left in when merging the changes
1999-07-26 14:40:34 +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
wrstuden 379a26972f Modify file systems to deal with struct lock in struct vnode. All leaf
fs's other than nfs use genfs_lock() for locking.

Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.
1999-07-08 01:05:58 +00:00
thorpej dbdf646ecf Fix compilation problems on the Alpha. 1999-05-18 00:22:41 +00:00
kleink 2239a48b22 Install ntfs headers. 1999-05-17 16:41:48 +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