linux/fs/ocfs2
Akinobu Mita 939255798a ocfs2: avoid unaligned access to dqc_bitmap
The dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,
but not 64-bit aligned.  The dqc_bitmap is accessed by ocfs2_set_bit(),
ocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit().  These
are wrapper macros for ext2_*_bit() which need to take an unsigned long
aligned address (though some architectures are able to handle unaligned
address correctly)

So some 64bit architectures may not be able to access the dqc_bitmap
correctly.

This avoids such unaligned access by using another wrapper functions for
ext2_*_bit().  The code is taken from fs/ext4/mballoc.c which also need to
handle unaligned bitmap access.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Acked-by: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Joel Becker <jlbec@evilplan.org>
2011-12-01 14:39:32 -08:00
..
cluster ocfs2/cluster: Add new function o2net_fill_node_map() 2011-07-24 10:32:54 -07:00
dlm fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc'd data using kmem_cache_free 2011-11-17 01:46:46 -08:00
dlmfs ocfs2: change incorrect 'extern' keyword to 'static' in dlmfs 2011-05-23 23:59:40 -07:00
acl.c ->permission() sanitizing: don't pass flags to ->check_acl() 2011-07-20 01:43:21 -04:00
acl.h ->permission() sanitizing: don't pass flags to ->check_acl() 2011-07-20 01:43:21 -04:00
alloc.c ocfs2: Commit transactions in error cases -v2 2011-11-17 01:46:47 -08:00
alloc.h ocfs2: Add ocfs2_trim_fs for SSD trim support. 2011-05-23 23:37:18 -07:00
aops.c Merge branch 'mw-3.1-jul25' of git://oss.oracle.com/git/smushran/linux-2.6 into ocfs2-fixes 2011-08-21 21:02:57 -07:00
aops.h ocfs2: serialize unaligned aio 2011-07-28 02:07:16 -07:00
blockcheck.c ocfs2: Fix metaecc error messages 2010-09-08 14:25:53 +08:00
blockcheck.h
buffer_head_io.c ocfs2: Remove masklog ML_UPTODATE. 2011-02-24 16:22:20 +08:00
buffer_head_io.h
dcache.c ocfs2: fix d_revalidate oopsen on NFS exports 2011-03-10 03:45:07 -05:00
dcache.h Track negative entries v3 2010-09-10 09:18:15 -07:00
dir.c ocfs2: make direntry invalid when deleting it 2011-11-17 01:46:46 -08:00
dir.h
dlmglue.c ocfs2: Bugfix for hard readonly mount 2011-05-31 19:03:44 -07:00
dlmglue.h ocfs2: Fix lockdep warning in reflink. 2010-09-10 09:19:06 -07:00
export.c exportfs: Return the minimum required handle size 2011-03-14 09:15:28 -04:00
export.h
extent_map.c ocfs2: Implement llseek() 2011-07-25 14:58:15 -07:00
extent_map.h ocfs2: Implement llseek() 2011-07-25 14:58:15 -07:00
file.c ocfs2: honor O_(D)SYNC flag in fallocate 2011-11-17 02:15:58 -08:00
file.h ->permission() sanitizing: don't pass flags to ->permission() 2011-07-20 01:43:24 -04:00
heartbeat.c ocfs2: Remove mlog(0) from fs/ocfs2/heartbeat.c 2011-02-23 21:17:39 +08:00
heartbeat.h
inode.c ocfs2: Use filemap_write_and_wait() instead of write_inode_now() 2011-11-17 02:18:57 -08:00
inode.h ocfs2: serialize unaligned aio 2011-07-28 02:07:16 -07:00
ioctl.c ocfs2: Commit transactions in error cases -v2 2011-11-17 01:46:47 -08:00
ioctl.h Ocfs2: Move ocfs2 ioctl definitions from ocfs2_fs.h to newly added ocfs2_ioctl.h 2010-03-02 14:10:20 -08:00
journal.c ocfs2: Add comment about orphan scanning 2011-07-24 10:35:54 -07:00
journal.h ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2 2011-11-17 01:46:48 -08:00
Kconfig ocfs2: Make OCFS2_FS depend on CONFIGFS_FS 2011-01-16 21:22:40 +00:00
localalloc.c ocfs2: Remove EXIT from masklog. 2011-03-07 16:43:21 +08:00
localalloc.h ocfs2: increase the default size of local alloc windows 2010-05-05 18:18:07 -07:00
locks.c ocfs2: remove INODE from unused files. 2011-02-21 11:18:23 +08:00
locks.h
Makefile Ocfs2/move_extents: Add basic framework and source files for extent moving. 2011-05-25 15:17:08 +08:00
mmap.c ocfs2: Fix ocfs2_page_mkwrite() 2011-07-24 10:36:54 -07:00
mmap.h
move_extents.c ocfs2: checking the wrong variable in ocfs2_move_extent() 2011-05-31 19:03:44 -07:00
move_extents.h Ocfs2/move_extents: move/defrag extents within a certain range. 2011-05-25 15:17:12 +08:00
namei.c kill check_acl callback of generic_permission() 2011-07-20 01:43:16 -04:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h Revert wrong fixes for common misspellings 2011-04-26 23:31:11 -07:00
ocfs2_ioctl.h Ocfs2/move_extents: Adding new ioctl code 'OCFS2_IOC_MOVE_EXT' to ocfs2. 2011-05-25 15:17:08 +08:00
ocfs2_lockid.h
ocfs2_lockingver.h
ocfs2_trace.h ocfs2: Add trace event for trim. 2011-05-23 23:37:20 -07:00
ocfs2.h ocfs2: avoid unaligned access to dqc_bitmap 2011-12-01 14:39:32 -08:00
quota_global.c Fix common misspellings 2011-03-31 11:26:23 -03:00
quota_local.c ocfs2: avoid unaligned access to dqc_bitmap 2011-12-01 14:39:32 -08:00
quota.h ocfs2: use system_wq instead of ocfs2_quota_wq 2011-02-01 11:42:42 +01:00
refcounttree.c new helpers: kern_path_create/user_path_create 2011-07-20 01:44:05 -04:00
refcounttree.h Ocfs2/refcounttree: Publicize couple of funcs from refcounttree.c 2011-05-25 15:17:08 +08:00
reservations.c ocfs2: Remove masklog ML_RESERVATIONS. 2011-02-23 22:10:56 +08:00
reservations.h Fix common misspellings 2011-03-31 11:26:23 -03:00
resize.c ocfs2: Remove mlog(0) from fs/ocfs2/suballoc.c 2011-02-22 08:24:01 +08:00
resize.h
slot_map.c ocfs2: Clean up messages in the fs 2011-07-24 10:34:54 -07:00
slot_map.h
stack_o2cb.c ocfs2/cluster: Cluster up now includes network connections too 2011-07-24 10:33:54 -07:00
stack_user.c ocfs2_connection_find() returns pointer to bad structure 2010-11-18 15:41:41 -08:00
stackglue.c
stackglue.h Fix common misspellings 2011-03-31 11:26:23 -03:00
suballoc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
suballoc.h ocfs2: allow return of new inode block location before allocation of the inode 2010-09-08 14:25:59 +08:00
super.c ocfs2: send correct UUID to cleancache initialization 2011-11-17 01:46:48 -08:00
super.h ocfs2: Wrap signal blocking in void functions. 2010-05-10 11:50:10 -07:00
symlink.c ocfs2: Remove EXIT from masklog. 2011-03-07 16:43:21 +08:00
symlink.h
sysfile.c ocfs2: Remove mlog(0) from fs/ocfs2/file.c 2011-02-22 22:14:41 +08:00
sysfile.h
uptodate.c ocfs2: Remove masklog ML_UPTODATE. 2011-02-24 16:22:20 +08:00
uptodate.h
ver.c
ver.h
xattr.c ocfs2: Commit transactions in error cases -v2 2011-11-17 01:46:47 -08:00
xattr.h fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00