Revision 020ac5b6bef15785f9dde9de89d2734ff97da733 authored by Artem Bityutskiy on 31 May 2012, 23:26:12 UTC, committed by Linus Torvalds on 01 June 2012, 00:49:27 UTC
This is patchset makes fatfs stop using the VFS '->write_super()' method for writing out the FSINFO block. The final goal is to get rid of the 'sync_supers()' kernel thread. This kernel thread wakes up every 5 seconds (by default) and calls '->write_super()' for all mounted file-systems. And the bad thing is that this is done even if all the superblocks are clean. Moreover, some file-systems do not even need this end they do not register the '->write_super()' method at all (e.g., btrfs). So 'sync_supers()' most often just generates useless wake-ups and wastes power. I am trying to make all file-systems independent of '->write_super()' and plan to remove 'sync_supers()' and '->write_super' completely once there are no more users. The '->write_supers()' method is mostly used by baroque file-systems like hfs, udf, etc. Modern file-systems like btrfs and xfs do not use it. This justifies removing this stuff from VFS completely and make every FS self-manage own superblock. Tested with xfstests. This patch: Preparation for further changes. It introduces a special inode ('fsinfo_inode') in FAT file-system which we'll later use for managing the FSINFO block. Note, this there is already one special inode ('fat_inode') which is used for managing the FAT tables. Introduce new 'MSDOS_FSINFO_INO' constant for this special inode. It is safe to do because FAT file-system does not store inode numbers on the media but generates them run-time. I've also cleaned up the comment to existing 'MSDOS_ROOT_INO' constant, while on it. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 7bc1bac
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 872 bytes |
Makefile | -rw-r--r-- | 317 bytes |
amdtp.c | -rw-r--r-- | 16.1 KB |
amdtp.h | -rw-r--r-- | 4.2 KB |
cmp.c | -rw-r--r-- | 7.2 KB |
cmp.h | -rw-r--r-- | 1.1 KB |
fcp.c | -rw-r--r-- | 6.0 KB |
fcp.h | -rw-r--r-- | 327 bytes |
isight.c | -rw-r--r-- | 17.9 KB |
iso-resources.c | -rw-r--r-- | 6.5 KB |
iso-resources.h | -rw-r--r-- | 1.2 KB |
lib.c | -rw-r--r-- | 1.7 KB |
lib.h | -rw-r--r-- | 468 bytes |
packets-buffer.c | -rw-r--r-- | 2.1 KB |
packets-buffer.h | -rw-r--r-- | 747 bytes |
speakers.c | -rw-r--r-- | 20.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...