]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: convert the inode bit field to use the actual bit operations
authorJosef Bacik <josef@redhat.com>
Wed, 23 May 2012 18:13:11 +0000 (14:13 -0400)
committerJosef Bacik <josef@redhat.com>
Wed, 30 May 2012 14:23:36 +0000 (10:23 -0400)
commit7679aa06280553ce61cbe0ba6ad6783e43d70792
treec8825a2b3848f201a2b67b3a2ec0aaf9669f9ed3
parent0b4e926a6403d0d3ce3a30052a58c2b9ab2c502b
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>
fs/btrfs/btrfs_inode.h
fs/btrfs/delayed-inode.c
fs/btrfs/disk-io.c
fs/btrfs/extent-tree.c
fs/btrfs/file.c
fs/btrfs/inode.c