aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ntfs/runlist.c
Commit message (Collapse)AuthorAgeFilesLines
* NTFS: Fix a mount time deadlock.Anton Altaparmakov2007-10-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | Big thanks go to Mathias Kolehmainen for reporting the bug, providing debug output and testing the patches I sent him to get it working. The fix was to stop calling ntfs_attr_set() at mount time as that causes balance_dirty_pages_ratelimited() to be called which on systems with little memory actually tries to go and balance the dirty pages which tries to take the s_umount semaphore but because we are still in fill_super() across which the VFS holds s_umount for writing this results in a deadlock. We now do the dirty work by hand by submitting individual buffers. This has the annoying "feature" that mounting can take a few seconds if the journal is large as we have clear it all. One day someone should improve on this by deferring the journal clearing to a helper kernel thread so it can be done in the background but I don't have time for this at the moment and the current solution works fine so I am leaving it like this for now. Signed-off-by: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] fs/ntfs: Conversion to generic booleanRichard Knutsson2006-10-011-27/+27
| | | | | | | | | Conversion of booleans to: generic-boolean.patch (2006-08-23) Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se> Signed-off-by: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* NTFS: Fix an (innocent) off-by-one error in the runlist code.Anton Altaparmakov2006-03-231-4/+8
| | | | Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: More runlist handling fixes from Richard Russon and myself.Anton Altaparmakov2005-09-201-22/+33
| | | | Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Fix various bugs in the runlist merging code. (Based on libntfsAnton Altaparmakov2005-09-191-64/+68
| | | | | | changes by Richard Russon.) Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Add ntfs_rl_punch_nolock() which punches a caller specified hole into ↵Anton Altaparmakov2005-09-081-0/+284
| | | | | | a runlist. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Change ntfs_rl_truncate_nolock() to throw away the runlist if the newAnton Altaparmakov2005-09-081-1/+13
| | | | | | length is zero. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Fix handling of valid but empty mapping pairs array inAnton Altaparmakov2005-09-081-0/+3
| | | | | | fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress(). Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Fix two nasty runlist merging bugs that had gone unnoticed so far.Anton Altaparmakov2005-09-081-2/+3
| | | | | | Thanks to Stefano Picerno for the bug report. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Use ntfs_malloc_nofs_nofail() in runlist.c::ntfs_runlists_merge()Anton Altaparmakov2005-09-081-18/+50
| | | | | | | in the two critical regions. This means we no longer need to panic() when the allocation fails as it now cannot fail. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Add an extra parameter @last_vcn to ntfs_get_size_for_mapping_pairs()Anton Altaparmakov2005-06-251-50/+117
| | | | | | | | and ntfs_mapping_pairs_build() to allow the runlist encoding to be partial which is desirable when filling holes in sparse attributes. Update all callers. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Fix compilation when configured read-only.Anton Altaparmakov2005-05-051-0/+35
| | | | | | | | | | - Add ifdef NTFS_RW around write specific code if fs/ntfs/runlist.[hc] and fs/ntfs/attrib.[hc]. - Minor bugfix to fs/ntfs/attrib.c::ntfs_attr_make_non_resident() where the runlist was not freed in all error cases. - Add fs/ntfs/runlist.[hc]::ntfs_rl_find_vcn_nolock(). Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: - Fix bug in fs/ntfs/attrib.c::ntfs_find_vcn_nolock() where afterAnton Altaparmakov2005-05-051-7/+8
| | | | | | | | | | dropping the read lock and taking the write lock we were not checking whether someone else did not already do the work we wanted to do. - Rename ntfs_find_vcn_nolock() to ntfs_attr_find_vcn_nolock(). - Tidy up some comments in fs/ntfs/runlist.c. - Add LCN_ENOMEM and LCN_EIO definitions to fs/ntfs/runlist.h. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Fix a nasty runlist merge bug when merging two holes.Anton Altaparmakov2005-05-051-1/+4
| | | | Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* NTFS: Fix a bug in fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress() inAnton Altaparmakov2005-05-051-22/+34
| | | | | | | the creation of the unmapped runlist element for the base attribute extent. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
* Linux-2.6.12-rc2Linus Torvalds2005-04-161-0/+1438
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!