remarkable-linux/fs/btrfs
Josef Bacik 72ac3c0d79 Btrfs: convert the inode bit field to use the actual bit operations
Miao pointed this out while I was working on an orphan problem that messing
with a bitfield where different ranges are protected by different locks
doesn't work out right.  Turns out we've been doing this forever where we
have different parts of the bit field protected by either no lock at all or
different locks which could cause all sorts of weird problems including the
issue I was hitting.  So instead make a runtime_flags thing that we use the
normal bit operations on that are all atomic so we can keep having our
no/different locking for the different flags and then make force_compress
it's own thing so it can be treated normally.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
2012-05-30 10:23:36 -04:00
..
acl.c Btrfs: cache no acl on new inodes 2012-05-30 10:23:27 -04:00
async-thread.c btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
async-thread.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
backref.c Btrfs: add missing read locks in backref.c 2012-04-18 19:22:23 +02:00
backref.h Btrfs: fix regression in scrub path resolving 2012-03-27 14:51:21 +02:00
btrfs_inode.h Btrfs: convert the inode bit field to use the actual bit operations 2012-05-30 10:23:36 -04:00
check-integrity.c Btrfs: change integrity checker to support big blocks 2012-05-11 10:56:40 -04:00
check-integrity.h Btrfs: add optional integrity check code 2011-12-21 19:14:09 +01:00
compat.h Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code 2009-01-06 09:38:55 -05:00
compression.c Merge branch 'for-linus-min' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs 2012-04-13 19:41:27 -07:00
compression.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
ctree.c btrfs/ctree.c: remove the unnecessary 'return -1;' at the end of bin_search 2012-05-11 10:56:37 -04:00
ctree.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs 2012-04-28 09:30:07 -07:00
delayed-inode.c Btrfs: convert the inode bit field to use the actual bit operations 2012-05-30 10:23:36 -04:00
delayed-inode.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
delayed-ref.c btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
delayed-ref.h Btrfs: add waitqueue instead of doing busy waiting for more delayed refs 2012-01-04 16:12:48 +01:00
dir-item.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
disk-io.c Btrfs: convert the inode bit field to use the actual bit operations 2012-05-30 10:23:36 -04:00
disk-io.h Btrfs: avoid sleeping in verify_parent_transid while atomic 2012-05-06 07:23:47 -04:00
export.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
export.h NFS support for btrfs - v3 2008-09-25 11:04:06 -04:00
extent-tree.c Btrfs: convert the inode bit field to use the actual bit operations 2012-05-30 10:23:36 -04:00
extent_io.c Btrfs: use fastpath in extent state ops as much as possible 2012-05-30 10:23:34 -04:00
extent_io.h Btrfs: finish ordered extents in their own thread 2012-05-30 10:23:33 -04:00
extent_map.c Btrfs: clean up code for merging extent maps 2011-08-01 14:30:50 -04:00
extent_map.h btrfs: fix structs where bitfields and spinlock/atomic share 8B word 2012-02-15 16:40:25 +01:00
file-item.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs 2012-03-30 12:44:29 -07:00
file.c Btrfs: convert the inode bit field to use the actual bit operations 2012-05-30 10:23:36 -04:00
free-space-cache.c Btrfs: merge contigous regions when loading free space cache 2012-05-30 10:23:36 -04:00
free-space-cache.h btrfs: remove all unused functions 2011-05-06 12:34:03 +02:00
hash.h Btrfs: remove crc32c.h and use libcrc32c directly. 2009-06-10 11:29:53 -04:00
inode-item.c Merge branch 'error-handling' into for-linus 2012-03-28 20:31:37 -04:00
inode-map.c Btrfs: show useful info in space reservation tracepoint 2012-03-29 09:57:44 -04:00
inode-map.h Btrfs: Support reading/writing on disk free ino cache 2011-04-25 16:46:11 +08:00
inode.c Btrfs: convert the inode bit field to use the actual bit operations 2012-05-30 10:23:36 -04:00
ioctl.c Btrfs: do not do balance in readonly mode 2012-05-30 10:23:35 -04:00
ioctl.h btrfs: Fix mismatching struct members in ioctl.h 2012-05-04 15:16:06 -04:00
Kconfig Btrfs: add config option to enable btrfs integrity check 2011-12-21 19:14:16 +01:00
locking.c btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
locking.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
lzo.c btrfs: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:21 +08:00
Makefile Merge branch 'integrity-check-patch-v2' of git://btrfs.giantdisaster.de/git/btrfs into integration 2012-01-16 15:27:58 -05:00
ordered-data.c Btrfs: finish ordered extents in their own thread 2012-05-30 10:23:33 -04:00
ordered-data.h Btrfs: finish ordered extents in their own thread 2012-05-30 10:23:33 -04:00
orphan.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
print-tree.c btrfs: fix oops on failure path 2011-10-20 18:10:50 +02:00
print-tree.h Btrfs: Create extent_buffer interface for large blocksizes 2008-09-25 11:03:56 -04:00
reada.c btrfs: don't add both copies of DUP to reada extent tree 2012-04-18 19:12:44 +02:00
relocation.c Btrfs: Fix space checking during fs resize 2012-04-27 13:55:14 -04:00
root-tree.c btrfs: replace many BUG_ONs with proper error handling 2012-03-22 11:52:54 +01:00
scrub.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs 2012-05-06 10:20:07 -07:00
struct-funcs.c Btrfs: add the ability to cache a pointer into the eb 2012-03-26 17:04:23 -04:00
super.c Btrfs: avoid buffer overrun in mount option handling 2012-05-30 10:23:32 -04:00
sysfs.c btrfs: Remove unused sysfs code 2011-06-17 14:54:18 -04:00
transaction.c btrfs: add missing unlocks to transaction abort paths 2012-04-18 19:22:14 +02:00
transaction.h btrfs: enhance transaction abort infrastructure 2012-03-22 01:45:40 +01:00
tree-defrag.c btrfs: drop unused parameter from btrfs_release_path 2011-05-02 13:57:22 +02:00
tree-log.c Btrfs: avoid sleeping in verify_parent_transid while atomic 2012-05-06 07:23:47 -04:00
tree-log.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
ulist.c Fix minor type issues 2012-05-30 10:23:30 -04:00
ulist.h Fix minor type issues 2012-05-30 10:23:30 -04:00
version.h Update Btrfs files for in-kernel usage 2008-09-25 15:41:59 -04:00
volumes.c Btrfs: fix wrong error returned by adding a device 2012-05-30 10:23:34 -04:00
volumes.h btrfs: return void in functions without error conditions 2012-03-22 01:45:34 +01:00
xattr.c Btrfs: use i_version instead of our own sequence 2012-05-30 10:23:27 -04:00
xattr.h fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00
zlib.c btrfs: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:21 +08:00