linux/Documentation/filesystems
Anton Altaparmakov bfab36e816 NTFS: Fix a mount time deadlock.
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>
2007-10-12 09:16:30 -07:00
..
configfs some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
9p.txt 9p: update maintainers and documentation 2007-08-23 10:12:48 -05:00
00-INDEX Documentation/00-INDEX: notice ecryptfs.txt moved 2007-09-11 17:21:19 -07:00
adfs.txt Fix typos in /Documentation : 'U-Z' 2006-11-30 04:58:40 +01:00
affs.txt [PATCH] kernel Doc/ URL corrections 2005-11-22 09:14:30 -08:00
afs.txt [AFS]: Update the AFS fs documentation. 2007-04-26 15:57:43 -07:00
automount-support.txt VFS: Unexport do_kern_mount() and clean up simple_pin_fs() 2006-06-09 09:34:16 -04:00
befs.txt Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
bfs.txt [PATCH] update Tigran's email addresses 2006-12-13 09:05:53 -08:00
cifs.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
coda.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cramfs.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dentry-locking.txt [PATCH] VFS: split dentry locking documentation 2005-11-07 07:53:56 -08:00
directory-locking Documentation: Fix up docs still talking about i_sem 2007-05-24 10:16:17 -07:00
dlmfs.txt Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
ecryptfs.txt eCryptfs: Move ecryptfs docs into Documentation/filesystems/ 2007-07-17 10:23:08 -07:00
Exporting Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ext2.txt Fix typos in Documentation/: 'N'-'P' 2006-10-03 22:52:05 +02:00
ext3.txt [PATCH] ext3: Add "-o bh" option 2006-06-26 09:58:20 -07:00
ext4.txt [PATCH] Documentation/filesystems/ext4.txt 2006-10-11 11:14:19 -07:00
files.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
fuse.txt [PATCH] fuse: fix typo 2006-12-30 10:56:45 -08:00
gfs2.txt [GFS2] Update documentation 2006-04-25 15:44:04 -04:00
hfs.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hfsplus.txt Documentation: document HFSPlus 2007-07-31 15:39:38 -07:00
hpfs.txt misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
inotify.txt [PATCH] inotify (5/5): update kernel documentation 2006-06-20 05:25:19 -04:00
isofs.txt It's UTF-8 2006-03-22 00:13:35 +01:00
jfs.txt JFS: document uid, gid, and umask mount options in jfs.txt 2007-03-09 10:27:31 -06:00
Locking mm: fault feedback #1 2007-07-19 10:04:41 -07:00
ncpfs.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ntfs.txt NTFS: Fix a mount time deadlock. 2007-10-12 09:16:30 -07:00
ocfs2.txt ocfs2: update docs for new features 2007-09-11 11:38:25 -07:00
porting Documentation: Fix up docs still talking about i_sem 2007-05-24 10:16:17 -07:00
proc.txt coredump masking: documentation for /proc/pid/coredump_filter 2007-07-19 10:04:47 -07:00
ramfs-rootfs-initramfs.txt [PATCH] Initramfs docs update 2006-06-25 10:01:21 -07:00
relay.txt misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
romfs.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smbfs.txt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spufs.txt Fix typos in /Documentation : 'U-Z' 2006-11-30 04:58:40 +01:00
sysfs-pci.txt Fix typos concerning hierarchy 2007-02-17 19:23:03 +01:00
sysfs.txt Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
sysv-fs.txt [PATCH] fs/sysv/: doc cleanup 2006-12-07 08:39:44 -08:00
tmpfs.txt mount -t tmpfs -o mpol=: check nodes online 2007-06-08 17:23:32 -07:00
udf.txt [PATCH] Update udf documentation to reflect current state of read/write support 2006-11-16 11:43:38 -08:00
ufs.txt [PATCH] ufs2 write: mount as rw 2007-02-12 09:48:40 -08:00
vfat.txt fat: don't use free_clusters for fat32 2007-05-08 11:15:13 -07:00
vfs.txt update Documentation/filesystems/vfs.txt 2007-07-16 09:05:51 -07:00
xfs.txt [XFS] Update XFS documentation. 2005-11-03 13:46:43 +11:00
xip.txt misc doc and kconfig typos 2007-05-09 08:58:15 +02:00