An error occurred fetching the project authors.
- 13 Aug, 2002 1 commit
-
-
Anton Altaparmakov authored
- Unlock the page in an out of memory error code path in fs/ntfs/aops.c::ntfs_read_block(). - If fs/ntfs/aops.c::ntfs_read_page() is called on an uptodate page, just unlock the page and return. (This can happen due to ->writepage clearing PageUptodate() during write out of MstProtected() attributes. - Remove leaked write code again.
-
- 07 Aug, 2002 1 commit
-
-
Anton Altaparmakov authored
- Treat BUG_ON() as ASSERT() not VERIFY(), i.e. do not use side effects inside BUG_ON(). (Adam J. Richter) - Split logical OR expressions inside BUG_ON() into individual BUG_ON() calls for improved debugging. (Adam J. Richter) - Add errors flag to the ntfs volume state, accessed via NVol{,Set,Clear}Errors(vol). - Do not allow read-write remounts of read-only volumes with errors. - Clarify comment for ntfs file operation sendfile which was added by Christoph Hellwig a while ago (just using generic_file_sendfile()) to say that ntfs ->sendfile is only used for the case where the source data is on the ntfs partition and the destination is somewhere else, i.e. nothing we need to concern ourselves with.
-
- 05 Aug, 2002 1 commit
-
-
Anton Altaparmakov authored
- Massive internal locking changes to mft record locking. Fixes lock recursion and replaces the mrec_lock read/write semaphore with a mutex. Also removes the now superfluous mft_count. This fixes several race conditions and deadlocks, especially in the future write code. - Fix ntfs over loopback for compressed files by adding an optimization barrier. (gcc was screwing up otherwise ?) - Miscellaneous cleanups all over the code and a fix or two in error handling code paths. Thanks go to Christoph Hellwig for pointing out the following two: - Remove now unused function fs/ntfs/malloc.h::vmalloc_nofs(). - Fix ntfs_free() for ia64 and parisc by checking for VMALLOC_END, too.
-
- 24 Jul, 2002 1 commit
-
-
Anton Altaparmakov authored
- Change fs/ntfs/dir.c::ntfs_reddir() to only read/write ->f_pos once at entry/exit respectively. - Use C99 initializers for structures. - Remove unused variable blocks from fs/ntfs/aops.c::ntfs_read_block().
-
- 15 Jul, 2002 2 commits
-
-
Anton Altaparmakov authored
- Limit volume size at mount time to 2TiB on architectures where unsigned long is 32-bits (fs/ntfs/super.c::parse_ntfs_boot_sector()). This is the most we can do without overflowing the 32-bit limit of the block device size imposed on us by sb_bread() and sb_getblk() for the time being. - Limit file/directory size at open() time to 16TiB on architectures where unsigned long is 32-bits (fs/ntfs/file.c::ntfs_file_open() and fs/ntfs/dir.c::ntfs_dir_open()). This is the most we can do without overflowing the page cache page index.
-
Anton Altaparmakov authored
- Move the directory index bitmap to use an attribute inode instead of having special fields for it inside the ntfs inode structure. This means that the index bitmaps now use the page cache for i/o, too, and also as a side effect we get support for non-resident index bitmaps for free. - Simplify/cleanup error handling in fs/ntfs/dir.c::ntfs_readdir() and fix a page leak that manifested itself in some cases. - Add fs/ntfs/inode.c::ntfs_put_inode(), which we need to release the index bitmap inode on the final iput().
-
- 13 Jul, 2002 1 commit
-
-
Anton Altaparmakov authored
- Apply block optimization added to fs/ntfs/aops.c::ntfs_read_block() to fs/ntfs/compress.c::ntfs_file_read_compressed_block() as well. - Drop the "file" from ntfs_file_read_compressed_block(). - Rename fs/ntfs/aops.c::ntfs_enb_buffer_read_async() to ntfs_end_buffer_async_read() (more like the fs/buffer.c counterpart). - Update ntfs_end_buffer_async_read() with the improved logic from its updated counterpart fs/buffer.c::end_buffer_async_read(). Apply further logic improvements to better determine when we set PageError. - Update submission of buffers in fs/ntfs/aops.c::ntfs_read_block() to check for the buffers being uptodate first in line with the updated fs/buffer.c::block_read_full_page(). This plugs a small race condition.
-
- 11 Jul, 2002 2 commits
-
-
Anton Altaparmakov authored
- There was a narrow window between checking a buffer head for being uptodate and locking it in ntfs_file_read_compressed_block(). We now lock the buffer and then check whether it is uptodate or not.
-
Anton Altaparmakov authored
- Modify fs/ntfs/inode.c::ntfs_read_locked_inode() to return an error code and update callers, i.e. ntfs_iget(), to pass that error code up instead of just using -EIO. - Modifications to super.c to ensure that both mount and remount cannot set any write related options when the driver is compiled read-only. - Optimize block resolution in fs/ntfs/aops.c::ntfs_read_block() to cache the current run list element. This should improve performance when reading very large and/or very fragmented data.
-
- 08 Jul, 2002 2 commits
-
-
Anton Altaparmakov authored
- Fix a stupid bug introduced in 2.0.15 where we were unmapping the wrong inode in fs/ntfs/inode.c::ntfs_attr_iget(). - Convert $MFT/$BITMAP access to attribute inode API and remove all remnants of the ugly mftbmp address space and operations hack. This means we finally have only one readpage function as well as only one async io completion handler. Yey! The mft bitmap is now just an attribute inode and is accessed from vol->mftbmp_ino just as if it were a normal file. Fake inodes rule. (-:
-
Anton Altaparmakov authored
- Fix silly bug in fs/ntfs/super.c::parse_options() which was causing remounts to fail when the partition had an entry in /etc/fstab and the entry specified the nls= option. - Apply same macro magic used in fs/ntfs/inode.h to fs/ntfs/volume.h to expand all the helper functions NVolFoo(), NVolSetFoo(), and NVolClearFoo(). - Move copyright statement from driver initialisation message to module description (fs/super.c). This makes the initialisation message fit on one line and fits in better with rest of kernel. - Update fs/ntfs/attrib.c::map_run_list() to work on both real and attribute inodes, and both for files and directories. - Implement fake attribute inodes allowing all attribute i/o to go via the page cache and to use all the normal vfs/mm functionality: - Add ntfs_attr_iget() and its helper ntfs_read_locked_attr_inode() to fs/ntfs/inode.c. - Add needed cleanup code to ntfs_clear_big_inode(). - Merge address space operations for files and directories (aops.c), now just have ntfs_aops: - Rename: end_buffer_read_attr_async() -> ntfs_end_buffer_read_async(), ntfs_attr_read_block() -> ntfs_read_block(), ntfs_file_read_page() -> ntfs_readpage(). - Rewrite fs/ntfs/aops.c::ntfs_readpage() to work on both real and attribute inodes, and both for files and directories. - Remove obsolete fs/ntfs/aops.c::ntfs_mst_readpage().
-
- 03 Jul, 2002 1 commit
-
-
Anton Altaparmakov authored
- Change fs/ntfs/super.c::ntfs_statfs() to not rely on BKL by moving the locking out of super.c::get_nr_free_mft_records() and taking and dropping the mftbmp_lock rw_semaphore in ntfs_statfs() itself. - Bring attribute run list merging code (fs/ntfs/attrib.c) in sync with current userspace ntfs library code. This means that if a merge fails the original run lists are always left unmodified instead of being silently corrupted. - Misc typo fixes.
-
- 27 Jun, 2002 1 commit
-
-
Anton Altaparmakov authored
- Remove nr_mft_bits and the now superfluous union with nr_mft_records from ntfs_volume structure. - Remove nr_lcn_bits and the now superfluous union with nr_clusters from ntfs_volume structure. - Use iget5_locked() and friends instead of conventional iget(). Wrap the call in fs/ntfs/inode.c::ntfs_iget() and update callers of iget() to use ntfs_iget(). Leave only one iget() call at mount time so we don't need an ntfs_iget_mount(). - Change fs/ntfs/inode.c::ntfs_new_extent_inode() to take mft_no as an additional argument.
-
- 26 Jun, 2002 1 commit
-
-
Anton Altaparmakov authored
- Merge fs/ntfs/aops.c::end_buffer_read_mst_async() and fs/ntfs/aops.c::end_buffer_read_file_async() into one function fs/ntfs/aops.c::end_buffer_read_attr_async() using NInoMstProtected() to determine whether to apply mst fixups or not. - Above change allows merging fs/ntfs/aops.c::ntfs_file_read_block() and fs/ntfs/aops.c::ntfs_mst_readpage() into one function fs/ntfs/aops.c::ntfs_attr_read_block(). Also, create a tiny wrapper fs/ntfs/aops.c::ntfs_mst_readpage() to transform the parameters from the VFS readpage function prototype to the ntfs_attr_read_block() function prototype.
-
- 25 Jun, 2002 1 commit
-
-
Anton Altaparmakov authored
- Move definition of ntfs_inode_state_bits to fs/ntfs/inode.h and do some macro magic (adapted from include/linux/buffer_head.h) to expand all the helper functions NInoFoo(), NInoSetFoo(), and NInoClearFoo(). - Add new flag to ntfs_inode_state_bits: NI_Sparse. - Add new fields to ntfs_inode structure to allow use of fake inodes for attribute i/o: type, name, name_len. Also add new state bits: NI_Attr, which, if set, indicates the inode is a fake inode, and NI_MstProtected, which, if set, indicates the attribute uses multi sector transfer protection, i.e. fixups need to be applied after reads and before/after writes. - Rename fs/ntfs/inode.c::ntfs_{new,clear,destroy}_inode() to ntfs_{new,clear,destroy}_extent_inode() and update callers. - Use ntfs_clear_extent_inode() in fs/ntfs/inode.c::__ntfs_clear_inode() instead of ntfs_destroy_extent_inode(). - Cleanup memory deallocations in {__,}ntfs_clear_{,big_}inode(). - Make all operations on ntfs inode state bits use the NIno* functions. - Set up the new ntfs inode fields and state bits in fs/ntfs/inode.c::ntfs_read_inode() and add appropriate cleanup of allocated memory to __ntfs_clear_inode(). - Cleanup ntfs_inode structure a bit for better ordering of elements w.r.t. their size to allow better packing of the structure in memory.
-
- 19 Jun, 2002 2 commits
-
-
Anton Altaparmakov authored
- Add check at mount time to verify that the number of inodes on the volume does not exceed 2^32 - 1, which is the maximum allowed for NTFS according to Microsoft. - Change mft_no member of ntfs_inode structure to be unsigned long. Update all users. This makes ntfs_inode->mft_no just a copy of struct inode->i_ino. But we can't just always use struct inode->i_ino and remove mft_no because extent inodes do not have an attached struct inode.
-
Anton Altaparmakov authored
- Remove unused variables left over after Rusty's patch to the decompression engine. - Change buffer size in ntfs_readdir()/ntfs_filldir() to use NLS_MAX_CHARSET_SIZE. - Miscellaneous minor cleanups to comments.
-
- 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.
-
- 24 May, 2002 1 commit
-
-
Kai Germaschewski authored
-
- 11 May, 2002 1 commit
-
-
Anton Altaparmakov authored
-
- 04 May, 2002 1 commit
-
-
Anton Altaparmakov authored
- Initialize the mftbmp address space properly now that there are more fields in the struct address_space. This was leading to hangs and oopses on umount since 2.5.12 because of changes to other parts of the kernel. We probably want a kernel generic init_address_space() function... - Drop BKL from ntfs_readdir() after consultation with Al Viro. The only caller of ->readdir() is vfs_readdir() which holds i_sem during the call, and i_sem is sufficient protection against changes in the directory inode (including ->i_size). - Use generic_file_llseek() for directories (as opposed to default_llseek()) as this downs i_sem instead of the BKL which is what we now need for exclusion against ->f_pos changes considering we no longer take the BKL in ntfs_readdir().
-
- 02 May, 2002 1 commit
-
-
Anton Altaparmakov authored
Upgrade is imperative!
-
- 27 Apr, 2002 1 commit
-
-
Anton Altaparmakov authored
- Add documentation on how to use the MD driver to be able to use NTFS stripe and volume sets in Linux and generally cleanup documentation a bit. Remove all uses of kdev_t in favour of struct block_device *: - Change compress.c::ntfs_file_read_compressed_block() to use sb_getblk() instead of getblk(). - Change super.c::ntfs_fill_suoer() to use bdev_hardsect_size() instead of get_hardsect_size(). - No need to get old blocksize in super.c::ntfs_fill_super() as fs/super.c::get_sb_bdev() already does this. - Set bh->b_bdev instead of bh->b_dev throughout aops.c.
-
- 26 Apr, 2002 1 commit
-
-
Anton Altaparmakov authored
- Remove some dead code from mft.c. - Optimize readpage and read_block functions throughout aops.c so that only initialized blocks are read. Non-initialized ones have their buffer head mapped, zeroed, and set up to date, without scheduling any i/o. Thanks to Al Viro for advice on how to avoid the device i/o. Thanks go to Andrew Morton for spotting the below: - Fix buglet in allocate_compression_buffers() error code path. - Call flush_dcache_page() after modifying page cache page contents in ntfs_file_readpage(). - Check for existence of page buffers throughout aops.c before calling create_empty_buffers(). This happens when an I/O error occurs and the read is retried. (It also happens once writing is implemented so that needed doing anyway but I had left it for later...) - Don't BUG_ON() uptodate and/or mapped buffers throughout aops.c in readpage and read_block functions. Reasoning same as above (i.e. I/O error retries and future write code paths.)
-
- 11 Apr, 2002 1 commit
-
-
Anton Altaparmakov authored
-
- 04 Apr, 2002 1 commit
-
-
Dave Jones authored
Originally by Anton Altaparmakov. I think Anton is going to submit his rewritten NTFS soon making this null and void, but in the interim, it fixes a known problem with NTFS and large allocations.
-
- 25 Mar, 2002 2 commits
-
-
Anton Altaparmakov authored
-
Anton Altaparmakov authored
version change to 2.0.0, removing the TNG from the name. We want to enter the kernel now so no need for TNG in the name and the higher major version number sets off the new driver clearly away from the old driver.
-
- 14 Mar, 2002 1 commit
-
-
Anton Altaparmakov authored
-
- 09 Mar, 2002 1 commit
-
-
Anton Altaparmakov authored
-
- 08 Mar, 2002 1 commit
-
-
Anton Altaparmakov authored
-
- 07 Mar, 2002 1 commit
-
-
Anton Altaparmakov authored
-
- 05 Feb, 2002 8 commits
-
-
Linus Torvalds authored
- Jeff Garzik: separate out handling of older tulip chips - Jens Axboe: more bio stuff - Anton Altaparmakov: NTFS 1.1.21 update
-
Linus Torvalds authored
- Chris Mason: fix ppp race conditions - Al Viro: block device cleanups/fixes - Anton Altaparmakov: NTFS 1.1.20 update - Andrea Arcangeli: VM tweaks
-
Linus Torvalds authored
- Greg KH: start migration to new "min()/max()" - Roman Zippel: move affs over to "min()/max()". - Vojtech Pavlik: VIA update (make sure not to IRQ-unmask a vt82c576) - Jan Kara: quota bug-fix (don't decrement quota for non-counted inode) - Anton Altaparmakov: more NTFS updates - Al Viro: make nosuid/noexec/nodev be per-mount flags, not per-filesystem - Alan Cox: merge input/joystick layer differences, driver and alpha merge - Keith Owens: scsi Makefile cleanup - Trond Myklebust: fix oopsable race in locking code - Jean Tourrilhes: IrDA update
-
Linus Torvalds authored
- Jens Axboe: remove trivially dead io_request_lock usage - Andrea Arcangeli: softirq cleanup and ARM fixes. Slab cleanups - Christoph Hellwig: gendisk handling helper functions/cleanups - Nikita Danilov: reiserfs dead code pruning - Anton Altaparmakov: NTFS update to 1.1.18 - firestream network driver: patch reverted on authors request - NIIBE Yutaka: SH architecture update - Paul Mackerras: PPC cleanups, PPC8xx update. - me: reverse broken bootdata allocation patch that went into pre5
-
Linus Torvalds authored
- Al Viro: block device cleanups - Marcelo Tosatti: make bounce buffer allocations more robust (it's ok for them to do IO, just not cause recursive bounce IO. So allow them) - Anton Altaparmakov: NTFS update (1.1.17) - Paul Mackerras: PPC update (big re-org) - Petko Manolov: USB pegasus driver fixes - David Miller: networking and sparc updates - Trond Myklebust: Export atomic_dec_and_lock - OGAWA Hirofumi: find and fix umsdos "filldir" users that were broken by the 64-bit-cleanups. Fix msdos warnings. - Al Viro: superblock handling cleanups and race fixes - Johannes Erdfelt++: USB updates
-
Linus Torvalds authored
- Patrick Mochel: fix PCI:PCI bridge 64-bit memory type detection - me: more forgotten nfsd off_t -> loff_t - Alan Cox: ide driver merge - Eric Lammerts, Rik van Riel: when oom, kill all threads. - Ben LaHaise: use down_read, not down_write() in map_user_kiobuf. We don't change the mappings, we just read them. - Kai Germaschewski: ISDN updates - Roland Fehrenbacher: sparse lun check - Tim Waugh: handle awkward Titan parallel/serial port cards - Stephen Rothwell: APM updates - Anton Altaparmakov: NTFS updates
-
Linus Torvalds authored
- Andreas Dilger: various ext2 cleanups - Richard Gooch: devfs update - Johannes Erdfelt: USB updates - Alan Cox: merges - David Miller: fix SMP pktsched bootup deadlock (CONFIG_NET_SCHED) - Roman Zippel: AFFS update - Anton Altaparmakov: NTFS update - me: fix races in vfork() (semaphores are not good completion handlers) - Jeff Garzik: net driver updates, sysvfs update
-
Linus Torvalds authored
- Mike Phillips: olympic driver update - Alan Cox: continued resyncing (lots of small stuff, big NTFS merge from Anton) - Martin Dalecki: cleanup (remove unused and unnecessary get_hardblocksize) - Chris Mason: fix potential reiserfs journal overflow - Jeff Garzik: network driver updates - David Miller: sparc fixes, some network cleanups
-