fscrypt: adjust logging for in-creation inodes
Now that a fscrypt_info may be set up for inodes that are currently being created and haven't yet had an inode number assigned, avoid logging confusing messages about "inode 0". Acked-by: Jeff Layton <jlayton@kernel.org> Link: https://lore.kernel.org/r/20200917041136.178600-7-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
This commit is contained in:
Родитель
4c030fa887
Коммит
ae9ff8ad81
|
@ -343,9 +343,11 @@ void fscrypt_msg(const struct inode *inode, const char *level,
|
|||
va_start(args, fmt);
|
||||
vaf.fmt = fmt;
|
||||
vaf.va = &args;
|
||||
if (inode)
|
||||
if (inode && inode->i_ino)
|
||||
printk("%sfscrypt (%s, inode %lu): %pV\n",
|
||||
level, inode->i_sb->s_id, inode->i_ino, &vaf);
|
||||
else if (inode)
|
||||
printk("%sfscrypt (%s): %pV\n", level, inode->i_sb->s_id, &vaf);
|
||||
else
|
||||
printk("%sfscrypt: %pV\n", level, &vaf);
|
||||
va_end(args);
|
||||
|
|
|
@ -817,6 +817,7 @@ static int check_for_busy_inodes(struct super_block *sb,
|
|||
struct list_head *pos;
|
||||
size_t busy_count = 0;
|
||||
unsigned long ino;
|
||||
char ino_str[50] = "";
|
||||
|
||||
spin_lock(&mk->mk_decrypted_inodes_lock);
|
||||
|
||||
|
@ -838,11 +839,15 @@ static int check_for_busy_inodes(struct super_block *sb,
|
|||
}
|
||||
spin_unlock(&mk->mk_decrypted_inodes_lock);
|
||||
|
||||
/* If the inode is currently being created, ino may still be 0. */
|
||||
if (ino)
|
||||
snprintf(ino_str, sizeof(ino_str), ", including ino %lu", ino);
|
||||
|
||||
fscrypt_warn(NULL,
|
||||
"%s: %zu inode(s) still busy after removing key with %s %*phN, including ino %lu",
|
||||
"%s: %zu inode(s) still busy after removing key with %s %*phN%s",
|
||||
sb->s_id, busy_count, master_key_spec_type(&mk->mk_spec),
|
||||
master_key_spec_len(&mk->mk_spec), (u8 *)&mk->mk_spec.u,
|
||||
ino);
|
||||
ino_str);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче