summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ulist.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2012-05-06 07:23:47 -0400
committerChris Mason <chris.mason@oracle.com>2012-05-06 07:23:47 -0400
commitb9fab919b748c7b39c19ff236ed6c5682c266dde (patch)
tree49e5a6f8041a7f0a9be0c1a39cd9088e3faa1df2 /fs/btrfs/ulist.c
parentea9947b4395fa34666086b2fa6f686e94903e047 (diff)
downloadop-kernel-dev-b9fab919b748c7b39c19ff236ed6c5682c266dde.zip
op-kernel-dev-b9fab919b748c7b39c19ff236ed6c5682c266dde.tar.gz
Btrfs: avoid sleeping in verify_parent_transid while atomic
verify_parent_transid needs to lock the extent range to make sure no IO is underway, and so it can safely clear the uptodate bits if our checks fail. But, a few callers are using it with spinlocks held. Most of the time, the generation numbers are going to match, and we don't want to switch to a blocking lock just for the error case. This adds an atomic flag to verify_parent_transid, and changes it to return EAGAIN if it needs to block to properly verifiy things. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ulist.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud