kernel-ark/fs/ext4
Peter Zijlstra 3cb4f9fa0c lib: percpu_counter_sub
Hugh spotted that some code does:
  percpu_counter_add(&counter, -unsignedlong)

which, when the amount argument is of type s32, sort-of works thanks to
two's-complement. However when we'd change the type to s64 this breaks on 32bit
machines, because the promotion rules zero extend the unsigned number.

Provide percpu_counter_sub() to hide the s64 cast. That is:
  percpu_counter_sub(&counter, foo)
is equal to:
  percpu_counter_add(&counter, -(s64)foo);

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-17 08:42:44 -07:00
..
acl.c Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check 2007-07-17 12:00:03 -07:00
acl.h
balloc.c lib: percpu_counter_sub 2007-10-17 08:42:44 -07:00
bitmap.c
dir.c readahead: combine file_ra_state.prev_index/prev_offset into prev_pos 2007-10-16 09:42:52 -07:00
ext4_jbd2.c
extents.c "ext4_ext_put_in_cache" uses __u32 to receive physical block number 2007-07-31 15:39:37 -07:00
file.c fallocate support in ext4 2007-07-17 21:42:41 -04:00
fsync.c
hash.c
ialloc.c ext4: Add nanosecond timestamps 2007-07-18 09:15:20 -04:00
inode.c ext4: convert to new aops 2007-10-16 09:42:55 -07:00
ioctl.c ext4: Add nanosecond timestamps 2007-07-18 09:15:20 -04:00
Makefile
namei.c ext34: ensure do_split leaves enough free space in both blocks 2007-09-19 11:24:18 -07:00
namei.h
resize.c lib: percpu_counter_add 2007-10-17 08:42:44 -07:00
super.c quota: fix infinite loop 2007-09-11 17:21:19 -07:00
symlink.c
xattr_security.c
xattr_trusted.c
xattr_user.c
xattr.c ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields 2007-07-18 09:19:57 -04:00
xattr.h ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields 2007-07-18 09:19:57 -04:00