From c6d48bcb185a3bab9206a9321b519eb25585cc05 Mon Sep 17 00:00:00 2001 From: Chris Mason Date: Wed, 30 Jan 2008 11:54:05 -0500 Subject: [PATCH] --- yaml --- r: 128639 b: refs/heads/master c: f392a938f3cc36a2abe68db9286bd864c3b2f7dd h: refs/heads/master i: 128637: 0dbfc80b50b4380e134e806c285ec89b7d082101 128635: 3c65a2e3efa63ad58703ce83b369485c19b63fda 128631: 7f6db9f5363499d88d8e0ce73c2643fbe08d8d5a 128623: 2e3f6f26983f58e1e93c81969785fc3fabd1edce 128607: c06f7114536b75e8bf80c2ea1e99ca3788666569 128575: cd0dc58140510f5c42cc2383d479446f5380911f 128511: 6650f35ceef35f32d9d9adead2d60123fc14fcd2 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/inode.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 15484e81e5d2..138322c2c67a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b1632b10c0133992fd0290b4836c47661bed4396 +refs/heads/master: f392a938f3cc36a2abe68db9286bd864c3b2f7dd diff --git a/trunk/fs/btrfs/inode.c b/trunk/fs/btrfs/inode.c index de17c61dfa0a..515f8b01ab04 100644 --- a/trunk/fs/btrfs/inode.c +++ b/trunk/fs/btrfs/inode.c @@ -1001,7 +1001,7 @@ static int btrfs_setattr(struct dentry *dentry, struct iattr *attr) u64 mask = root->sectorsize - 1; u64 pos = (inode->i_size + mask) & ~mask; - u64 block_end = attr->ia_size | mask; + u64 block_end = (attr->ia_size + mask) & ~mask; u64 hole_start; u64 hole_size; u64 alloc_hint = 0; @@ -1022,7 +1022,7 @@ static int btrfs_setattr(struct dentry *dentry, struct iattr *attr) btrfs_truncate_page(inode->i_mapping, inode->i_size); - lock_extent(io_tree, pos, block_end, GFP_NOFS); + lock_extent(io_tree, pos, block_end - 1, GFP_NOFS); hole_size = block_end - hole_start; mutex_lock(&root->fs_info->fs_mutex); @@ -1043,7 +1043,7 @@ static int btrfs_setattr(struct dentry *dentry, struct iattr *attr) } btrfs_end_transaction(trans, root); mutex_unlock(&root->fs_info->fs_mutex); - unlock_extent(io_tree, pos, block_end, GFP_NOFS); + unlock_extent(io_tree, pos, block_end - 1, GFP_NOFS); if (err) return err; }