- 29 May, 2002 1 commit
-
-
Anton Altaparmakov authored
In order to handle the case insensitivity issues of NTFS with regards to the dcache and the dcache requiring only one dentry per directory, we deal with dentry aliases that only differ in case in ->ntfs_lookup() while maintining a case sensitive dcache. This means that we get the full benefit of dcache speed when the file/directory is looked up with the same case as returned by ->ntfs_readdir() but that a lookup for any other case (or for the short file name) will not find anything in dcache and will enter ->ntfs_lookup() instead, where we search the directory for a fully matching file name (including case) and if that is not found, we search for a file name that matches with different case and if that has non-POSIX semantics we return that. We actually do only one search (case sensitive) and keep tabs on whether we have found a case insensitive match in the process. To simplify matters for us, we do not treat the short vs long filenames as two hard links but instead if the lookup matches a short filename, we return the dentry for the corresponding long filename instead. In ->ntfs_lookup() we distinguish three cases: 1) @dent perfectly matches (i.e. including case) a directory entry with a file name in the WIN32 or POSIX namespaces. In this case ntfs_lookup_inode_by_name() will return with name set to NULL and we just d_add() @dent. 2) @dent matches (not including case) a directory entry with a file name in the WIN32 namespace. In this case ntfs_lookup_inode_by_name() will return with name set to point to a kmalloc()ed ntfs_name structure containing the properly cased little endian Unicode name. We convert the name to the current NLS code page, search if a dentry with this name already exists and if so return that instead of @dent. The VFS will then destroy the old @dent and use the one we returned. If a dentry is not found, we allocate a new one, d_add() it, and return it as above. 3) @dent matches either perfectly or not (i.e. we don't care about case) a directory entry with a file name in the DOS namespace. In this case ntfs_lookup_inode_by_name() will return with name set to point to a kmalloc()ed ntfs_name structure containing the mft reference (cpu endian) of the inode. We use the mft reference to read the inode and to find the file name in the WIN32 namespace corresponding to the matched short file name. We then convert the name to the current NLS code page, and proceed searching for a dentry with this name, etc, as in case 2), above.
-
- 28 May, 2002 1 commit
-
-
Anton Altaparmakov authored
Also, minor updates/fixes to docs and comments.
-
- 27 May, 2002 1 commit
-
-
Anton Altaparmakov authored
-
- 26 May, 2002 1 commit
-
-
Anton Altaparmakov authored
- Remove unused source file fs/ntfs/attraops.c. - Remove show_inodes mount option(s), thus dropping support for displaying of short file names. - Remove deprecated mount option posix. - Restore show_sys_files mount option. - Add new mount option case_sensitive, to determine if the driver treats file names as case sensitive or not. If case sensitive, create file names in the POSIX namespace. Otherwise create file names in the WIN32 namespace. By default, or when case_sensitive is set to FALSE, files remain accessible via their short file name, if it exists. - Add additional argument to ntfs_lookup_inode_by_name() in which we return information about the matching file name if the case is not matching or the match is a short file name. See comments above the function definition for details.
-
- 25 May, 2002 2 commits
-
-
Anton Altaparmakov authored
-
Anton Altaparmakov authored
-
- 24 May, 2002 34 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Kai Germaschewski authored
Didn't get the net/ conversion quite right, and apparently overlooked one subdir in sound/. Now fixed.
-
Kai Germaschewski authored
-
Kai Germaschewski authored
-
Kai Germaschewski authored
-
Kai Germaschewski authored
-
Kai Germaschewski authored
Use the new obj-$(CONFIG_FOO) += foo/ syntax to descend into a subdir and link in the result, if CONFIG_FOO=y.
-
Kai Germaschewski authored
Build the headers only when we need them during the build, not always at 'make dep' time.
-
Kai Germaschewski authored
We use O_TARGET everywhere else, so let's just convert the remaining users (They get the implicit built-in.o O_TARGET now)
-
Kai Germaschewski authored
-
Kai Germaschewski authored
(plus a bit of rearranging in the ISDN Makefiles)
-
Kai Germaschewski authored
If a Makefile defines neither O_TARGET nor L_TARGET, let's assume a default of 'built-in.o'. The goal of this is, of course, to eventually get rid of O_TARGET completely.
-
Alexander Viro authored
- move the contents of bdev_get_queue() into do_open() and check_partitions() and cache the result in new field of struct block_device - clean it at the same places that reset ->bd_op, etc. - make bdev_get_queue() return cached pointer.
-
Linus Torvalds authored
-
Alexander Viro authored
- kill the last caller of get_hardsect_size() (switching it to bdev_hardsect_size()). - kill blk_get_queue() and switching to bdev_get_queue()
-
http://kernel-acme.bkbits.net:8080/rio-2.5-cleanupsLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Arnaldo Carvalho de Melo authored
- make sure return codes are negative (i.e. return -ENOMEM and not return ENOMEM et al)
-
-
http://linux-isdn.bkbits.net/linux-2.5.miscLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Kai Germaschewski authored
Fixes a warning in ieee1394_types.h and an error in include/linux/usb.h
-
Kai Germaschewski authored
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.misc
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Pavel Machek authored
This kills unneccessary include from ide-disk.c, kills #ifdef from reiserfs/journal.c, makes suspend_device local as it should be, abstains from suspending devices two times in a row (typo), and makes sure we do not run_task_queue() while we hold spinlock.
-
Pavel Machek authored
I asked Gabor if he'd like me to maintain swsusp, and he liked that idea [<quote>Would you please take over maintaining? I offered this in the list a while ago anyway.</quote>].
-
Pavel Machek authored
These are cleanups. They do not change any code, except killing printk's.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Martin Dalecki authored
- Apply host chip driver cleanups by Bartomiej Zonierkiewicz. - Take the draft device type driver implementation from Adam Richter and make it actually work with some of the drivers we have at hand. Quite a lot of it was fixed by me as well to have the desired effects. We have added a attach method for the sub device type drivers to make it possible dor sub device type drivers to attach devices to the overall infrastructure. UNIX has something like this SCSI code is implementing something like this, just for some unknown reasons Linux block device operations don't have it... - ide_drive_t is finally gone. Please use struct ata_device instead. Hint the ide.h specific byte type should go over time as well, sine there is no need to invent something already handled by the kernel. Please use the unambigious u8 type instead where possible. - Add a bit of documentation about cabling issues. ide.txt needs a lot of improvement at some time still.
-
Linus Torvalds authored
-
Linus Torvalds authored
-