|
@@ -2182,8 +2182,7 @@ static int insert_reserved_file_extent(struct btrfs_trans_handle *trans,
|
|
ins.offset = disk_num_bytes;
|
|
ins.offset = disk_num_bytes;
|
|
ins.type = BTRFS_EXTENT_ITEM_KEY;
|
|
ins.type = BTRFS_EXTENT_ITEM_KEY;
|
|
ret = btrfs_alloc_reserved_file_extent(trans, root->root_key.objectid,
|
|
ret = btrfs_alloc_reserved_file_extent(trans, root->root_key.objectid,
|
|
- btrfs_ino(BTRFS_I(inode)), file_pos,
|
|
|
|
- ram_bytes, &ins);
|
|
|
|
|
|
+ btrfs_ino(BTRFS_I(inode)), file_pos, ram_bytes, &ins);
|
|
/*
|
|
/*
|
|
* Release the reserved range from inode dirty range map, as it is
|
|
* Release the reserved range from inode dirty range map, as it is
|
|
* already moved into delayed_ref_head
|
|
* already moved into delayed_ref_head
|
|
@@ -3113,7 +3112,7 @@ static int __readpage_endio_check(struct inode *inode,
|
|
zeroit:
|
|
zeroit:
|
|
btrfs_warn_rl(BTRFS_I(inode)->root->fs_info,
|
|
btrfs_warn_rl(BTRFS_I(inode)->root->fs_info,
|
|
"csum failed ino %llu off %llu csum %u expected csum %u",
|
|
"csum failed ino %llu off %llu csum %u expected csum %u",
|
|
- btrfs_ino(BTRFS_I(inode)), start, csum, csum_expected);
|
|
|
|
|
|
+ btrfs_ino(BTRFS_I(inode)), start, csum, csum_expected);
|
|
memset(kaddr + pgoff, 1, len);
|
|
memset(kaddr + pgoff, 1, len);
|
|
flush_dcache_page(page);
|
|
flush_dcache_page(page);
|
|
kunmap_atomic(kaddr);
|
|
kunmap_atomic(kaddr);
|
|
@@ -3314,7 +3313,8 @@ int btrfs_orphan_add(struct btrfs_trans_handle *trans, struct inode *inode)
|
|
|
|
|
|
/* insert an orphan item to track this unlinked/truncated file */
|
|
/* insert an orphan item to track this unlinked/truncated file */
|
|
if (insert >= 1) {
|
|
if (insert >= 1) {
|
|
- ret = btrfs_insert_orphan_item(trans, root, btrfs_ino(BTRFS_I(inode)));
|
|
|
|
|
|
+ ret = btrfs_insert_orphan_item(trans, root,
|
|
|
|
+ btrfs_ino(BTRFS_I(inode)));
|
|
if (ret) {
|
|
if (ret) {
|
|
atomic_dec(&root->orphan_inodes);
|
|
atomic_dec(&root->orphan_inodes);
|
|
if (reserve) {
|
|
if (reserve) {
|
|
@@ -3799,7 +3799,7 @@ cache_acl:
|
|
* any xattrs or acls
|
|
* any xattrs or acls
|
|
*/
|
|
*/
|
|
maybe_acls = acls_after_inode_item(leaf, path->slots[0],
|
|
maybe_acls = acls_after_inode_item(leaf, path->slots[0],
|
|
- btrfs_ino(BTRFS_I(inode)), &first_xattr_slot);
|
|
|
|
|
|
+ btrfs_ino(BTRFS_I(inode)), &first_xattr_slot);
|
|
if (first_xattr_slot != -1) {
|
|
if (first_xattr_slot != -1) {
|
|
path->slots[0] = first_xattr_slot;
|
|
path->slots[0] = first_xattr_slot;
|
|
ret = btrfs_load_inode_props(inode, path);
|
|
ret = btrfs_load_inode_props(inode, path);
|
|
@@ -4863,8 +4863,8 @@ static int maybe_insert_hole(struct btrfs_root *root, struct inode *inode,
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|
|
- ret = btrfs_insert_file_extent(trans, root, btrfs_ino(BTRFS_I(inode)), offset,
|
|
|
|
- 0, 0, len, 0, len, 0, 0, 0);
|
|
|
|
|
|
+ ret = btrfs_insert_file_extent(trans, root, btrfs_ino(BTRFS_I(inode)),
|
|
|
|
+ offset, 0, 0, len, 0, len, 0, 0, 0);
|
|
if (ret)
|
|
if (ret)
|
|
btrfs_abort_transaction(trans, ret);
|
|
btrfs_abort_transaction(trans, ret);
|
|
else
|
|
else
|
|
@@ -5422,8 +5422,8 @@ static int btrfs_inode_by_name(struct inode *dir, struct dentry *dentry,
|
|
if (!path)
|
|
if (!path)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
- di = btrfs_lookup_dir_item(NULL, root, path, btrfs_ino(BTRFS_I(dir)), name,
|
|
|
|
- namelen, 0);
|
|
|
|
|
|
+ di = btrfs_lookup_dir_item(NULL, root, path, btrfs_ino(BTRFS_I(dir)),
|
|
|
|
+ name, namelen, 0);
|
|
if (IS_ERR(di))
|
|
if (IS_ERR(di))
|
|
ret = PTR_ERR(di);
|
|
ret = PTR_ERR(di);
|
|
|
|
|
|
@@ -6287,7 +6287,7 @@ static struct inode *btrfs_new_inode(struct btrfs_trans_handle *trans,
|
|
if (ret)
|
|
if (ret)
|
|
btrfs_err(fs_info,
|
|
btrfs_err(fs_info,
|
|
"error inheriting props for ino %llu (root %llu): %d",
|
|
"error inheriting props for ino %llu (root %llu): %d",
|
|
- btrfs_ino(BTRFS_I(inode)), root->root_key.objectid, ret);
|
|
|
|
|
|
+ btrfs_ino(BTRFS_I(inode)), root->root_key.objectid, ret);
|
|
|
|
|
|
return inode;
|
|
return inode;
|
|
|
|
|
|
@@ -6420,8 +6420,8 @@ static int btrfs_mknod(struct inode *dir, struct dentry *dentry,
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
|
|
|
|
inode = btrfs_new_inode(trans, root, dir, dentry->d_name.name,
|
|
inode = btrfs_new_inode(trans, root, dir, dentry->d_name.name,
|
|
- dentry->d_name.len, btrfs_ino(BTRFS_I(dir)), objectid,
|
|
|
|
- mode, &index);
|
|
|
|
|
|
+ dentry->d_name.len, btrfs_ino(BTRFS_I(dir)), objectid,
|
|
|
|
+ mode, &index);
|
|
if (IS_ERR(inode)) {
|
|
if (IS_ERR(inode)) {
|
|
err = PTR_ERR(inode);
|
|
err = PTR_ERR(inode);
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
@@ -6492,8 +6492,8 @@ static int btrfs_create(struct inode *dir, struct dentry *dentry,
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
|
|
|
|
inode = btrfs_new_inode(trans, root, dir, dentry->d_name.name,
|
|
inode = btrfs_new_inode(trans, root, dir, dentry->d_name.name,
|
|
- dentry->d_name.len, btrfs_ino(BTRFS_I(dir)), objectid,
|
|
|
|
- mode, &index);
|
|
|
|
|
|
+ dentry->d_name.len, btrfs_ino(BTRFS_I(dir)), objectid,
|
|
|
|
+ mode, &index);
|
|
if (IS_ERR(inode)) {
|
|
if (IS_ERR(inode)) {
|
|
err = PTR_ERR(inode);
|
|
err = PTR_ERR(inode);
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
@@ -6642,8 +6642,8 @@ static int btrfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|
goto out_fail;
|
|
goto out_fail;
|
|
|
|
|
|
inode = btrfs_new_inode(trans, root, dir, dentry->d_name.name,
|
|
inode = btrfs_new_inode(trans, root, dir, dentry->d_name.name,
|
|
- dentry->d_name.len, btrfs_ino(BTRFS_I(dir)), objectid,
|
|
|
|
- S_IFDIR | mode, &index);
|
|
|
|
|
|
+ dentry->d_name.len, btrfs_ino(BTRFS_I(dir)), objectid,
|
|
|
|
+ S_IFDIR | mode, &index);
|
|
if (IS_ERR(inode)) {
|
|
if (IS_ERR(inode)) {
|
|
err = PTR_ERR(inode);
|
|
err = PTR_ERR(inode);
|
|
goto out_fail;
|
|
goto out_fail;
|
|
@@ -7295,8 +7295,8 @@ noinline int can_nocow_extent(struct inode *inode, u64 offset, u64 *len,
|
|
if (!path)
|
|
if (!path)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
- ret = btrfs_lookup_file_extent(NULL, root, path, btrfs_ino(BTRFS_I(inode)),
|
|
|
|
- offset, 0);
|
|
|
|
|
|
+ ret = btrfs_lookup_file_extent(NULL, root, path,
|
|
|
|
+ btrfs_ino(BTRFS_I(inode)), offset, 0);
|
|
if (ret < 0)
|
|
if (ret < 0)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
@@ -8245,7 +8245,8 @@ static void btrfs_end_dio_bio(struct bio *bio)
|
|
if (err)
|
|
if (err)
|
|
btrfs_warn(BTRFS_I(dip->inode)->root->fs_info,
|
|
btrfs_warn(BTRFS_I(dip->inode)->root->fs_info,
|
|
"direct IO failed ino %llu rw %d,%u sector %#Lx len %u err no %d",
|
|
"direct IO failed ino %llu rw %d,%u sector %#Lx len %u err no %d",
|
|
- btrfs_ino(BTRFS_I(dip->inode)), bio_op(bio), bio->bi_opf,
|
|
|
|
|
|
+ btrfs_ino(BTRFS_I(dip->inode)), bio_op(bio),
|
|
|
|
+ bio->bi_opf,
|
|
(unsigned long long)bio->bi_iter.bi_sector,
|
|
(unsigned long long)bio->bi_iter.bi_sector,
|
|
bio->bi_iter.bi_size, err);
|
|
bio->bi_iter.bi_size, err);
|
|
|
|
|
|
@@ -9560,7 +9561,8 @@ static int btrfs_rename_exchange(struct inode *old_dir,
|
|
new_dentry->d_name.name,
|
|
new_dentry->d_name.name,
|
|
new_dentry->d_name.len,
|
|
new_dentry->d_name.len,
|
|
old_ino,
|
|
old_ino,
|
|
- btrfs_ino(BTRFS_I(new_dir)), old_idx);
|
|
|
|
|
|
+ btrfs_ino(BTRFS_I(new_dir)),
|
|
|
|
+ old_idx);
|
|
if (ret)
|
|
if (ret)
|
|
goto out_fail;
|
|
goto out_fail;
|
|
}
|
|
}
|
|
@@ -9576,7 +9578,8 @@ static int btrfs_rename_exchange(struct inode *old_dir,
|
|
old_dentry->d_name.name,
|
|
old_dentry->d_name.name,
|
|
old_dentry->d_name.len,
|
|
old_dentry->d_name.len,
|
|
new_ino,
|
|
new_ino,
|
|
- btrfs_ino(BTRFS_I(old_dir)), new_idx);
|
|
|
|
|
|
+ btrfs_ino(BTRFS_I(old_dir)),
|
|
|
|
+ new_idx);
|
|
if (ret)
|
|
if (ret)
|
|
goto out_fail;
|
|
goto out_fail;
|
|
}
|
|
}
|
|
@@ -9592,8 +9595,10 @@ static int btrfs_rename_exchange(struct inode *old_dir,
|
|
new_inode->i_ctime = ctime;
|
|
new_inode->i_ctime = ctime;
|
|
|
|
|
|
if (old_dentry->d_parent != new_dentry->d_parent) {
|
|
if (old_dentry->d_parent != new_dentry->d_parent) {
|
|
- btrfs_record_unlink_dir(trans, BTRFS_I(old_dir), BTRFS_I(old_inode), 1);
|
|
|
|
- btrfs_record_unlink_dir(trans, BTRFS_I(new_dir), BTRFS_I(new_inode), 1);
|
|
|
|
|
|
+ btrfs_record_unlink_dir(trans, BTRFS_I(old_dir),
|
|
|
|
+ BTRFS_I(old_inode), 1);
|
|
|
|
+ btrfs_record_unlink_dir(trans, BTRFS_I(new_dir),
|
|
|
|
+ BTRFS_I(new_inode), 1);
|
|
}
|
|
}
|
|
|
|
|
|
/* src is a subvolume */
|
|
/* src is a subvolume */
|
|
@@ -9659,13 +9664,15 @@ static int btrfs_rename_exchange(struct inode *old_dir,
|
|
|
|
|
|
if (root_log_pinned) {
|
|
if (root_log_pinned) {
|
|
parent = new_dentry->d_parent;
|
|
parent = new_dentry->d_parent;
|
|
- btrfs_log_new_name(trans, BTRFS_I(old_inode), BTRFS_I(old_dir), parent);
|
|
|
|
|
|
+ btrfs_log_new_name(trans, BTRFS_I(old_inode), BTRFS_I(old_dir),
|
|
|
|
+ parent);
|
|
btrfs_end_log_trans(root);
|
|
btrfs_end_log_trans(root);
|
|
root_log_pinned = false;
|
|
root_log_pinned = false;
|
|
}
|
|
}
|
|
if (dest_log_pinned) {
|
|
if (dest_log_pinned) {
|
|
parent = old_dentry->d_parent;
|
|
parent = old_dentry->d_parent;
|
|
- btrfs_log_new_name(trans, BTRFS_I(new_inode), BTRFS_I(new_dir), parent);
|
|
|
|
|
|
+ btrfs_log_new_name(trans, BTRFS_I(new_inode), BTRFS_I(new_dir),
|
|
|
|
+ parent);
|
|
btrfs_end_log_trans(dest);
|
|
btrfs_end_log_trans(dest);
|
|
dest_log_pinned = false;
|
|
dest_log_pinned = false;
|
|
}
|
|
}
|
|
@@ -9872,7 +9879,8 @@ static int btrfs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
|
old_inode->i_ctime = current_time(old_dir);
|
|
old_inode->i_ctime = current_time(old_dir);
|
|
|
|
|
|
if (old_dentry->d_parent != new_dentry->d_parent)
|
|
if (old_dentry->d_parent != new_dentry->d_parent)
|
|
- btrfs_record_unlink_dir(trans, BTRFS_I(old_dir), BTRFS_I(old_inode), 1);
|
|
|
|
|
|
+ btrfs_record_unlink_dir(trans, BTRFS_I(old_dir),
|
|
|
|
+ BTRFS_I(old_inode), 1);
|
|
|
|
|
|
if (unlikely(old_ino == BTRFS_FIRST_FREE_OBJECTID)) {
|
|
if (unlikely(old_ino == BTRFS_FIRST_FREE_OBJECTID)) {
|
|
root_objectid = BTRFS_I(old_inode)->root->root_key.objectid;
|
|
root_objectid = BTRFS_I(old_inode)->root->root_key.objectid;
|
|
@@ -9931,7 +9939,8 @@ static int btrfs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
|
if (log_pinned) {
|
|
if (log_pinned) {
|
|
struct dentry *parent = new_dentry->d_parent;
|
|
struct dentry *parent = new_dentry->d_parent;
|
|
|
|
|
|
- btrfs_log_new_name(trans, BTRFS_I(old_inode), BTRFS_I(old_dir), parent);
|
|
|
|
|
|
+ btrfs_log_new_name(trans, BTRFS_I(old_inode), BTRFS_I(old_dir),
|
|
|
|
+ parent);
|
|
btrfs_end_log_trans(root);
|
|
btrfs_end_log_trans(root);
|
|
log_pinned = false;
|
|
log_pinned = false;
|
|
}
|
|
}
|
|
@@ -10226,8 +10235,8 @@ static int btrfs_symlink(struct inode *dir, struct dentry *dentry,
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
|
|
|
|
inode = btrfs_new_inode(trans, root, dir, dentry->d_name.name,
|
|
inode = btrfs_new_inode(trans, root, dir, dentry->d_name.name,
|
|
- dentry->d_name.len, btrfs_ino(BTRFS_I(dir)), objectid,
|
|
|
|
- S_IFLNK|S_IRWXUGO, &index);
|
|
|
|
|
|
+ dentry->d_name.len, btrfs_ino(BTRFS_I(dir)),
|
|
|
|
+ objectid, S_IFLNK|S_IRWXUGO, &index);
|
|
if (IS_ERR(inode)) {
|
|
if (IS_ERR(inode)) {
|
|
err = PTR_ERR(inode);
|
|
err = PTR_ERR(inode);
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
@@ -10506,7 +10515,7 @@ static int btrfs_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
inode = btrfs_new_inode(trans, root, dir, NULL, 0,
|
|
inode = btrfs_new_inode(trans, root, dir, NULL, 0,
|
|
- btrfs_ino(BTRFS_I(dir)), objectid, mode, &index);
|
|
|
|
|
|
+ btrfs_ino(BTRFS_I(dir)), objectid, mode, &index);
|
|
if (IS_ERR(inode)) {
|
|
if (IS_ERR(inode)) {
|
|
ret = PTR_ERR(inode);
|
|
ret = PTR_ERR(inode);
|
|
inode = NULL;
|
|
inode = NULL;
|