remarkable-linux/fs
Erik van der Kouwe 0ab7620a0c fs/minix: bugfix, number of indirect block ptrs per block depends on block size
The MINIX filesystem driver used a constant number of indirect block
pointers in an indirect block. This worked only for filesystems with 1kb
block, while the MINIX default block size is now 4kb. As a consequence,
large files were read incorrectly on such filesystems and writing a
large file would cause the filesystem to become corrupted. This patch
computes the number of indirect block pointers based on the block size,
making the driver work for each block size.

I would like to thank Feiran Zheng ('Fam') for pointing out the cause
of the corruption.

Signed-off-by: Erik van der Kouwe <vdkouwe@cs.vu.nl>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2010-05-27 22:06:22 -04:00
..
9p drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
adfs rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
affs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
afs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
autofs fs/: do not fallback to default_llseek() when readdir() uses BKL 2010-05-27 09:12:56 -07:00
autofs4 fs/autofs4: use memdup_user 2010-05-27 09:12:41 -07:00
befs
bfs rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
btrfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
cachefiles CacheFiles: Fix error handling in cachefiles_determine_cache_security() 2010-05-12 18:23:58 -07:00
ceph drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
cifs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
coda drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
configfs Fix the regression created by "set S_DEAD on unlink()..." commit 2010-05-15 07:16:33 -04:00
cramfs
debugfs
devpts Simplify devpts_get_sb() failure exits 2010-05-21 18:31:12 -04:00
dlm
ecryptfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
efs
exofs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
exportfs
ext2 rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
ext3 drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
ext4 rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
fat rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
freevxfs fs/: do not fallback to default_llseek() when readdir() uses BKL 2010-05-27 09:12:56 -07:00
fscache fs/fscache/object-list.c: fix warning on 32-bit 2010-05-26 08:19:23 -07:00
fuse drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
gfs2 drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
hfs
hfsplus hfsplus: Push down BKL into ioctl function 2010-05-17 05:27:03 +02:00
hostfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
hpfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
hppfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
hugetlbfs rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
isofs fs/: do not fallback to default_llseek() when readdir() uses BKL 2010-05-27 09:12:56 -07:00
jbd ext3: Fix waiting on transaction during fsync 2010-05-21 19:30:41 +02:00
jbd2 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2010-05-27 10:26:37 -07:00
jffs2 drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
jfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
lockd
logfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
minix fs/minix: bugfix, number of indirect block ptrs per block depends on block size 2010-05-27 22:06:22 -04:00
ncpfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
nfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
nfs_common
nfsd kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN 2010-05-25 08:07:02 -07:00
nilfs2 drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
nls
notify Saner locking around deactivate_super() 2010-05-21 18:31:14 -04:00
ntfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
ocfs2 drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
omfs rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
openpromfs
partitions fs: ldm: don't use own implementation of hex_to_bin() 2010-05-25 08:07:06 -07:00
proc kcore: add _text to KCORE_TEXT 2010-05-27 09:12:47 -07:00
qnx4 rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
quota Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2010-05-27 10:26:37 -07:00
ramfs rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
reiserfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
romfs
smbfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
squashfs squashfs: fix name reading in squashfs_xattr_get 2010-05-23 08:27:42 +01:00
sysfs sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
sysv rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
ubifs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
udf rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
ufs rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
xfs drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
aio.c get rid of the magic around f_count in aio 2010-05-27 22:03:07 -04:00
anon_inodes.c Revert "anon_inode: set S_IFREG on the anon_inode" 2010-05-27 22:03:05 -04:00
attr.c
bad_inode.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
binfmt_aout.c
binfmt_elf.c
binfmt_elf_fdpic.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio-integrity.c
bio.c
block_dev.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
buffer.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-05-21 19:37:45 -07:00
char_dev.c
compat.c aio: fix the compat vectored operations 2010-05-27 09:12:53 -07:00
compat_binfmt_elf.c
compat_ioctl.c
dcache.c fix prune_dcache()/umount() race 2010-05-21 18:31:16 -04:00
dcookies.c
direct-io.c direct-io: do not merge logically non-contiguous requests 2010-05-25 10:34:56 -04:00
drop_caches.c new helper: iterate_supers() 2010-05-21 18:31:16 -04:00
eventfd.c
eventpoll.c sched, wait: Use wrapper functions 2010-05-11 17:43:58 +02:00
exec.c exit: avoid sig->count in de_thread/__exit_signal synchronization 2010-05-27 09:12:46 -07:00
fcntl.c Merge branch 'master' into for-2.6.35 2010-05-21 21:27:26 +02:00
fifo.c
file.c
file_table.c get rid of the magic around f_count in aio 2010-05-27 22:03:07 -04:00
filesystems.c
fs-writeback.c fs-writeback: check sync bit earlier in inode_wait_for_writeback 2010-05-25 08:07:00 -07:00
fs_struct.c
generic_acl.c fs: xattr_handler table should be const 2010-05-21 18:31:18 -04:00
inode.c vfs: Add inode uid,gid,mode init helper 2010-05-21 18:31:22 -04:00
internal.h Bury __put_super_and_need_restart() 2010-05-21 18:31:16 -04:00
ioctl.c Introduce freeze_super and thaw_super for the fsfreeze ioctl 2010-05-21 18:31:18 -04:00
ioprio.c
Kconfig
Kconfig.binfmt
libfs.c rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
locks.c
Makefile Take statfs variants to fs/statfs.c 2010-05-21 18:31:17 -04:00
mbcache.c
mpage.c
namei.c VFS: fix recent breakage of FS_REVAL_DOT 2010-05-27 22:03:06 -04:00
namespace.c Merge branch 'next' into for-linus 2010-05-18 08:57:00 +10:00
nfsctl.c
no-block.c
open.c Take statfs variants to fs/statfs.c 2010-05-21 18:31:17 -04:00
pipe.c fs: Add missing mutex_unlock 2010-05-27 22:03:09 -04:00
pnode.c
pnode.h
posix_acl.c
read_write.c vfs: introduce noop_llseek() 2010-05-27 09:12:56 -07:00
read_write.h
readdir.c
select.c
seq_file.c
signalfd.c
splice.c pipe: add support for shrinking and growing pipes 2010-05-21 21:12:40 +02:00
stack.c
stat.c
statfs.c Take statfs variants to fs/statfs.c 2010-05-21 18:31:17 -04:00
super.c vfs: add lockdep annotation to s_vfs_rename_key for ecryptfs 2010-05-21 18:31:22 -04:00
sync.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
timerfd.c fs/timerfd.c: make use of wait_event_interruptible_locked_irq() 2010-05-20 13:21:42 -07:00
utimes.c
xattr.c fs: xattr_handler table should be const 2010-05-21 18:31:18 -04:00
xattr_acl.c