ext4: reduce arguments of ext4_fc_add_dentry_tlv
Let's pass fc_dentry directly since those arguments (tag, parent_ino and ino etc) can be deferenced from it. Signed-off-by: Guoqing Jiang <jiangguoqing@kylinos.cn> Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Link: https://lore.kernel.org/r/20210727080708.3708814-1-guoqing.jiang@linux.dev
This commit is contained in:
committed by
Theodore Ts'o
parent
5036ab8df2
commit
facec450a8
@@ -775,28 +775,27 @@ static bool ext4_fc_add_tlv(struct super_block *sb, u16 tag, u16 len, u8 *val,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Same as above, but adds dentry tlv. */
|
/* Same as above, but adds dentry tlv. */
|
||||||
static bool ext4_fc_add_dentry_tlv(struct super_block *sb, u16 tag,
|
static bool ext4_fc_add_dentry_tlv(struct super_block *sb, u32 *crc,
|
||||||
int parent_ino, int ino, int dlen,
|
struct ext4_fc_dentry_update *fc_dentry)
|
||||||
const unsigned char *dname,
|
|
||||||
u32 *crc)
|
|
||||||
{
|
{
|
||||||
struct ext4_fc_dentry_info fcd;
|
struct ext4_fc_dentry_info fcd;
|
||||||
struct ext4_fc_tl tl;
|
struct ext4_fc_tl tl;
|
||||||
|
int dlen = fc_dentry->fcd_name.len;
|
||||||
u8 *dst = ext4_fc_reserve_space(sb, sizeof(tl) + sizeof(fcd) + dlen,
|
u8 *dst = ext4_fc_reserve_space(sb, sizeof(tl) + sizeof(fcd) + dlen,
|
||||||
crc);
|
crc);
|
||||||
|
|
||||||
if (!dst)
|
if (!dst)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
fcd.fc_parent_ino = cpu_to_le32(parent_ino);
|
fcd.fc_parent_ino = cpu_to_le32(fc_dentry->fcd_parent);
|
||||||
fcd.fc_ino = cpu_to_le32(ino);
|
fcd.fc_ino = cpu_to_le32(fc_dentry->fcd_ino);
|
||||||
tl.fc_tag = cpu_to_le16(tag);
|
tl.fc_tag = cpu_to_le16(fc_dentry->fcd_op);
|
||||||
tl.fc_len = cpu_to_le16(sizeof(fcd) + dlen);
|
tl.fc_len = cpu_to_le16(sizeof(fcd) + dlen);
|
||||||
ext4_fc_memcpy(sb, dst, &tl, sizeof(tl), crc);
|
ext4_fc_memcpy(sb, dst, &tl, sizeof(tl), crc);
|
||||||
dst += sizeof(tl);
|
dst += sizeof(tl);
|
||||||
ext4_fc_memcpy(sb, dst, &fcd, sizeof(fcd), crc);
|
ext4_fc_memcpy(sb, dst, &fcd, sizeof(fcd), crc);
|
||||||
dst += sizeof(fcd);
|
dst += sizeof(fcd);
|
||||||
ext4_fc_memcpy(sb, dst, dname, dlen, crc);
|
ext4_fc_memcpy(sb, dst, fc_dentry->fcd_name.name, dlen, crc);
|
||||||
dst += dlen;
|
dst += dlen;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -992,11 +991,7 @@ __releases(&sbi->s_fc_lock)
|
|||||||
&sbi->s_fc_dentry_q[FC_Q_MAIN], fcd_list) {
|
&sbi->s_fc_dentry_q[FC_Q_MAIN], fcd_list) {
|
||||||
if (fc_dentry->fcd_op != EXT4_FC_TAG_CREAT) {
|
if (fc_dentry->fcd_op != EXT4_FC_TAG_CREAT) {
|
||||||
spin_unlock(&sbi->s_fc_lock);
|
spin_unlock(&sbi->s_fc_lock);
|
||||||
if (!ext4_fc_add_dentry_tlv(
|
if (!ext4_fc_add_dentry_tlv(sb, crc, fc_dentry)) {
|
||||||
sb, fc_dentry->fcd_op,
|
|
||||||
fc_dentry->fcd_parent, fc_dentry->fcd_ino,
|
|
||||||
fc_dentry->fcd_name.len,
|
|
||||||
fc_dentry->fcd_name.name, crc)) {
|
|
||||||
ret = -ENOSPC;
|
ret = -ENOSPC;
|
||||||
goto lock_and_exit;
|
goto lock_and_exit;
|
||||||
}
|
}
|
||||||
@@ -1035,11 +1030,7 @@ __releases(&sbi->s_fc_lock)
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto lock_and_exit;
|
goto lock_and_exit;
|
||||||
|
|
||||||
if (!ext4_fc_add_dentry_tlv(
|
if (!ext4_fc_add_dentry_tlv(sb, crc, fc_dentry)) {
|
||||||
sb, fc_dentry->fcd_op,
|
|
||||||
fc_dentry->fcd_parent, fc_dentry->fcd_ino,
|
|
||||||
fc_dentry->fcd_name.len,
|
|
||||||
fc_dentry->fcd_name.name, crc)) {
|
|
||||||
ret = -ENOSPC;
|
ret = -ENOSPC;
|
||||||
goto lock_and_exit;
|
goto lock_and_exit;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user