projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason...
[linux-2.6-block.git]
/
fs
/
btrfs
/
inode.c
diff --git
a/fs/btrfs/inode.c
b/fs/btrfs/inode.c
index e4565456eb01d1d081d0cc2c5f2cc0c7ba54a3c3..5f06eb1f43843055c0373daeb9ad98648865150f 100644
(file)
--- a/
fs/btrfs/inode.c
+++ b/
fs/btrfs/inode.c
@@
-3546,10
+3546,10
@@
static noinline int acls_after_inode_item(struct extent_buffer *leaf,
int scanned = 0;
if (!xattr_access) {
int scanned = 0;
if (!xattr_access) {
- xattr_access = btrfs_name_hash(
POSIX_ACL_XATTR
_ACCESS,
- strlen(
POSIX_ACL_XATTR
_ACCESS));
- xattr_default = btrfs_name_hash(
POSIX_ACL_XATTR
_DEFAULT,
- strlen(
POSIX_ACL_XATTR
_DEFAULT));
+ xattr_access = btrfs_name_hash(
XATTR_NAME_POSIX_ACL
_ACCESS,
+ strlen(
XATTR_NAME_POSIX_ACL
_ACCESS));
+ xattr_default = btrfs_name_hash(
XATTR_NAME_POSIX_ACL
_DEFAULT,
+ strlen(
XATTR_NAME_POSIX_ACL
_DEFAULT));
}
slot++;
}
slot++;
@@
-3770,6
+3770,7
@@
cache_acl:
break;
case S_IFLNK:
inode->i_op = &btrfs_symlink_inode_operations;
break;
case S_IFLNK:
inode->i_op = &btrfs_symlink_inode_operations;
+ inode_nohighmem(inode);
inode->i_mapping->a_ops = &btrfs_symlink_aops;
break;
default:
inode->i_mapping->a_ops = &btrfs_symlink_aops;
break;
default:
@@
-8466,7
+8467,7
@@
static ssize_t btrfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
* not unlock the i_mutex at this case.
*/
if (offset + count <= inode->i_size) {
* not unlock the i_mutex at this case.
*/
if (offset + count <= inode->i_size) {
-
mutex_unlock(&inode->i_mutex
);
+
inode_unlock(inode
);
relock = true;
}
ret = btrfs_delalloc_reserve_space(inode, offset, count);
relock = true;
}
ret = btrfs_delalloc_reserve_space(inode, offset, count);
@@
-8523,7
+8524,7
@@
out:
if (wakeup)
inode_dio_end(inode);
if (relock)
if (wakeup)
inode_dio_end(inode);
if (relock)
-
mutex_lock(&inode->i_mutex
);
+
inode_lock(inode
);
return ret;
}
return ret;
}
@@
-9191,7
+9192,8
@@
int btrfs_init_cachep(void)
{
btrfs_inode_cachep = kmem_cache_create("btrfs_inode",
sizeof(struct btrfs_inode), 0,
{
btrfs_inode_cachep = kmem_cache_create("btrfs_inode",
sizeof(struct btrfs_inode), 0,
- SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD, init_once);
+ SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD | SLAB_ACCOUNT,
+ init_once);
if (!btrfs_inode_cachep)
goto fail;
if (!btrfs_inode_cachep)
goto fail;
@@
-9722,6
+9724,7
@@
static int btrfs_symlink(struct inode *dir, struct dentry *dentry,
btrfs_free_path(path);
inode->i_op = &btrfs_symlink_inode_operations;
btrfs_free_path(path);
inode->i_op = &btrfs_symlink_inode_operations;
+ inode_nohighmem(inode);
inode->i_mapping->a_ops = &btrfs_symlink_aops;
inode_set_bytes(inode, name_len);
btrfs_i_size_write(inode, name_len);
inode->i_mapping->a_ops = &btrfs_symlink_aops;
inode_set_bytes(inode, name_len);
btrfs_i_size_write(inode, name_len);
@@
-10018,7
+10021,7
@@
static const struct inode_operations btrfs_dir_inode_operations = {
.setattr = btrfs_setattr,
.mknod = btrfs_mknod,
.setxattr = btrfs_setxattr,
.setattr = btrfs_setattr,
.mknod = btrfs_mknod,
.setxattr = btrfs_setxattr,
- .getxattr =
btrfs
_getxattr,
+ .getxattr =
generic
_getxattr,
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.permission = btrfs_permission,
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.permission = btrfs_permission,
@@
-10095,7
+10098,7
@@
static const struct inode_operations btrfs_file_inode_operations = {
.getattr = btrfs_getattr,
.setattr = btrfs_setattr,
.setxattr = btrfs_setxattr,
.getattr = btrfs_getattr,
.setattr = btrfs_setattr,
.setxattr = btrfs_setxattr,
- .getxattr =
btrfs
_getxattr,
+ .getxattr =
generic
_getxattr,
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.permission = btrfs_permission,
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.permission = btrfs_permission,
@@
-10109,7
+10112,7
@@
static const struct inode_operations btrfs_special_inode_operations = {
.setattr = btrfs_setattr,
.permission = btrfs_permission,
.setxattr = btrfs_setxattr,
.setattr = btrfs_setattr,
.permission = btrfs_permission,
.setxattr = btrfs_setxattr,
- .getxattr =
btrfs
_getxattr,
+ .getxattr =
generic
_getxattr,
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.get_acl = btrfs_get_acl,
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.get_acl = btrfs_get_acl,
@@
-10118,13
+10121,12
@@
static const struct inode_operations btrfs_special_inode_operations = {
};
static const struct inode_operations btrfs_symlink_inode_operations = {
.readlink = generic_readlink,
};
static const struct inode_operations btrfs_symlink_inode_operations = {
.readlink = generic_readlink,
- .follow_link = page_follow_link_light,
- .put_link = page_put_link,
+ .get_link = page_get_link,
.getattr = btrfs_getattr,
.setattr = btrfs_setattr,
.permission = btrfs_permission,
.setxattr = btrfs_setxattr,
.getattr = btrfs_getattr,
.setattr = btrfs_setattr,
.permission = btrfs_permission,
.setxattr = btrfs_setxattr,
- .getxattr =
btrfs
_getxattr,
+ .getxattr =
generic
_getxattr,
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.update_time = btrfs_update_time,
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.update_time = btrfs_update_time,