mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Merge tag 'vfs-7.1-rc1.kino' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull vfs i_ino updates from Christian Brauner: "For historical reasons, the inode->i_ino field is an unsigned long, which means that it's 32 bits on 32 bit architectures. This has caused a number of filesystems to implement hacks to hash a 64-bit identifier into a 32-bit field, and deprives us of a universal identifier field for an inode. This changes the inode->i_ino field from an unsigned long to a u64. This shouldn't make any material difference on 64-bit hosts, but 32-bit hosts will see struct inode grow by at least 4 bytes. This could have effects on slabcache sizes and field alignment. The bulk of the changes are to format strings and tracepoints, since the kernel itself doesn't care that much about the i_ino field. The first patch changes some vfs function arguments, so check that one out carefully. With this change, we may be able to shrink some inode structures. For instance, struct nfs_inode has a fileid field that holds the 64-bit inode number. With this set of changes, that field could be eliminated. I'd rather leave that sort of cleanups for later just to keep this simple" * tag 'vfs-7.1-rc1.kino' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: nilfs2: fix 64-bit division operations in nilfs_bmap_find_target_in_group() EVM: add comment describing why ino field is still unsigned long vfs: remove externs from fs.h on functions modified by i_ino widening treewide: fix missed i_ino format specifier conversions ext4: fix signed format specifier in ext4_load_inode trace event treewide: change inode->i_ino from unsigned long to u64 nilfs2: widen trace event i_ino fields to u64 f2fs: widen trace event i_ino fields to u64 ext4: widen trace event i_ino fields to u64 zonefs: widen trace event i_ino fields to u64 hugetlbfs: widen trace event i_ino fields to u64 ext2: widen trace event i_ino fields to u64 cachefiles: widen trace event i_ino fields to u64 vfs: widen trace event i_ino fields to u64 net: change sock.sk_ino and sock_i_ino() to u64 audit: widen ino fields to u64 vfs: widen inode hash/lookup functions to u64
This commit is contained in:
@@ -1708,7 +1708,7 @@ static int dma_buf_debug_show(struct seq_file *s, void *unused)
|
|||||||
|
|
||||||
|
|
||||||
spin_lock(&buf_obj->name_lock);
|
spin_lock(&buf_obj->name_lock);
|
||||||
seq_printf(s, "%08zu\t%08x\t%08x\t%08ld\t%s\t%08lu\t%s\n",
|
seq_printf(s, "%08zu\t%08x\t%08x\t%08ld\t%s\t%08llu\t%s\n",
|
||||||
buf_obj->size,
|
buf_obj->size,
|
||||||
buf_obj->file->f_flags, buf_obj->file->f_mode,
|
buf_obj->file->f_flags, buf_obj->file->f_mode,
|
||||||
file_count(buf_obj->file),
|
file_count(buf_obj->file),
|
||||||
|
|||||||
@@ -1676,9 +1676,9 @@ u64 amdgpu_bo_print_info(int id, struct amdgpu_bo *bo, struct seq_file *m)
|
|||||||
attachment = READ_ONCE(bo->tbo.base.import_attach);
|
attachment = READ_ONCE(bo->tbo.base.import_attach);
|
||||||
|
|
||||||
if (attachment)
|
if (attachment)
|
||||||
seq_printf(m, " imported from ino:%lu", file_inode(dma_buf->file)->i_ino);
|
seq_printf(m, " imported from ino:%llu", file_inode(dma_buf->file)->i_ino);
|
||||||
else if (dma_buf)
|
else if (dma_buf)
|
||||||
seq_printf(m, " exported as ino:%lu", file_inode(dma_buf->file)->i_ino);
|
seq_printf(m, " exported as ino:%llu", file_inode(dma_buf->file)->i_ino);
|
||||||
|
|
||||||
amdgpu_bo_print_flag(m, bo, CPU_ACCESS_REQUIRED);
|
amdgpu_bo_print_flag(m, bo, CPU_ACCESS_REQUIRED);
|
||||||
amdgpu_bo_print_flag(m, bo, NO_CPU_ACCESS);
|
amdgpu_bo_print_flag(m, bo, NO_CPU_ACCESS);
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ static void v9fs_begin_writeback(struct netfs_io_request *wreq)
|
|||||||
|
|
||||||
fid = v9fs_fid_find_inode(wreq->inode, true, INVALID_UID, true);
|
fid = v9fs_fid_find_inode(wreq->inode, true, INVALID_UID, true);
|
||||||
if (!fid) {
|
if (!fid) {
|
||||||
WARN_ONCE(1, "folio expected an open fid inode->i_ino=%lx\n",
|
WARN_ONCE(1, "folio expected an open fid inode->i_ino=%llx\n",
|
||||||
wreq->inode->i_ino);
|
wreq->inode->i_ino);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -133,7 +133,7 @@ static int v9fs_init_request(struct netfs_io_request *rreq, struct file *file)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
no_fid:
|
no_fid:
|
||||||
WARN_ONCE(1, "folio expected an open fid inode->i_ino=%lx\n",
|
WARN_ONCE(1, "folio expected an open fid inode->i_ino=%llx\n",
|
||||||
rreq->inode->i_ino);
|
rreq->inode->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1245,7 +1245,7 @@ static int
|
|||||||
v9fs_vfs_symlink(struct mnt_idmap *idmap, struct inode *dir,
|
v9fs_vfs_symlink(struct mnt_idmap *idmap, struct inode *dir,
|
||||||
struct dentry *dentry, const char *symname)
|
struct dentry *dentry, const char *symname)
|
||||||
{
|
{
|
||||||
p9_debug(P9_DEBUG_VFS, " %lu,%pd,%s\n",
|
p9_debug(P9_DEBUG_VFS, " %llu,%pd,%s\n",
|
||||||
dir->i_ino, dentry, symname);
|
dir->i_ino, dentry, symname);
|
||||||
|
|
||||||
return v9fs_vfs_mkspecial(dir, dentry, P9_DMSYMLINK, symname);
|
return v9fs_vfs_mkspecial(dir, dentry, P9_DMSYMLINK, symname);
|
||||||
@@ -1269,7 +1269,7 @@ v9fs_vfs_link(struct dentry *old_dentry, struct inode *dir,
|
|||||||
char name[1 + U32_MAX_DIGITS + 2]; /* sign + number + \n + \0 */
|
char name[1 + U32_MAX_DIGITS + 2]; /* sign + number + \n + \0 */
|
||||||
struct p9_fid *oldfid;
|
struct p9_fid *oldfid;
|
||||||
|
|
||||||
p9_debug(P9_DEBUG_VFS, " %lu,%pd,%pd\n",
|
p9_debug(P9_DEBUG_VFS, " %llu,%pd,%pd\n",
|
||||||
dir->i_ino, dentry, old_dentry);
|
dir->i_ino, dentry, old_dentry);
|
||||||
|
|
||||||
oldfid = v9fs_fid_clone(old_dentry);
|
oldfid = v9fs_fid_clone(old_dentry);
|
||||||
@@ -1305,7 +1305,7 @@ v9fs_vfs_mknod(struct mnt_idmap *idmap, struct inode *dir,
|
|||||||
char name[2 + U32_MAX_DIGITS + 1 + U32_MAX_DIGITS + 1];
|
char name[2 + U32_MAX_DIGITS + 1 + U32_MAX_DIGITS + 1];
|
||||||
u32 perm;
|
u32 perm;
|
||||||
|
|
||||||
p9_debug(P9_DEBUG_VFS, " %lu,%pd mode: %x MAJOR: %u MINOR: %u\n",
|
p9_debug(P9_DEBUG_VFS, " %llu,%pd mode: %x MAJOR: %u MINOR: %u\n",
|
||||||
dir->i_ino, dentry, mode,
|
dir->i_ino, dentry, mode,
|
||||||
MAJOR(rdev), MINOR(rdev));
|
MAJOR(rdev), MINOR(rdev));
|
||||||
|
|
||||||
|
|||||||
@@ -691,7 +691,7 @@ v9fs_vfs_symlink_dotl(struct mnt_idmap *idmap, struct inode *dir,
|
|||||||
struct p9_fid *fid = NULL;
|
struct p9_fid *fid = NULL;
|
||||||
|
|
||||||
name = dentry->d_name.name;
|
name = dentry->d_name.name;
|
||||||
p9_debug(P9_DEBUG_VFS, "%lu,%s,%s\n", dir->i_ino, name, symname);
|
p9_debug(P9_DEBUG_VFS, "%llu,%s,%s\n", dir->i_ino, name, symname);
|
||||||
|
|
||||||
dfid = v9fs_parent_fid(dentry);
|
dfid = v9fs_parent_fid(dentry);
|
||||||
if (IS_ERR(dfid)) {
|
if (IS_ERR(dfid)) {
|
||||||
@@ -734,7 +734,7 @@ v9fs_vfs_link_dotl(struct dentry *old_dentry, struct inode *dir,
|
|||||||
struct p9_fid *dfid, *oldfid;
|
struct p9_fid *dfid, *oldfid;
|
||||||
struct v9fs_session_info *v9ses;
|
struct v9fs_session_info *v9ses;
|
||||||
|
|
||||||
p9_debug(P9_DEBUG_VFS, "dir ino: %lu, old_name: %pd, new_name: %pd\n",
|
p9_debug(P9_DEBUG_VFS, "dir ino: %llu, old_name: %pd, new_name: %pd\n",
|
||||||
dir->i_ino, old_dentry, dentry);
|
dir->i_ino, old_dentry, dentry);
|
||||||
|
|
||||||
v9ses = v9fs_inode2v9ses(dir);
|
v9ses = v9fs_inode2v9ses(dir);
|
||||||
@@ -798,7 +798,7 @@ v9fs_vfs_mknod_dotl(struct mnt_idmap *idmap, struct inode *dir,
|
|||||||
struct p9_qid qid;
|
struct p9_qid qid;
|
||||||
struct posix_acl *dacl = NULL, *pacl = NULL;
|
struct posix_acl *dacl = NULL, *pacl = NULL;
|
||||||
|
|
||||||
p9_debug(P9_DEBUG_VFS, " %lu,%pd mode: %x MAJOR: %u MINOR: %u\n",
|
p9_debug(P9_DEBUG_VFS, " %llu,%pd mode: %x MAJOR: %u MINOR: %u\n",
|
||||||
dir->i_ino, dentry, omode,
|
dir->i_ino, dentry, omode,
|
||||||
MAJOR(rdev), MINOR(rdev));
|
MAJOR(rdev), MINOR(rdev));
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ affs_insert_hash(struct inode *dir, struct buffer_head *bh)
|
|||||||
ino = bh->b_blocknr;
|
ino = bh->b_blocknr;
|
||||||
offset = affs_hash_name(sb, AFFS_TAIL(sb, bh)->name + 1, AFFS_TAIL(sb, bh)->name[0]);
|
offset = affs_hash_name(sb, AFFS_TAIL(sb, bh)->name + 1, AFFS_TAIL(sb, bh)->name[0]);
|
||||||
|
|
||||||
pr_debug("%s(dir=%lu, ino=%d)\n", __func__, dir->i_ino, ino);
|
pr_debug("%s(dir=%llu, ino=%d)\n", __func__, dir->i_ino, ino);
|
||||||
|
|
||||||
dir_bh = affs_bread(sb, dir->i_ino);
|
dir_bh = affs_bread(sb, dir->i_ino);
|
||||||
if (!dir_bh)
|
if (!dir_bh)
|
||||||
@@ -83,7 +83,7 @@ affs_remove_hash(struct inode *dir, struct buffer_head *rem_bh)
|
|||||||
sb = dir->i_sb;
|
sb = dir->i_sb;
|
||||||
rem_ino = rem_bh->b_blocknr;
|
rem_ino = rem_bh->b_blocknr;
|
||||||
offset = affs_hash_name(sb, AFFS_TAIL(sb, rem_bh)->name+1, AFFS_TAIL(sb, rem_bh)->name[0]);
|
offset = affs_hash_name(sb, AFFS_TAIL(sb, rem_bh)->name+1, AFFS_TAIL(sb, rem_bh)->name[0]);
|
||||||
pr_debug("%s(dir=%lu, ino=%d, hashval=%d)\n", __func__, dir->i_ino,
|
pr_debug("%s(dir=%llu, ino=%d, hashval=%d)\n", __func__, dir->i_ino,
|
||||||
rem_ino, offset);
|
rem_ino, offset);
|
||||||
|
|
||||||
bh = affs_bread(sb, dir->i_ino);
|
bh = affs_bread(sb, dir->i_ino);
|
||||||
@@ -128,7 +128,7 @@ affs_fix_dcache(struct inode *inode, u32 entry_ino)
|
|||||||
spin_lock(&inode->i_lock);
|
spin_lock(&inode->i_lock);
|
||||||
hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
|
hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
|
||||||
if (entry_ino == (u32)(long)dentry->d_fsdata) {
|
if (entry_ino == (u32)(long)dentry->d_fsdata) {
|
||||||
dentry->d_fsdata = (void *)inode->i_ino;
|
dentry->d_fsdata = (void *)(unsigned long)inode->i_ino;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -147,7 +147,7 @@ affs_remove_link(struct dentry *dentry)
|
|||||||
u32 link_ino, ino;
|
u32 link_ino, ino;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
pr_debug("%s(key=%ld)\n", __func__, inode->i_ino);
|
pr_debug("%s(key=%llu)\n", __func__, inode->i_ino);
|
||||||
retval = -EIO;
|
retval = -EIO;
|
||||||
bh = affs_bread(sb, inode->i_ino);
|
bh = affs_bread(sb, inode->i_ino);
|
||||||
if (!bh)
|
if (!bh)
|
||||||
@@ -279,7 +279,7 @@ affs_remove_header(struct dentry *dentry)
|
|||||||
if (!inode)
|
if (!inode)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
pr_debug("%s(key=%ld)\n", __func__, inode->i_ino);
|
pr_debug("%s(key=%llu)\n", __func__, inode->i_ino);
|
||||||
retval = -EIO;
|
retval = -EIO;
|
||||||
bh = affs_bread(sb, (u32)(long)dentry->d_fsdata);
|
bh = affs_bread(sb, (u32)(long)dentry->d_fsdata);
|
||||||
if (!bh)
|
if (!bh)
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ affs_alloc_block(struct inode *inode, u32 goal)
|
|||||||
sb = inode->i_sb;
|
sb = inode->i_sb;
|
||||||
sbi = AFFS_SB(sb);
|
sbi = AFFS_SB(sb);
|
||||||
|
|
||||||
pr_debug("balloc(inode=%lu,goal=%u): ", inode->i_ino, goal);
|
pr_debug("balloc(inode=%llu,goal=%u): ", inode->i_ino, goal);
|
||||||
|
|
||||||
if (AFFS_I(inode)->i_pa_cnt) {
|
if (AFFS_I(inode)->i_pa_cnt) {
|
||||||
pr_debug("%d\n", AFFS_I(inode)->i_lastalloc+1);
|
pr_debug("%d\n", AFFS_I(inode)->i_lastalloc+1);
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ affs_readdir(struct file *file, struct dir_context *ctx)
|
|||||||
u32 ino;
|
u32 ino;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
pr_debug("%s(ino=%lu,f_pos=%llx)\n", __func__, inode->i_ino, ctx->pos);
|
pr_debug("%s(ino=%llu,f_pos=%llx)\n", __func__, inode->i_ino, ctx->pos);
|
||||||
|
|
||||||
if (ctx->pos < 2) {
|
if (ctx->pos < 2) {
|
||||||
data->ino = 0;
|
data->ino = 0;
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ static struct buffer_head *affs_get_extblock_slow(struct inode *inode, u32 ext);
|
|||||||
static int
|
static int
|
||||||
affs_file_open(struct inode *inode, struct file *filp)
|
affs_file_open(struct inode *inode, struct file *filp)
|
||||||
{
|
{
|
||||||
pr_debug("open(%lu,%d)\n",
|
pr_debug("open(%llu,%d)\n",
|
||||||
inode->i_ino, atomic_read(&AFFS_I(inode)->i_opencnt));
|
inode->i_ino, atomic_read(&AFFS_I(inode)->i_opencnt));
|
||||||
atomic_inc(&AFFS_I(inode)->i_opencnt);
|
atomic_inc(&AFFS_I(inode)->i_opencnt);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -33,7 +33,7 @@ affs_file_open(struct inode *inode, struct file *filp)
|
|||||||
static int
|
static int
|
||||||
affs_file_release(struct inode *inode, struct file *filp)
|
affs_file_release(struct inode *inode, struct file *filp)
|
||||||
{
|
{
|
||||||
pr_debug("release(%lu, %d)\n",
|
pr_debug("release(%llu, %d)\n",
|
||||||
inode->i_ino, atomic_read(&AFFS_I(inode)->i_opencnt));
|
inode->i_ino, atomic_read(&AFFS_I(inode)->i_opencnt));
|
||||||
|
|
||||||
if (atomic_dec_and_test(&AFFS_I(inode)->i_opencnt)) {
|
if (atomic_dec_and_test(&AFFS_I(inode)->i_opencnt)) {
|
||||||
@@ -301,7 +301,7 @@ affs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_resul
|
|||||||
struct buffer_head *ext_bh;
|
struct buffer_head *ext_bh;
|
||||||
u32 ext;
|
u32 ext;
|
||||||
|
|
||||||
pr_debug("%s(%lu, %llu)\n", __func__, inode->i_ino,
|
pr_debug("%s(%llu, %llu)\n", __func__, inode->i_ino,
|
||||||
(unsigned long long)block);
|
(unsigned long long)block);
|
||||||
|
|
||||||
BUG_ON(block > (sector_t)0x7fffffffUL);
|
BUG_ON(block > (sector_t)0x7fffffffUL);
|
||||||
@@ -534,7 +534,7 @@ static int affs_do_read_folio_ofs(struct folio *folio, size_t to, int create)
|
|||||||
size_t bidx, boff, bsize;
|
size_t bidx, boff, bsize;
|
||||||
u32 tmp;
|
u32 tmp;
|
||||||
|
|
||||||
pr_debug("%s(%lu, %ld, 0, %zu)\n", __func__, inode->i_ino,
|
pr_debug("%s(%llu, %ld, 0, %zu)\n", __func__, inode->i_ino,
|
||||||
folio->index, to);
|
folio->index, to);
|
||||||
BUG_ON(to > folio_size(folio));
|
BUG_ON(to > folio_size(folio));
|
||||||
bsize = AFFS_SB(sb)->s_data_blksize;
|
bsize = AFFS_SB(sb)->s_data_blksize;
|
||||||
@@ -566,7 +566,7 @@ affs_extent_file_ofs(struct inode *inode, u32 newsize)
|
|||||||
u32 size, bsize;
|
u32 size, bsize;
|
||||||
u32 tmp;
|
u32 tmp;
|
||||||
|
|
||||||
pr_debug("%s(%lu, %d)\n", __func__, inode->i_ino, newsize);
|
pr_debug("%s(%llu, %d)\n", __func__, inode->i_ino, newsize);
|
||||||
bsize = AFFS_SB(sb)->s_data_blksize;
|
bsize = AFFS_SB(sb)->s_data_blksize;
|
||||||
bh = NULL;
|
bh = NULL;
|
||||||
size = AFFS_I(inode)->mmu_private;
|
size = AFFS_I(inode)->mmu_private;
|
||||||
@@ -634,7 +634,7 @@ static int affs_read_folio_ofs(struct file *file, struct folio *folio)
|
|||||||
size_t to;
|
size_t to;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
pr_debug("%s(%lu, %ld)\n", __func__, inode->i_ino, folio->index);
|
pr_debug("%s(%llu, %ld)\n", __func__, inode->i_ino, folio->index);
|
||||||
to = folio_size(folio);
|
to = folio_size(folio);
|
||||||
if (folio_pos(folio) + to > inode->i_size) {
|
if (folio_pos(folio) + to > inode->i_size) {
|
||||||
to = inode->i_size - folio_pos(folio);
|
to = inode->i_size - folio_pos(folio);
|
||||||
@@ -658,7 +658,7 @@ static int affs_write_begin_ofs(const struct kiocb *iocb,
|
|||||||
pgoff_t index;
|
pgoff_t index;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
pr_debug("%s(%lu, %llu, %llu)\n", __func__, inode->i_ino, pos,
|
pr_debug("%s(%llu, %llu, %llu)\n", __func__, inode->i_ino, pos,
|
||||||
pos + len);
|
pos + len);
|
||||||
if (pos > AFFS_I(inode)->mmu_private) {
|
if (pos > AFFS_I(inode)->mmu_private) {
|
||||||
/* XXX: this probably leaves a too-big i_size in case of
|
/* XXX: this probably leaves a too-big i_size in case of
|
||||||
@@ -710,7 +710,7 @@ static int affs_write_end_ofs(const struct kiocb *iocb,
|
|||||||
* due to write_begin.
|
* due to write_begin.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pr_debug("%s(%lu, %llu, %llu)\n", __func__, inode->i_ino, pos,
|
pr_debug("%s(%llu, %llu, %llu)\n", __func__, inode->i_ino, pos,
|
||||||
pos + len);
|
pos + len);
|
||||||
bsize = AFFS_SB(sb)->s_data_blksize;
|
bsize = AFFS_SB(sb)->s_data_blksize;
|
||||||
data = folio_address(folio);
|
data = folio_address(folio);
|
||||||
@@ -854,7 +854,7 @@ affs_free_prealloc(struct inode *inode)
|
|||||||
{
|
{
|
||||||
struct super_block *sb = inode->i_sb;
|
struct super_block *sb = inode->i_sb;
|
||||||
|
|
||||||
pr_debug("free_prealloc(ino=%lu)\n", inode->i_ino);
|
pr_debug("free_prealloc(ino=%llu)\n", inode->i_ino);
|
||||||
|
|
||||||
while (AFFS_I(inode)->i_pa_cnt) {
|
while (AFFS_I(inode)->i_pa_cnt) {
|
||||||
AFFS_I(inode)->i_pa_cnt--;
|
AFFS_I(inode)->i_pa_cnt--;
|
||||||
@@ -874,7 +874,7 @@ affs_truncate(struct inode *inode)
|
|||||||
struct buffer_head *ext_bh;
|
struct buffer_head *ext_bh;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
pr_debug("truncate(inode=%lu, oldsize=%llu, newsize=%llu)\n",
|
pr_debug("truncate(inode=%llu, oldsize=%llu, newsize=%llu)\n",
|
||||||
inode->i_ino, AFFS_I(inode)->mmu_private, inode->i_size);
|
inode->i_ino, AFFS_I(inode)->mmu_private, inode->i_size);
|
||||||
|
|
||||||
last_blk = 0;
|
last_blk = 0;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ struct inode *affs_iget(struct super_block *sb, unsigned long ino)
|
|||||||
if (!(inode_state_read_once(inode) & I_NEW))
|
if (!(inode_state_read_once(inode) & I_NEW))
|
||||||
return inode;
|
return inode;
|
||||||
|
|
||||||
pr_debug("affs_iget(%lu)\n", inode->i_ino);
|
pr_debug("affs_iget(%llu)\n", inode->i_ino);
|
||||||
|
|
||||||
block = inode->i_ino;
|
block = inode->i_ino;
|
||||||
bh = affs_bread(sb, block);
|
bh = affs_bread(sb, block);
|
||||||
@@ -171,14 +171,14 @@ affs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
|||||||
uid_t uid;
|
uid_t uid;
|
||||||
gid_t gid;
|
gid_t gid;
|
||||||
|
|
||||||
pr_debug("write_inode(%lu)\n", inode->i_ino);
|
pr_debug("write_inode(%llu)\n", inode->i_ino);
|
||||||
|
|
||||||
if (!inode->i_nlink)
|
if (!inode->i_nlink)
|
||||||
// possibly free block
|
// possibly free block
|
||||||
return 0;
|
return 0;
|
||||||
bh = affs_bread(sb, inode->i_ino);
|
bh = affs_bread(sb, inode->i_ino);
|
||||||
if (!bh) {
|
if (!bh) {
|
||||||
affs_error(sb,"write_inode","Cannot read block %lu",inode->i_ino);
|
affs_error(sb, "write_inode", "Cannot read block %llu", inode->i_ino);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
tail = AFFS_TAIL(sb, bh);
|
tail = AFFS_TAIL(sb, bh);
|
||||||
@@ -219,7 +219,7 @@ affs_notify_change(struct mnt_idmap *idmap, struct dentry *dentry,
|
|||||||
struct inode *inode = d_inode(dentry);
|
struct inode *inode = d_inode(dentry);
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
pr_debug("notify_change(%lu,0x%x)\n", inode->i_ino, attr->ia_valid);
|
pr_debug("notify_change(%llu,0x%x)\n", inode->i_ino, attr->ia_valid);
|
||||||
|
|
||||||
error = setattr_prepare(&nop_mnt_idmap, dentry, attr);
|
error = setattr_prepare(&nop_mnt_idmap, dentry, attr);
|
||||||
if (error)
|
if (error)
|
||||||
@@ -260,7 +260,7 @@ void
|
|||||||
affs_evict_inode(struct inode *inode)
|
affs_evict_inode(struct inode *inode)
|
||||||
{
|
{
|
||||||
unsigned long cache_page;
|
unsigned long cache_page;
|
||||||
pr_debug("evict_inode(ino=%lu, nlink=%u)\n",
|
pr_debug("evict_inode(ino=%llu, nlink=%u)\n",
|
||||||
inode->i_ino, inode->i_nlink);
|
inode->i_ino, inode->i_nlink);
|
||||||
truncate_inode_pages_final(&inode->i_data);
|
truncate_inode_pages_final(&inode->i_data);
|
||||||
|
|
||||||
@@ -353,7 +353,7 @@ affs_add_entry(struct inode *dir, struct inode *inode, struct dentry *dentry, s3
|
|||||||
u32 block = 0;
|
u32 block = 0;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
pr_debug("%s(dir=%lu, inode=%lu, \"%pd\", type=%d)\n", __func__,
|
pr_debug("%s(dir=%llu, inode=%llu, \"%pd\", type=%d)\n", __func__,
|
||||||
dir->i_ino, inode->i_ino, dentry, type);
|
dir->i_ino, inode->i_ino, dentry, type);
|
||||||
|
|
||||||
retval = -EIO;
|
retval = -EIO;
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ affs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
|
|||||||
int
|
int
|
||||||
affs_unlink(struct inode *dir, struct dentry *dentry)
|
affs_unlink(struct inode *dir, struct dentry *dentry)
|
||||||
{
|
{
|
||||||
pr_debug("%s(dir=%lu, %lu \"%pd\")\n", __func__, dir->i_ino,
|
pr_debug("%s(dir=%llu, %llu \"%pd\")\n", __func__, dir->i_ino,
|
||||||
d_inode(dentry)->i_ino, dentry);
|
d_inode(dentry)->i_ino, dentry);
|
||||||
|
|
||||||
return affs_remove_header(dentry);
|
return affs_remove_header(dentry);
|
||||||
@@ -249,7 +249,7 @@ affs_create(struct mnt_idmap *idmap, struct inode *dir,
|
|||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
pr_debug("%s(%lu,\"%pd\",0%ho)\n",
|
pr_debug("%s(%llu,\"%pd\",0%ho)\n",
|
||||||
__func__, dir->i_ino, dentry, mode);
|
__func__, dir->i_ino, dentry, mode);
|
||||||
|
|
||||||
inode = affs_new_inode(dir);
|
inode = affs_new_inode(dir);
|
||||||
@@ -280,7 +280,7 @@ affs_mkdir(struct mnt_idmap *idmap, struct inode *dir,
|
|||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
pr_debug("%s(%lu,\"%pd\",0%ho)\n",
|
pr_debug("%s(%llu,\"%pd\",0%ho)\n",
|
||||||
__func__, dir->i_ino, dentry, mode);
|
__func__, dir->i_ino, dentry, mode);
|
||||||
|
|
||||||
inode = affs_new_inode(dir);
|
inode = affs_new_inode(dir);
|
||||||
@@ -306,7 +306,7 @@ affs_mkdir(struct mnt_idmap *idmap, struct inode *dir,
|
|||||||
int
|
int
|
||||||
affs_rmdir(struct inode *dir, struct dentry *dentry)
|
affs_rmdir(struct inode *dir, struct dentry *dentry)
|
||||||
{
|
{
|
||||||
pr_debug("%s(dir=%lu, %lu \"%pd\")\n", __func__, dir->i_ino,
|
pr_debug("%s(dir=%llu, %llu \"%pd\")\n", __func__, dir->i_ino,
|
||||||
d_inode(dentry)->i_ino, dentry);
|
d_inode(dentry)->i_ino, dentry);
|
||||||
|
|
||||||
return affs_remove_header(dentry);
|
return affs_remove_header(dentry);
|
||||||
@@ -323,7 +323,7 @@ affs_symlink(struct mnt_idmap *idmap, struct inode *dir,
|
|||||||
int i, maxlen, error;
|
int i, maxlen, error;
|
||||||
char c, lc;
|
char c, lc;
|
||||||
|
|
||||||
pr_debug("%s(%lu,\"%pd\" -> \"%s\")\n",
|
pr_debug("%s(%llu,\"%pd\" -> \"%s\")\n",
|
||||||
__func__, dir->i_ino, dentry, symname);
|
__func__, dir->i_ino, dentry, symname);
|
||||||
|
|
||||||
maxlen = AFFS_SB(sb)->s_hashsize * sizeof(u32) - 1;
|
maxlen = AFFS_SB(sb)->s_hashsize * sizeof(u32) - 1;
|
||||||
@@ -395,7 +395,7 @@ affs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry)
|
|||||||
{
|
{
|
||||||
struct inode *inode = d_inode(old_dentry);
|
struct inode *inode = d_inode(old_dentry);
|
||||||
|
|
||||||
pr_debug("%s(%lu, %lu, \"%pd\")\n", __func__, inode->i_ino, dir->i_ino,
|
pr_debug("%s(%llu, %llu, \"%pd\")\n", __func__, inode->i_ino, dir->i_ino,
|
||||||
dentry);
|
dentry);
|
||||||
|
|
||||||
return affs_add_entry(dir, inode, dentry, ST_LINKFILE);
|
return affs_add_entry(dir, inode, dentry, ST_LINKFILE);
|
||||||
@@ -511,7 +511,7 @@ int affs_rename2(struct mnt_idmap *idmap, struct inode *old_dir,
|
|||||||
if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE))
|
if (flags & ~(RENAME_NOREPLACE | RENAME_EXCHANGE))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
pr_debug("%s(old=%lu,\"%pd\" to new=%lu,\"%pd\")\n", __func__,
|
pr_debug("%s(old=%llu,\"%pd\" to new=%llu,\"%pd\")\n", __func__,
|
||||||
old_dir->i_ino, old_dentry, new_dir->i_ino, new_dentry);
|
old_dir->i_ino, old_dentry, new_dir->i_ino, new_dentry);
|
||||||
|
|
||||||
if (flags & RENAME_EXCHANGE)
|
if (flags & RENAME_EXCHANGE)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ static int affs_symlink_read_folio(struct file *file, struct folio *folio)
|
|||||||
char c;
|
char c;
|
||||||
char lc;
|
char lc;
|
||||||
|
|
||||||
pr_debug("get_link(ino=%lu)\n", inode->i_ino);
|
pr_debug("get_link(ino=%llu)\n", inode->i_ino);
|
||||||
|
|
||||||
bh = affs_bread(inode->i_sb, inode->i_ino);
|
bh = affs_bread(inode->i_sb, inode->i_ino);
|
||||||
if (!bh)
|
if (!bh)
|
||||||
|
|||||||
10
fs/afs/dir.c
10
fs/afs/dir.c
@@ -148,7 +148,7 @@ static bool afs_dir_check_block(struct afs_vnode *dvnode, size_t progress,
|
|||||||
union afs_xdr_dir_block *block)
|
union afs_xdr_dir_block *block)
|
||||||
{
|
{
|
||||||
if (block->hdr.magic != AFS_DIR_MAGIC) {
|
if (block->hdr.magic != AFS_DIR_MAGIC) {
|
||||||
pr_warn("%s(%lx): [%zx] bad magic %04x\n",
|
pr_warn("%s(%llx): [%zx] bad magic %04x\n",
|
||||||
__func__, dvnode->netfs.inode.i_ino,
|
__func__, dvnode->netfs.inode.i_ino,
|
||||||
progress, ntohs(block->hdr.magic));
|
progress, ntohs(block->hdr.magic));
|
||||||
trace_afs_dir_check_failed(dvnode, progress);
|
trace_afs_dir_check_failed(dvnode, progress);
|
||||||
@@ -214,7 +214,7 @@ static int afs_dir_check(struct afs_vnode *dvnode)
|
|||||||
*/
|
*/
|
||||||
static int afs_dir_open(struct inode *inode, struct file *file)
|
static int afs_dir_open(struct inode *inode, struct file *file)
|
||||||
{
|
{
|
||||||
_enter("{%lu}", inode->i_ino);
|
_enter("{%llu}", inode->i_ino);
|
||||||
|
|
||||||
BUILD_BUG_ON(sizeof(union afs_xdr_dir_block) != 2048);
|
BUILD_BUG_ON(sizeof(union afs_xdr_dir_block) != 2048);
|
||||||
BUILD_BUG_ON(sizeof(union afs_xdr_dirent) != 32);
|
BUILD_BUG_ON(sizeof(union afs_xdr_dirent) != 32);
|
||||||
@@ -523,7 +523,7 @@ static int afs_dir_iterate(struct inode *dir, struct dir_context *ctx,
|
|||||||
int retry_limit = 100;
|
int retry_limit = 100;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
_enter("{%lu},%llx,,", dir->i_ino, ctx->pos);
|
_enter("{%llu},%llx,,", dir->i_ino, ctx->pos);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (--retry_limit < 0) {
|
if (--retry_limit < 0) {
|
||||||
@@ -610,7 +610,7 @@ static int afs_do_lookup_one(struct inode *dir, const struct qstr *name,
|
|||||||
};
|
};
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
_enter("{%lu},{%.*s},", dir->i_ino, name->len, name->name);
|
_enter("{%llu},{%.*s},", dir->i_ino, name->len, name->name);
|
||||||
|
|
||||||
/* search the directory */
|
/* search the directory */
|
||||||
ret = afs_dir_iterate(dir, &cookie.ctx, NULL, _dir_version);
|
ret = afs_dir_iterate(dir, &cookie.ctx, NULL, _dir_version);
|
||||||
@@ -783,7 +783,7 @@ static struct inode *afs_do_lookup(struct inode *dir, struct dentry *dentry)
|
|||||||
long ret;
|
long ret;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
_enter("{%lu},%p{%pd},", dir->i_ino, dentry, dentry);
|
_enter("{%llu},%p{%pd},", dir->i_ino, dentry, dentry);
|
||||||
|
|
||||||
cookie = kzalloc_obj(struct afs_lookup_cookie);
|
cookie = kzalloc_obj(struct afs_lookup_cookie);
|
||||||
if (!cookie)
|
if (!cookie)
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ int afs_dir_search(struct afs_vnode *dvnode, const struct qstr *name,
|
|||||||
struct afs_dir_iter iter = { .dvnode = dvnode, };
|
struct afs_dir_iter iter = { .dvnode = dvnode, };
|
||||||
int ret, retry_limit = 3;
|
int ret, retry_limit = 3;
|
||||||
|
|
||||||
_enter("{%lu},,,", dvnode->netfs.inode.i_ino);
|
_enter("{%llu},,,", dvnode->netfs.inode.i_ino);
|
||||||
|
|
||||||
if (!afs_dir_init_iter(&iter, name))
|
if (!afs_dir_init_iter(&iter, name))
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ static struct inode *afs_iget_pseudo_dir(struct super_block *sb, ino_t ino)
|
|||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
}
|
}
|
||||||
|
|
||||||
_debug("GOT INODE %p { ino=%lu, vl=%llx, vn=%llx, u=%x }",
|
_debug("GOT INODE %p { ino=%llu, vl=%llx, vn=%llx, u=%x }",
|
||||||
inode, inode->i_ino, fid.vid, fid.vnode, fid.unique);
|
inode, inode->i_ino, fid.vid, fid.vnode, fid.unique);
|
||||||
|
|
||||||
vnode = AFS_FS_I(inode);
|
vnode = AFS_FS_I(inode);
|
||||||
|
|||||||
@@ -683,7 +683,7 @@ int afs_getattr(struct mnt_idmap *idmap, const struct path *path,
|
|||||||
struct key *key;
|
struct key *key;
|
||||||
int ret, seq;
|
int ret, seq;
|
||||||
|
|
||||||
_enter("{ ino=%lu v=%u }", inode->i_ino, inode->i_generation);
|
_enter("{ ino=%llu v=%u }", inode->i_ino, inode->i_generation);
|
||||||
|
|
||||||
if (vnode->volume &&
|
if (vnode->volume &&
|
||||||
!(query_flags & AT_STATX_DONT_SYNC) &&
|
!(query_flags & AT_STATX_DONT_SYNC) &&
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ static int autofs_show_options(struct seq_file *m, struct dentry *root)
|
|||||||
seq_puts(m, ",ignore");
|
seq_puts(m, ",ignore");
|
||||||
#ifdef CONFIG_CHECKPOINT_RESTORE
|
#ifdef CONFIG_CHECKPOINT_RESTORE
|
||||||
if (sbi->pipe)
|
if (sbi->pipe)
|
||||||
seq_printf(m, ",pipe_ino=%ld", file_inode(sbi->pipe)->i_ino);
|
seq_printf(m, ",pipe_ino=%llu", file_inode(sbi->pipe)->i_ino);
|
||||||
else
|
else
|
||||||
seq_puts(m, ",pipe_ino=-1");
|
seq_puts(m, ",pipe_ino=-1");
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -140,20 +140,20 @@ befs_get_block(struct inode *inode, sector_t block,
|
|||||||
int res;
|
int res;
|
||||||
ulong disk_off;
|
ulong disk_off;
|
||||||
|
|
||||||
befs_debug(sb, "---> befs_get_block() for inode %lu, block %ld",
|
befs_debug(sb, "---> befs_get_block() for inode %llu, block %ld",
|
||||||
(unsigned long)inode->i_ino, (long)block);
|
inode->i_ino, (long)block);
|
||||||
if (create) {
|
if (create) {
|
||||||
befs_error(sb, "befs_get_block() was asked to write to "
|
befs_error(sb, "befs_get_block() was asked to write to "
|
||||||
"block %ld in inode %lu", (long)block,
|
"block %ld in inode %llu", (long)block,
|
||||||
(unsigned long)inode->i_ino);
|
inode->i_ino);
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = befs_fblock2brun(sb, ds, block, &run);
|
res = befs_fblock2brun(sb, ds, block, &run);
|
||||||
if (res != BEFS_OK) {
|
if (res != BEFS_OK) {
|
||||||
befs_error(sb,
|
befs_error(sb,
|
||||||
"<--- %s for inode %lu, block %ld ERROR",
|
"<--- %s for inode %llu, block %ld ERROR",
|
||||||
__func__, (unsigned long)inode->i_ino,
|
__func__, inode->i_ino,
|
||||||
(long)block);
|
(long)block);
|
||||||
return -EFBIG;
|
return -EFBIG;
|
||||||
}
|
}
|
||||||
@@ -162,8 +162,8 @@ befs_get_block(struct inode *inode, sector_t block,
|
|||||||
|
|
||||||
map_bh(bh_result, inode->i_sb, disk_off);
|
map_bh(bh_result, inode->i_sb, disk_off);
|
||||||
|
|
||||||
befs_debug(sb, "<--- %s for inode %lu, block %ld, disk address %lu",
|
befs_debug(sb, "<--- %s for inode %llu, block %ld, disk address %lu",
|
||||||
__func__, (unsigned long)inode->i_ino, (long)block,
|
__func__, inode->i_ino, (long)block,
|
||||||
(unsigned long)disk_off);
|
(unsigned long)disk_off);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -181,7 +181,7 @@ befs_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
|
|||||||
char *utfname;
|
char *utfname;
|
||||||
const char *name = dentry->d_name.name;
|
const char *name = dentry->d_name.name;
|
||||||
|
|
||||||
befs_debug(sb, "---> %s name %pd inode %ld", __func__,
|
befs_debug(sb, "---> %s name %pd inode %llu", __func__,
|
||||||
dentry, dir->i_ino);
|
dentry, dir->i_ino);
|
||||||
|
|
||||||
/* Convert to UTF-8 */
|
/* Convert to UTF-8 */
|
||||||
@@ -224,7 +224,7 @@ befs_readdir(struct file *file, struct dir_context *ctx)
|
|||||||
size_t keysize;
|
size_t keysize;
|
||||||
char keybuf[BEFS_NAME_LEN + 1];
|
char keybuf[BEFS_NAME_LEN + 1];
|
||||||
|
|
||||||
befs_debug(sb, "---> %s name %pD, inode %ld, ctx->pos %lld",
|
befs_debug(sb, "---> %s name %pD, inode %llu, ctx->pos %lld",
|
||||||
__func__, file, inode->i_ino, ctx->pos);
|
__func__, file, inode->i_ino, ctx->pos);
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
@@ -233,7 +233,7 @@ befs_readdir(struct file *file, struct dir_context *ctx)
|
|||||||
|
|
||||||
if (result == BEFS_ERR) {
|
if (result == BEFS_ERR) {
|
||||||
befs_debug(sb, "<--- %s ERROR", __func__);
|
befs_debug(sb, "<--- %s ERROR", __func__);
|
||||||
befs_error(sb, "IO error reading %pD (inode %lu)",
|
befs_error(sb, "IO error reading %pD (inode %llu)",
|
||||||
file, inode->i_ino);
|
file, inode->i_ino);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
@@ -324,7 +324,7 @@ static struct inode *befs_iget(struct super_block *sb, unsigned long ino)
|
|||||||
bh = sb_bread(sb, inode->i_ino);
|
bh = sb_bread(sb, inode->i_ino);
|
||||||
if (!bh) {
|
if (!bh) {
|
||||||
befs_error(sb, "unable to read inode block - "
|
befs_error(sb, "unable to read inode block - "
|
||||||
"inode = %lu", inode->i_ino);
|
"inode = %llu", inode->i_ino);
|
||||||
goto unacquire_none;
|
goto unacquire_none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -333,7 +333,7 @@ static struct inode *befs_iget(struct super_block *sb, unsigned long ino)
|
|||||||
befs_dump_inode(sb, raw_inode);
|
befs_dump_inode(sb, raw_inode);
|
||||||
|
|
||||||
if (befs_check_inode(sb, raw_inode, inode->i_ino) != BEFS_OK) {
|
if (befs_check_inode(sb, raw_inode, inode->i_ino) != BEFS_OK) {
|
||||||
befs_error(sb, "Bad inode: %lu", inode->i_ino);
|
befs_error(sb, "Bad inode: %llu", inode->i_ino);
|
||||||
goto unacquire_bh;
|
goto unacquire_bh;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -407,7 +407,7 @@ static struct inode *befs_iget(struct super_block *sb, unsigned long ino)
|
|||||||
inode->i_op = &simple_symlink_inode_operations;
|
inode->i_op = &simple_symlink_inode_operations;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
befs_error(sb, "Inode %lu is not a regular file, "
|
befs_error(sb, "Inode %llu is not a regular file, "
|
||||||
"directory or symlink. THAT IS WRONG! BeFS has no "
|
"directory or symlink. THAT IS WRONG! BeFS has no "
|
||||||
"on disk special files", inode->i_ino);
|
"on disk special files", inode->i_ino);
|
||||||
goto unacquire_bh;
|
goto unacquire_bh;
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ static int bfs_readdir(struct file *f, struct dir_context *ctx)
|
|||||||
int block;
|
int block;
|
||||||
|
|
||||||
if (ctx->pos & (BFS_DIRENT_SIZE - 1)) {
|
if (ctx->pos & (BFS_DIRENT_SIZE - 1)) {
|
||||||
printf("Bad f_pos=%08lx for %s:%08lx\n",
|
printf("Bad f_pos=%08lx for %s:%08llx\n",
|
||||||
(unsigned long)ctx->pos,
|
(unsigned long)ctx->pos,
|
||||||
dir->i_sb->s_id, dir->i_ino);
|
dir->i_sb->s_id, dir->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -180,7 +180,7 @@ static int bfs_unlink(struct inode *dir, struct dentry *dentry)
|
|||||||
goto out_brelse;
|
goto out_brelse;
|
||||||
|
|
||||||
if (!inode->i_nlink) {
|
if (!inode->i_nlink) {
|
||||||
printf("unlinking non-existent file %s:%lu (nlink=%d)\n",
|
printf("unlinking non-existent file %s:%llu (nlink=%d)\n",
|
||||||
inode->i_sb->s_id, inode->i_ino,
|
inode->i_sb->s_id, inode->i_ino,
|
||||||
inode->i_nlink);
|
inode->i_nlink);
|
||||||
set_nlink(inode, 1);
|
set_nlink(inode, 1);
|
||||||
|
|||||||
@@ -917,7 +917,7 @@ static int elf_fdpic_map_file(struct elf_fdpic_params *params,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
dynamic_error:
|
dynamic_error:
|
||||||
printk("ELF FDPIC %s with invalid DYNAMIC section (inode=%lu)\n",
|
printk("ELF FDPIC %s with invalid DYNAMIC section (inode=%llu)\n",
|
||||||
what, file_inode(file)->i_ino);
|
what, file_inode(file)->i_ino);
|
||||||
return -ELIBBAD;
|
return -ELIBBAD;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ static int cachefiles_read(struct netfs_cache_resources *cres,
|
|||||||
object = cachefiles_cres_object(cres);
|
object = cachefiles_cres_object(cres);
|
||||||
file = cachefiles_cres_file(cres);
|
file = cachefiles_cres_file(cres);
|
||||||
|
|
||||||
_enter("%pD,%li,%llx,%zx/%llx",
|
_enter("%pD,%llu,%llx,%zx/%llx",
|
||||||
file, file_inode(file)->i_ino, start_pos, len,
|
file, file_inode(file)->i_ino, start_pos, len,
|
||||||
i_size_read(file_inode(file)));
|
i_size_read(file_inode(file)));
|
||||||
|
|
||||||
@@ -214,7 +214,7 @@ static int cachefiles_query_occupancy(struct netfs_cache_resources *cres,
|
|||||||
file = cachefiles_cres_file(cres);
|
file = cachefiles_cres_file(cres);
|
||||||
granularity = max_t(size_t, object->volume->cache->bsize, granularity);
|
granularity = max_t(size_t, object->volume->cache->bsize, granularity);
|
||||||
|
|
||||||
_enter("%pD,%li,%llx,%zx/%llx",
|
_enter("%pD,%llu,%llx,%zx/%llx",
|
||||||
file, file_inode(file)->i_ino, start, len,
|
file, file_inode(file)->i_ino, start, len,
|
||||||
i_size_read(file_inode(file)));
|
i_size_read(file_inode(file)));
|
||||||
|
|
||||||
@@ -294,7 +294,7 @@ int __cachefiles_write(struct cachefiles_object *object,
|
|||||||
fscache_count_write();
|
fscache_count_write();
|
||||||
cache = object->volume->cache;
|
cache = object->volume->cache;
|
||||||
|
|
||||||
_enter("%pD,%li,%llx,%zx/%llx",
|
_enter("%pD,%llu,%llx,%zx/%llx",
|
||||||
file, file_inode(file)->i_ino, start_pos, len,
|
file, file_inode(file)->i_ino, start_pos, len,
|
||||||
i_size_read(file_inode(file)));
|
i_size_read(file_inode(file)));
|
||||||
|
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ retry:
|
|||||||
}
|
}
|
||||||
ASSERT(d_backing_inode(subdir));
|
ASSERT(d_backing_inode(subdir));
|
||||||
|
|
||||||
_debug("mkdir -> %pd{ino=%lu}",
|
_debug("mkdir -> %pd{ino=%llu}",
|
||||||
subdir, d_backing_inode(subdir)->i_ino);
|
subdir, d_backing_inode(subdir)->i_ino);
|
||||||
if (_is_new)
|
if (_is_new)
|
||||||
*_is_new = true;
|
*_is_new = true;
|
||||||
@@ -158,7 +158,7 @@ retry:
|
|||||||
end_creating_keep(subdir);
|
end_creating_keep(subdir);
|
||||||
|
|
||||||
if (!__cachefiles_mark_inode_in_use(NULL, d_inode(subdir))) {
|
if (!__cachefiles_mark_inode_in_use(NULL, d_inode(subdir))) {
|
||||||
pr_notice("cachefiles: Inode already in use: %pd (B=%lx)\n",
|
pr_notice("cachefiles: Inode already in use: %pd (B=%llx)\n",
|
||||||
subdir, d_inode(subdir)->i_ino);
|
subdir, d_inode(subdir)->i_ino);
|
||||||
goto mark_error;
|
goto mark_error;
|
||||||
}
|
}
|
||||||
@@ -183,7 +183,7 @@ retry:
|
|||||||
!d_backing_inode(subdir)->i_op->unlink)
|
!d_backing_inode(subdir)->i_op->unlink)
|
||||||
goto check_error;
|
goto check_error;
|
||||||
|
|
||||||
_leave(" = [%lu]", d_backing_inode(subdir)->i_ino);
|
_leave(" = [%llu]", d_backing_inode(subdir)->i_ino);
|
||||||
return subdir;
|
return subdir;
|
||||||
|
|
||||||
check_error:
|
check_error:
|
||||||
@@ -500,7 +500,7 @@ static bool cachefiles_create_file(struct cachefiles_object *object)
|
|||||||
|
|
||||||
set_bit(FSCACHE_COOKIE_NEEDS_UPDATE, &object->cookie->flags);
|
set_bit(FSCACHE_COOKIE_NEEDS_UPDATE, &object->cookie->flags);
|
||||||
set_bit(CACHEFILES_OBJECT_USING_TMPFILE, &object->flags);
|
set_bit(CACHEFILES_OBJECT_USING_TMPFILE, &object->flags);
|
||||||
_debug("create -> %pD{ino=%lu}", file, file_inode(file)->i_ino);
|
_debug("create -> %pD{ino=%llu}", file, file_inode(file)->i_ino);
|
||||||
object->file = file;
|
object->file = file;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -520,7 +520,7 @@ static bool cachefiles_open_file(struct cachefiles_object *object,
|
|||||||
_enter("%pd", dentry);
|
_enter("%pd", dentry);
|
||||||
|
|
||||||
if (!cachefiles_mark_inode_in_use(object, d_inode(dentry))) {
|
if (!cachefiles_mark_inode_in_use(object, d_inode(dentry))) {
|
||||||
pr_notice("cachefiles: Inode already in use: %pd (B=%lx)\n",
|
pr_notice("cachefiles: Inode already in use: %pd (B=%llx)\n",
|
||||||
dentry, d_inode(dentry)->i_ino);
|
dentry, d_inode(dentry)->i_ino);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -628,7 +628,7 @@ bool cachefiles_look_up_object(struct cachefiles_object *object)
|
|||||||
if (!ret)
|
if (!ret)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
_leave(" = t [%lu]", file_inode(object->file)->i_ino);
|
_leave(" = t [%llu]", file_inode(object->file)->i_ino);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
new_file:
|
new_file:
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ int cachefiles_remove_object_xattr(struct cachefiles_cache *cache,
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
else if (ret != -ENOMEM)
|
else if (ret != -ENOMEM)
|
||||||
cachefiles_io_error(cache,
|
cachefiles_io_error(cache,
|
||||||
"Can't remove xattr from %lu"
|
"Can't remove xattr from %llu"
|
||||||
" (error %d)",
|
" (error %d)",
|
||||||
d_backing_inode(dentry)->i_ino, -ret);
|
d_backing_inode(dentry)->i_ino, -ret);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -272,7 +272,7 @@ int ceph_encode_encrypted_dname(struct inode *parent, char *buf, int elen)
|
|||||||
/* To understand the 240 limit, see CEPH_NOHASH_NAME_MAX comments */
|
/* To understand the 240 limit, see CEPH_NOHASH_NAME_MAX comments */
|
||||||
WARN_ON(elen > 240);
|
WARN_ON(elen > 240);
|
||||||
if (dir != parent) // leading _ is already there; append _<inum>
|
if (dir != parent) // leading _ is already there; append _<inum>
|
||||||
elen += 1 + sprintf(p + elen, "_%ld", dir->i_ino);
|
elen += 1 + sprintf(p + elen, "_%llu", dir->i_ino);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
kfree(cryptbuf);
|
kfree(cryptbuf);
|
||||||
@@ -377,7 +377,7 @@ int ceph_fname_to_usr(const struct ceph_fname *fname, struct fscrypt_str *tname,
|
|||||||
if (!ret && (dir != fname->dir)) {
|
if (!ret && (dir != fname->dir)) {
|
||||||
char tmp_buf[BASE64_CHARS(NAME_MAX)];
|
char tmp_buf[BASE64_CHARS(NAME_MAX)];
|
||||||
|
|
||||||
name_len = snprintf(tmp_buf, sizeof(tmp_buf), "_%.*s_%ld",
|
name_len = snprintf(tmp_buf, sizeof(tmp_buf), "_%.*s_%llu",
|
||||||
oname->len, oname->name, dir->i_ino);
|
oname->len, oname->name, dir->i_ino);
|
||||||
memcpy(oname->name, tmp_buf, name_len);
|
memcpy(oname->name, tmp_buf, name_len);
|
||||||
oname->len = name_len;
|
oname->len = name_len;
|
||||||
|
|||||||
@@ -533,7 +533,7 @@ int coda_revalidate_inode(struct inode *inode)
|
|||||||
coda_vattr_to_iattr(inode, &attr);
|
coda_vattr_to_iattr(inode, &attr);
|
||||||
|
|
||||||
if ((old_mode & S_IFMT) != (inode->i_mode & S_IFMT)) {
|
if ((old_mode & S_IFMT) != (inode->i_mode & S_IFMT)) {
|
||||||
pr_warn("inode %ld, fid %s changed type!\n",
|
pr_warn("inode %llu, fid %s changed type!\n",
|
||||||
inode->i_ino, coda_f2s(&(cii->c_fid)));
|
inode->i_ino, coda_f2s(&(cii->c_fid)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ static int coda_fill_super(struct super_block *sb, struct fs_context *fc)
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
pr_info("%s: rootinode is %ld dev %s\n",
|
pr_info("%s: rootinode is %llu dev %s\n",
|
||||||
__func__, root->i_ino, root->i_sb->s_id);
|
__func__, root->i_ino, root->i_sb->s_id);
|
||||||
sb->s_root = d_make_root(root);
|
sb->s_root = d_make_root(root);
|
||||||
if (!sb->s_root) {
|
if (!sb->s_root) {
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ static struct inode *get_cramfs_inode(struct super_block *sb,
|
|||||||
old_decode_dev(cramfs_inode->size));
|
old_decode_dev(cramfs_inode->size));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printk(KERN_DEBUG "CRAMFS: Invalid file type 0%04o for inode %lu.\n",
|
printk(KERN_DEBUG "CRAMFS: Invalid file type 0%04o for inode %llu.\n",
|
||||||
inode->i_mode, inode->i_ino);
|
inode->i_mode, inode->i_ino);
|
||||||
iget_failed(inode);
|
iget_failed(inode);
|
||||||
return ERR_PTR(-EIO);
|
return ERR_PTR(-EIO);
|
||||||
|
|||||||
@@ -365,7 +365,7 @@ void fscrypt_msg(const struct inode *inode, const char *level,
|
|||||||
vaf.fmt = fmt;
|
vaf.fmt = fmt;
|
||||||
vaf.va = &args;
|
vaf.va = &args;
|
||||||
if (inode && inode->i_ino)
|
if (inode && inode->i_ino)
|
||||||
printk("%sfscrypt (%s, inode %lu): %pV\n",
|
printk("%sfscrypt (%s, inode %llu): %pV\n",
|
||||||
level, inode->i_sb->s_id, inode->i_ino, &vaf);
|
level, inode->i_sb->s_id, inode->i_ino, &vaf);
|
||||||
else if (inode)
|
else if (inode)
|
||||||
printk("%sfscrypt (%s): %pV\n", level, inode->i_sb->s_id, &vaf);
|
printk("%sfscrypt (%s): %pV\n", level, inode->i_sb->s_id, &vaf);
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ int fscrypt_file_open(struct inode *inode, struct file *filp)
|
|||||||
dentry_parent = dget_parent(dentry);
|
dentry_parent = dget_parent(dentry);
|
||||||
if (!fscrypt_has_permitted_context(d_inode(dentry_parent), inode)) {
|
if (!fscrypt_has_permitted_context(d_inode(dentry_parent), inode)) {
|
||||||
fscrypt_warn(inode,
|
fscrypt_warn(inode,
|
||||||
"Inconsistent encryption context (parent directory: %lu)",
|
"Inconsistent encryption context (parent directory: %llu)",
|
||||||
d_inode(dentry_parent)->i_ino);
|
d_inode(dentry_parent)->i_ino);
|
||||||
err = -EPERM;
|
err = -EPERM;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -969,8 +969,8 @@ static int check_for_busy_inodes(struct super_block *sb,
|
|||||||
{
|
{
|
||||||
struct list_head *pos;
|
struct list_head *pos;
|
||||||
size_t busy_count = 0;
|
size_t busy_count = 0;
|
||||||
unsigned long ino;
|
|
||||||
char ino_str[50] = "";
|
char ino_str[50] = "";
|
||||||
|
u64 ino;
|
||||||
|
|
||||||
spin_lock(&mk->mk_decrypted_inodes_lock);
|
spin_lock(&mk->mk_decrypted_inodes_lock);
|
||||||
|
|
||||||
@@ -994,7 +994,7 @@ static int check_for_busy_inodes(struct super_block *sb,
|
|||||||
|
|
||||||
/* If the inode is currently being created, ino may still be 0. */
|
/* If the inode is currently being created, ino may still be 0. */
|
||||||
if (ino)
|
if (ino)
|
||||||
snprintf(ino_str, sizeof(ino_str), ", including ino %lu", ino);
|
snprintf(ino_str, sizeof(ino_str), ", including ino %llu", ino);
|
||||||
|
|
||||||
fscrypt_warn(NULL,
|
fscrypt_warn(NULL,
|
||||||
"%s: %zu inode(s) still busy after removing key with %s %*phN%s",
|
"%s: %zu inode(s) still busy after removing key with %s %*phN%s",
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ select_encryption_mode(const union fscrypt_policy *policy,
|
|||||||
if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode))
|
if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode))
|
||||||
return &fscrypt_modes[fscrypt_policy_fnames_mode(policy)];
|
return &fscrypt_modes[fscrypt_policy_fnames_mode(policy)];
|
||||||
|
|
||||||
WARN_ONCE(1, "fscrypt: filesystem tried to load encryption info for inode %lu, which is not encryptable (file type %d)\n",
|
WARN_ONCE(1, "fscrypt: filesystem tried to load encryption info for inode %llu, which is not encryptable (file type %d)\n",
|
||||||
inode->i_ino, (inode->i_mode & S_IFMT));
|
inode->i_ino, (inode->i_mode & S_IFMT));
|
||||||
return ERR_PTR(-EINVAL);
|
return ERR_PTR(-EINVAL);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1637,11 +1637,11 @@ static enum d_walk_ret umount_check(void *_data, struct dentry *dentry)
|
|||||||
if (dentry == _data && dentry->d_lockref.count == 1)
|
if (dentry == _data && dentry->d_lockref.count == 1)
|
||||||
return D_WALK_CONTINUE;
|
return D_WALK_CONTINUE;
|
||||||
|
|
||||||
WARN(1, "BUG: Dentry %p{i=%lx,n=%pd} "
|
WARN(1, "BUG: Dentry %p{i=%llx,n=%pd} "
|
||||||
" still in use (%d) [unmount of %s %s]\n",
|
" still in use (%d) [unmount of %s %s]\n",
|
||||||
dentry,
|
dentry,
|
||||||
dentry->d_inode ?
|
dentry->d_inode ?
|
||||||
dentry->d_inode->i_ino : 0UL,
|
dentry->d_inode->i_ino : (u64)0,
|
||||||
dentry,
|
dentry,
|
||||||
dentry->d_lockref.count,
|
dentry->d_lockref.count,
|
||||||
dentry->d_sb->s_type->name,
|
dentry->d_sb->s_type->name,
|
||||||
|
|||||||
@@ -1313,7 +1313,7 @@ int ecryptfs_read_metadata(struct dentry *ecryptfs_dentry)
|
|||||||
rc = ecryptfs_read_xattr_region(page_virt, ecryptfs_inode);
|
rc = ecryptfs_read_xattr_region(page_virt, ecryptfs_inode);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
printk(KERN_DEBUG "Valid eCryptfs headers not found in "
|
printk(KERN_DEBUG "Valid eCryptfs headers not found in "
|
||||||
"file header region or xattr region, inode %lu\n",
|
"file header region or xattr region, inode %llu\n",
|
||||||
ecryptfs_inode->i_ino);
|
ecryptfs_inode->i_ino);
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
goto out;
|
goto out;
|
||||||
@@ -1323,7 +1323,7 @@ int ecryptfs_read_metadata(struct dentry *ecryptfs_dentry)
|
|||||||
ECRYPTFS_DONT_VALIDATE_HEADER_SIZE);
|
ECRYPTFS_DONT_VALIDATE_HEADER_SIZE);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
printk(KERN_DEBUG "Valid eCryptfs headers not found in "
|
printk(KERN_DEBUG "Valid eCryptfs headers not found in "
|
||||||
"file xattr region either, inode %lu\n",
|
"file xattr region either, inode %llu\n",
|
||||||
ecryptfs_inode->i_ino);
|
ecryptfs_inode->i_ino);
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
}
|
}
|
||||||
@@ -1335,7 +1335,7 @@ int ecryptfs_read_metadata(struct dentry *ecryptfs_dentry)
|
|||||||
"crypto metadata only in the extended attribute "
|
"crypto metadata only in the extended attribute "
|
||||||
"region, but eCryptfs was mounted without "
|
"region, but eCryptfs was mounted without "
|
||||||
"xattr support enabled. eCryptfs will not treat "
|
"xattr support enabled. eCryptfs will not treat "
|
||||||
"this like an encrypted file, inode %lu\n",
|
"this like an encrypted file, inode %llu\n",
|
||||||
ecryptfs_inode->i_ino);
|
ecryptfs_inode->i_ino);
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ static int ecryptfs_open(struct inode *inode, struct file *file)
|
|||||||
if (rc)
|
if (rc)
|
||||||
goto out_put;
|
goto out_put;
|
||||||
ecryptfs_printk(KERN_DEBUG, "inode w/ addr = [0x%p], i_ino = "
|
ecryptfs_printk(KERN_DEBUG, "inode w/ addr = [0x%p], i_ino = "
|
||||||
"[0x%.16lx] size: [0x%.16llx]\n", inode, inode->i_ino,
|
"[0x%.16llx] size: [0x%.16llx]\n", inode, inode->i_ino,
|
||||||
(unsigned long long)i_size_read(inode));
|
(unsigned long long)i_size_read(inode));
|
||||||
goto out;
|
goto out;
|
||||||
out_put:
|
out_put:
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ struct inode *efs_iget(struct super_block *super, unsigned long ino)
|
|||||||
for(i = 0; i < EFS_DIRECTEXTENTS; i++) {
|
for(i = 0; i < EFS_DIRECTEXTENTS; i++) {
|
||||||
extent_copy(&(efs_inode->di_u.di_extents[i]), &(in->extents[i]));
|
extent_copy(&(efs_inode->di_u.di_extents[i]), &(in->extents[i]));
|
||||||
if (i < in->numextents && in->extents[i].cooked.ex_magic != 0) {
|
if (i < in->numextents && in->extents[i].cooked.ex_magic != 0) {
|
||||||
pr_warn("extent %d has bad magic number in inode %lu\n",
|
pr_warn("extent %d has bad magic number in inode %llu\n",
|
||||||
i, inode->i_ino);
|
i, inode->i_ino);
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
goto read_inode_error;
|
goto read_inode_error;
|
||||||
@@ -140,7 +140,7 @@ struct inode *efs_iget(struct super_block *super, unsigned long ino)
|
|||||||
}
|
}
|
||||||
|
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
pr_debug("efs_iget(): inode %lu, extents %d, mode %o\n",
|
pr_debug("efs_iget(): inode %llu, extents %d, mode %o\n",
|
||||||
inode->i_ino, in->numextents, inode->i_mode);
|
inode->i_ino, in->numextents, inode->i_mode);
|
||||||
switch (inode->i_mode & S_IFMT) {
|
switch (inode->i_mode & S_IFMT) {
|
||||||
case S_IFDIR:
|
case S_IFDIR:
|
||||||
@@ -171,7 +171,7 @@ struct inode *efs_iget(struct super_block *super, unsigned long ino)
|
|||||||
return inode;
|
return inode;
|
||||||
|
|
||||||
read_inode_error:
|
read_inode_error:
|
||||||
pr_warn("failed to read inode %lu\n", inode->i_ino);
|
pr_warn("failed to read inode %llu\n", inode->i_ino);
|
||||||
iget_failed(inode);
|
iget_failed(inode);
|
||||||
return ERR_PTR(-EIO);
|
return ERR_PTR(-EIO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1084,7 +1084,7 @@ static void ep_show_fdinfo(struct seq_file *m, struct file *f)
|
|||||||
struct inode *inode = file_inode(epi->ffd.file);
|
struct inode *inode = file_inode(epi->ffd.file);
|
||||||
|
|
||||||
seq_printf(m, "tfd: %8d events: %8x data: %16llx "
|
seq_printf(m, "tfd: %8d events: %8x data: %16llx "
|
||||||
" pos:%lli ino:%lx sdev:%x\n",
|
" pos:%lli ino:%llx sdev:%x\n",
|
||||||
epi->ffd.fd, epi->event.events,
|
epi->ffd.fd, epi->event.events,
|
||||||
(long long)epi->event.data,
|
(long long)epi->event.data,
|
||||||
(long long)epi->ffd.file->f_pos,
|
(long long)epi->ffd.file->f_pos,
|
||||||
|
|||||||
@@ -130,12 +130,12 @@ static struct dentry *reconnect_one(struct vfsmount *mnt,
|
|||||||
parent = mnt->mnt_sb->s_export_op->get_parent(dentry);
|
parent = mnt->mnt_sb->s_export_op->get_parent(dentry);
|
||||||
|
|
||||||
if (IS_ERR(parent)) {
|
if (IS_ERR(parent)) {
|
||||||
dprintk("get_parent of %lu failed, err %ld\n",
|
dprintk("get_parent of %llu failed, err %ld\n",
|
||||||
dentry->d_inode->i_ino, PTR_ERR(parent));
|
dentry->d_inode->i_ino, PTR_ERR(parent));
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
dprintk("%s: find name of %lu in %lu\n", __func__,
|
dprintk("%s: find name of %llu in %llu\n", __func__,
|
||||||
dentry->d_inode->i_ino, parent->d_inode->i_ino);
|
dentry->d_inode->i_ino, parent->d_inode->i_ino);
|
||||||
err = exportfs_get_name(mnt, parent, nbuf, dentry);
|
err = exportfs_get_name(mnt, parent, nbuf, dentry);
|
||||||
if (err == -ENOENT)
|
if (err == -ENOENT)
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ out:
|
|||||||
Ebadsize:
|
Ebadsize:
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
ext2_error(sb, __func__,
|
ext2_error(sb, __func__,
|
||||||
"size of directory #%lu is not a multiple "
|
"size of directory #%llu is not a multiple "
|
||||||
"of chunk size", dir->i_ino);
|
"of chunk size", dir->i_ino);
|
||||||
goto fail;
|
goto fail;
|
||||||
Eshort:
|
Eshort:
|
||||||
@@ -160,7 +160,7 @@ Einumber:
|
|||||||
error = "inode out of bounds";
|
error = "inode out of bounds";
|
||||||
bad_entry:
|
bad_entry:
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
ext2_error(sb, __func__, "bad entry in directory #%lu: : %s - "
|
ext2_error(sb, __func__, "bad entry in directory #%llu: : %s - "
|
||||||
"offset=%llu, inode=%lu, rec_len=%d, name_len=%d",
|
"offset=%llu, inode=%lu, rec_len=%d, name_len=%d",
|
||||||
dir->i_ino, error, folio_pos(folio) + offs,
|
dir->i_ino, error, folio_pos(folio) + offs,
|
||||||
(unsigned long) le32_to_cpu(p->inode),
|
(unsigned long) le32_to_cpu(p->inode),
|
||||||
@@ -170,7 +170,7 @@ Eend:
|
|||||||
if (!quiet) {
|
if (!quiet) {
|
||||||
p = (ext2_dirent *)(kaddr + offs);
|
p = (ext2_dirent *)(kaddr + offs);
|
||||||
ext2_error(sb, "ext2_check_folio",
|
ext2_error(sb, "ext2_check_folio",
|
||||||
"entry in directory #%lu spans the page boundary"
|
"entry in directory #%llu spans the page boundary"
|
||||||
"offset=%llu, inode=%lu",
|
"offset=%llu, inode=%lu",
|
||||||
dir->i_ino, folio_pos(folio) + offs,
|
dir->i_ino, folio_pos(folio) + offs,
|
||||||
(unsigned long) le32_to_cpu(p->inode));
|
(unsigned long) le32_to_cpu(p->inode));
|
||||||
@@ -281,7 +281,7 @@ ext2_readdir(struct file *file, struct dir_context *ctx)
|
|||||||
|
|
||||||
if (IS_ERR(kaddr)) {
|
if (IS_ERR(kaddr)) {
|
||||||
ext2_error(sb, __func__,
|
ext2_error(sb, __func__,
|
||||||
"bad page in #%lu",
|
"bad page in #%llu",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
ctx->pos += PAGE_SIZE - offset;
|
ctx->pos += PAGE_SIZE - offset;
|
||||||
return PTR_ERR(kaddr);
|
return PTR_ERR(kaddr);
|
||||||
@@ -383,7 +383,7 @@ struct ext2_dir_entry_2 *ext2_find_entry (struct inode *dir,
|
|||||||
/* next folio is past the blocks we've got */
|
/* next folio is past the blocks we've got */
|
||||||
if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) {
|
if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) {
|
||||||
ext2_error(dir->i_sb, __func__,
|
ext2_error(dir->i_sb, __func__,
|
||||||
"dir %lu size %lld exceeds block count %llu",
|
"dir %llu size %lld exceeds block count %llu",
|
||||||
dir->i_ino, dir->i_size,
|
dir->i_ino, dir->i_size,
|
||||||
(unsigned long long)dir->i_blocks);
|
(unsigned long long)dir->i_blocks);
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
@@ -169,9 +169,10 @@ static void ext2_preread_inode(struct inode *inode)
|
|||||||
unsigned long block_group;
|
unsigned long block_group;
|
||||||
unsigned long offset;
|
unsigned long offset;
|
||||||
unsigned long block;
|
unsigned long block;
|
||||||
|
unsigned int ino = inode->i_ino;
|
||||||
struct ext2_group_desc * gdp;
|
struct ext2_group_desc * gdp;
|
||||||
|
|
||||||
block_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb);
|
block_group = (ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb);
|
||||||
gdp = ext2_get_group_desc(inode->i_sb, block_group, NULL);
|
gdp = ext2_get_group_desc(inode->i_sb, block_group, NULL);
|
||||||
if (gdp == NULL)
|
if (gdp == NULL)
|
||||||
return;
|
return;
|
||||||
@@ -179,7 +180,7 @@ static void ext2_preread_inode(struct inode *inode)
|
|||||||
/*
|
/*
|
||||||
* Figure out the offset within the block group inode table
|
* Figure out the offset within the block group inode table
|
||||||
*/
|
*/
|
||||||
offset = ((inode->i_ino - 1) % EXT2_INODES_PER_GROUP(inode->i_sb)) *
|
offset = ((ino - 1) % EXT2_INODES_PER_GROUP(inode->i_sb)) *
|
||||||
EXT2_INODE_SIZE(inode->i_sb);
|
EXT2_INODE_SIZE(inode->i_sb);
|
||||||
block = le32_to_cpu(gdp->bg_inode_table) +
|
block = le32_to_cpu(gdp->bg_inode_table) +
|
||||||
(offset >> EXT2_BLOCK_SIZE_BITS(inode->i_sb));
|
(offset >> EXT2_BLOCK_SIZE_BITS(inode->i_sb));
|
||||||
@@ -381,7 +382,7 @@ static int find_group_other(struct super_block *sb, struct inode *parent)
|
|||||||
*
|
*
|
||||||
* So add our directory's i_ino into the starting point for the hash.
|
* So add our directory's i_ino into the starting point for the hash.
|
||||||
*/
|
*/
|
||||||
group = (group + parent->i_ino) % ngroups;
|
group = (group + (unsigned int)parent->i_ino) % ngroups;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use a quadratic hash to find a group with a free inode and some
|
* Use a quadratic hash to find a group with a free inode and some
|
||||||
@@ -589,7 +590,7 @@ got:
|
|||||||
goto fail_free_drop;
|
goto fail_free_drop;
|
||||||
|
|
||||||
mark_inode_dirty(inode);
|
mark_inode_dirty(inode);
|
||||||
ext2_debug("allocating inode %lu\n", inode->i_ino);
|
ext2_debug("allocating inode %llu\n", inode->i_ino);
|
||||||
ext2_preread_inode(inode);
|
ext2_preread_inode(inode);
|
||||||
return inode;
|
return inode;
|
||||||
|
|
||||||
|
|||||||
@@ -1152,7 +1152,7 @@ static void ext2_free_branches(struct inode *inode, __le32 *p, __le32 *q, int de
|
|||||||
*/
|
*/
|
||||||
if (!bh) {
|
if (!bh) {
|
||||||
ext2_error(inode->i_sb, "ext2_free_branches",
|
ext2_error(inode->i_sb, "ext2_free_branches",
|
||||||
"Read failure, inode=%ld, block=%ld",
|
"Read failure, inode=%llu, block=%ld",
|
||||||
inode->i_ino, nr);
|
inode->i_ino, nr);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ DECLARE_EVENT_CLASS(ext2_dio_class,
|
|||||||
TP_ARGS(iocb, iter, ret),
|
TP_ARGS(iocb, iter, ret),
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(dev_t, dev)
|
__field(dev_t, dev)
|
||||||
__field(ino_t, ino)
|
__field(u64, ino)
|
||||||
__field(loff_t, isize)
|
__field(loff_t, isize)
|
||||||
__field(loff_t, pos)
|
__field(loff_t, pos)
|
||||||
__field(size_t, count)
|
__field(size_t, count)
|
||||||
@@ -31,7 +31,7 @@ DECLARE_EVENT_CLASS(ext2_dio_class,
|
|||||||
__entry->aio = !is_sync_kiocb(iocb);
|
__entry->aio = !is_sync_kiocb(iocb);
|
||||||
__entry->ret = ret;
|
__entry->ret = ret;
|
||||||
),
|
),
|
||||||
TP_printk("dev %d:%d ino 0x%lx isize 0x%llx pos 0x%llx len %zu flags %s aio %d ret %zd",
|
TP_printk("dev %d:%d ino 0x%llx isize 0x%llx pos 0x%llx len %zu flags %s aio %d ret %zd",
|
||||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||||
__entry->ino,
|
__entry->ino,
|
||||||
__entry->isize,
|
__entry->isize,
|
||||||
@@ -57,7 +57,7 @@ TRACE_EVENT(ext2_dio_write_endio,
|
|||||||
TP_ARGS(iocb, size, ret),
|
TP_ARGS(iocb, size, ret),
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(dev_t, dev)
|
__field(dev_t, dev)
|
||||||
__field(ino_t, ino)
|
__field(u64, ino)
|
||||||
__field(loff_t, isize)
|
__field(loff_t, isize)
|
||||||
__field(loff_t, pos)
|
__field(loff_t, pos)
|
||||||
__field(ssize_t, size)
|
__field(ssize_t, size)
|
||||||
@@ -75,7 +75,7 @@ TRACE_EVENT(ext2_dio_write_endio,
|
|||||||
__entry->aio = !is_sync_kiocb(iocb);
|
__entry->aio = !is_sync_kiocb(iocb);
|
||||||
__entry->ret = ret;
|
__entry->ret = ret;
|
||||||
),
|
),
|
||||||
TP_printk("dev %d:%d ino 0x%lx isize 0x%llx pos 0x%llx len %zd flags %s aio %d ret %d",
|
TP_printk("dev %d:%d ino 0x%llx isize 0x%llx pos 0x%llx len %zd flags %s aio %d ret %d",
|
||||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||||
__entry->ino,
|
__entry->ino,
|
||||||
__entry->isize,
|
__entry->isize,
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
|
|
||||||
#ifdef EXT2_XATTR_DEBUG
|
#ifdef EXT2_XATTR_DEBUG
|
||||||
# define ea_idebug(inode, f...) do { \
|
# define ea_idebug(inode, f...) do { \
|
||||||
printk(KERN_DEBUG "inode %s:%ld: ", \
|
printk(KERN_DEBUG "inode %s:%llu: ", \
|
||||||
inode->i_sb->s_id, inode->i_ino); \
|
inode->i_sb->s_id, inode->i_ino); \
|
||||||
printk(f); \
|
printk(f); \
|
||||||
printk("\n"); \
|
printk("\n"); \
|
||||||
@@ -227,7 +227,7 @@ ext2_xattr_get(struct inode *inode, int name_index, const char *name,
|
|||||||
if (!ext2_xattr_header_valid(HDR(bh))) {
|
if (!ext2_xattr_header_valid(HDR(bh))) {
|
||||||
bad_block:
|
bad_block:
|
||||||
ext2_error(inode->i_sb, "ext2_xattr_get",
|
ext2_error(inode->i_sb, "ext2_xattr_get",
|
||||||
"inode %ld: bad block %d", inode->i_ino,
|
"inode %llu: bad block %d", inode->i_ino,
|
||||||
EXT2_I(inode)->i_file_acl);
|
EXT2_I(inode)->i_file_acl);
|
||||||
error = -EIO;
|
error = -EIO;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@@ -313,7 +313,7 @@ ext2_xattr_list(struct dentry *dentry, char *buffer, size_t buffer_size)
|
|||||||
if (!ext2_xattr_header_valid(HDR(bh))) {
|
if (!ext2_xattr_header_valid(HDR(bh))) {
|
||||||
bad_block:
|
bad_block:
|
||||||
ext2_error(inode->i_sb, "ext2_xattr_list",
|
ext2_error(inode->i_sb, "ext2_xattr_list",
|
||||||
"inode %ld: bad block %d", inode->i_ino,
|
"inode %llu: bad block %d", inode->i_ino,
|
||||||
EXT2_I(inode)->i_file_acl);
|
EXT2_I(inode)->i_file_acl);
|
||||||
error = -EIO;
|
error = -EIO;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@@ -454,7 +454,7 @@ ext2_xattr_set(struct inode *inode, int name_index, const char *name,
|
|||||||
if (!ext2_xattr_header_valid(header)) {
|
if (!ext2_xattr_header_valid(header)) {
|
||||||
bad_block:
|
bad_block:
|
||||||
ext2_error(sb, "ext2_xattr_set",
|
ext2_error(sb, "ext2_xattr_set",
|
||||||
"inode %ld: bad block %d", inode->i_ino,
|
"inode %llu: bad block %d", inode->i_ino,
|
||||||
EXT2_I(inode)->i_file_acl);
|
EXT2_I(inode)->i_file_acl);
|
||||||
error = -EIO;
|
error = -EIO;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@@ -833,7 +833,7 @@ ext2_xattr_delete_inode(struct inode *inode)
|
|||||||
|
|
||||||
if (!ext2_data_block_valid(sbi, EXT2_I(inode)->i_file_acl, 1)) {
|
if (!ext2_data_block_valid(sbi, EXT2_I(inode)->i_file_acl, 1)) {
|
||||||
ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
|
ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
|
||||||
"inode %ld: xattr block %d is out of data blocks range",
|
"inode %llu: xattr block %d is out of data blocks range",
|
||||||
inode->i_ino, EXT2_I(inode)->i_file_acl);
|
inode->i_ino, EXT2_I(inode)->i_file_acl);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@@ -841,14 +841,14 @@ ext2_xattr_delete_inode(struct inode *inode)
|
|||||||
bh = sb_bread(inode->i_sb, EXT2_I(inode)->i_file_acl);
|
bh = sb_bread(inode->i_sb, EXT2_I(inode)->i_file_acl);
|
||||||
if (!bh) {
|
if (!bh) {
|
||||||
ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
|
ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
|
||||||
"inode %ld: block %d read error", inode->i_ino,
|
"inode %llu: block %d read error", inode->i_ino,
|
||||||
EXT2_I(inode)->i_file_acl);
|
EXT2_I(inode)->i_file_acl);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
ea_bdebug(bh, "b_count=%d", atomic_read(&(bh->b_count)));
|
ea_bdebug(bh, "b_count=%d", atomic_read(&(bh->b_count)));
|
||||||
if (!ext2_xattr_header_valid(HDR(bh))) {
|
if (!ext2_xattr_header_valid(HDR(bh))) {
|
||||||
ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
|
ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
|
||||||
"inode %ld: bad block %d", inode->i_ino,
|
"inode %llu: bad block %d", inode->i_ino,
|
||||||
EXT2_I(inode)->i_file_acl);
|
EXT2_I(inode)->i_file_acl);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@@ -952,7 +952,7 @@ ext2_xattr_cache_find(struct inode *inode, struct ext2_xattr_header *header)
|
|||||||
bh = sb_bread(inode->i_sb, ce->e_value);
|
bh = sb_bread(inode->i_sb, ce->e_value);
|
||||||
if (!bh) {
|
if (!bh) {
|
||||||
ext2_error(inode->i_sb, "ext2_xattr_cache_find",
|
ext2_error(inode->i_sb, "ext2_xattr_cache_find",
|
||||||
"inode %ld: block %ld read error",
|
"inode %llu: block %ld read error",
|
||||||
inode->i_ino, (unsigned long) ce->e_value);
|
inode->i_ino, (unsigned long) ce->e_value);
|
||||||
} else {
|
} else {
|
||||||
lock_buffer(bh);
|
lock_buffer(bh);
|
||||||
|
|||||||
@@ -535,7 +535,7 @@ static int call_filldir(struct file *file, struct dir_context *ctx,
|
|||||||
struct super_block *sb = inode->i_sb;
|
struct super_block *sb = inode->i_sb;
|
||||||
|
|
||||||
if (!fname) {
|
if (!fname) {
|
||||||
ext4_msg(sb, KERN_ERR, "%s:%d: inode #%lu: comm %s: "
|
ext4_msg(sb, KERN_ERR, "%s:%d: inode #%llu: comm %s: "
|
||||||
"called with null fname?!?", __func__, __LINE__,
|
"called with null fname?!?", __func__, __LINE__,
|
||||||
inode->i_ino, current->comm);
|
inode->i_ino, current->comm);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -92,7 +92,7 @@
|
|||||||
*/
|
*/
|
||||||
#ifdef CONFIG_EXT4_DEBUG
|
#ifdef CONFIG_EXT4_DEBUG
|
||||||
#define ext_debug(ino, fmt, ...) \
|
#define ext_debug(ino, fmt, ...) \
|
||||||
pr_debug("[%s/%d] EXT4-fs (%s): ino %lu: (%s, %d): %s:" fmt, \
|
pr_debug("[%s/%d] EXT4-fs (%s): ino %llu: (%s, %d): %s:" fmt, \
|
||||||
current->comm, task_pid_nr(current), \
|
current->comm, task_pid_nr(current), \
|
||||||
ino->i_sb->s_id, ino->i_ino, __FILE__, __LINE__, \
|
ino->i_sb->s_id, ino->i_ino, __FILE__, __LINE__, \
|
||||||
__func__, ##__VA_ARGS__)
|
__func__, ##__VA_ARGS__)
|
||||||
@@ -3230,7 +3230,7 @@ extern void __dump_mmp_msg(struct super_block *, struct mmp_struct *mmp,
|
|||||||
extern __printf(7, 8)
|
extern __printf(7, 8)
|
||||||
void __ext4_grp_locked_error(const char *, unsigned int,
|
void __ext4_grp_locked_error(const char *, unsigned int,
|
||||||
struct super_block *, ext4_group_t,
|
struct super_block *, ext4_group_t,
|
||||||
unsigned long, ext4_fsblk_t,
|
u64, ext4_fsblk_t,
|
||||||
const char *, ...);
|
const char *, ...);
|
||||||
|
|
||||||
#define EXT4_ERROR_INODE(inode, fmt, a...) \
|
#define EXT4_ERROR_INODE(inode, fmt, a...) \
|
||||||
|
|||||||
@@ -4632,7 +4632,7 @@ retry:
|
|||||||
}
|
}
|
||||||
ret = ext4_map_blocks(handle, inode, &map, flags);
|
ret = ext4_map_blocks(handle, inode, &map, flags);
|
||||||
if (ret <= 0) {
|
if (ret <= 0) {
|
||||||
ext4_debug("inode #%lu: block %u: len %u: "
|
ext4_debug("inode #%llu: block %u: len %u: "
|
||||||
"ext4_ext_map_blocks returned %d",
|
"ext4_ext_map_blocks returned %d",
|
||||||
inode->i_ino, map.m_lblk,
|
inode->i_ino, map.m_lblk,
|
||||||
map.m_len, ret);
|
map.m_len, ret);
|
||||||
@@ -4984,7 +4984,7 @@ int ext4_convert_unwritten_extents_atomic(handle_t *handle, struct inode *inode,
|
|||||||
ret = ext4_map_blocks(handle, inode, &map, flags);
|
ret = ext4_map_blocks(handle, inode, &map, flags);
|
||||||
if (ret != max_blocks)
|
if (ret != max_blocks)
|
||||||
ext4_msg(inode->i_sb, KERN_INFO,
|
ext4_msg(inode->i_sb, KERN_INFO,
|
||||||
"inode #%lu: block %u: len %u: "
|
"inode #%llu: block %u: len %u: "
|
||||||
"split block mapping found for atomic write, "
|
"split block mapping found for atomic write, "
|
||||||
"ret = %d",
|
"ret = %d",
|
||||||
inode->i_ino, map.m_lblk,
|
inode->i_ino, map.m_lblk,
|
||||||
@@ -5003,7 +5003,7 @@ int ext4_convert_unwritten_extents_atomic(handle_t *handle, struct inode *inode,
|
|||||||
|
|
||||||
if (ret <= 0 || ret2)
|
if (ret <= 0 || ret2)
|
||||||
ext4_warning(inode->i_sb,
|
ext4_warning(inode->i_sb,
|
||||||
"inode #%lu: block %u: len %u: "
|
"inode #%llu: block %u: len %u: "
|
||||||
"returned %d or %d",
|
"returned %d or %d",
|
||||||
inode->i_ino, map.m_lblk,
|
inode->i_ino, map.m_lblk,
|
||||||
map.m_len, ret, ret2);
|
map.m_len, ret, ret2);
|
||||||
@@ -5060,7 +5060,7 @@ int ext4_convert_unwritten_extents(handle_t *handle, struct inode *inode,
|
|||||||
EXT4_EX_NOCACHE);
|
EXT4_EX_NOCACHE);
|
||||||
if (ret <= 0)
|
if (ret <= 0)
|
||||||
ext4_warning(inode->i_sb,
|
ext4_warning(inode->i_sb,
|
||||||
"inode #%lu: block %u: len %u: "
|
"inode #%llu: block %u: len %u: "
|
||||||
"ext4_ext_map_blocks returned %d",
|
"ext4_ext_map_blocks returned %d",
|
||||||
inode->i_ino, map.m_lblk,
|
inode->i_ino, map.m_lblk,
|
||||||
map.m_len, ret);
|
map.m_len, ret);
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ static void ext4_es_print_tree(struct inode *inode)
|
|||||||
struct ext4_es_tree *tree;
|
struct ext4_es_tree *tree;
|
||||||
struct rb_node *node;
|
struct rb_node *node;
|
||||||
|
|
||||||
printk(KERN_DEBUG "status extents for inode %lu:", inode->i_ino);
|
printk(KERN_DEBUG "status extents for inode %llu:", inode->i_ino);
|
||||||
tree = &EXT4_I(inode)->i_es_tree;
|
tree = &EXT4_I(inode)->i_es_tree;
|
||||||
node = rb_first(&tree->root);
|
node = rb_first(&tree->root);
|
||||||
while (node) {
|
while (node) {
|
||||||
@@ -703,7 +703,7 @@ static void ext4_es_insert_extent_ext_check(struct inode *inode,
|
|||||||
if (!ext4_es_is_written(es) && !ext4_es_is_unwritten(es)) {
|
if (!ext4_es_is_written(es) && !ext4_es_is_unwritten(es)) {
|
||||||
if (in_range(es->es_lblk, ee_block, ee_len)) {
|
if (in_range(es->es_lblk, ee_block, ee_len)) {
|
||||||
pr_warn("ES insert assertion failed for "
|
pr_warn("ES insert assertion failed for "
|
||||||
"inode: %lu we can find an extent "
|
"inode: %llu we can find an extent "
|
||||||
"at block [%d/%d/%llu/%c], but we "
|
"at block [%d/%d/%llu/%c], but we "
|
||||||
"want to add a delayed/hole extent "
|
"want to add a delayed/hole extent "
|
||||||
"[%d/%d/%llu/%x]\n",
|
"[%d/%d/%llu/%x]\n",
|
||||||
@@ -721,7 +721,7 @@ static void ext4_es_insert_extent_ext_check(struct inode *inode,
|
|||||||
*/
|
*/
|
||||||
if (es->es_lblk < ee_block ||
|
if (es->es_lblk < ee_block ||
|
||||||
ext4_es_pblock(es) != ee_start + es->es_lblk - ee_block) {
|
ext4_es_pblock(es) != ee_start + es->es_lblk - ee_block) {
|
||||||
pr_warn("ES insert assertion failed for inode: %lu "
|
pr_warn("ES insert assertion failed for inode: %llu "
|
||||||
"ex_status [%d/%d/%llu/%c] != "
|
"ex_status [%d/%d/%llu/%c] != "
|
||||||
"es_status [%d/%d/%llu/%c]\n", inode->i_ino,
|
"es_status [%d/%d/%llu/%c]\n", inode->i_ino,
|
||||||
ee_block, ee_len, ee_start,
|
ee_block, ee_len, ee_start,
|
||||||
@@ -731,7 +731,7 @@ static void ext4_es_insert_extent_ext_check(struct inode *inode,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ee_status ^ es_status) {
|
if (ee_status ^ es_status) {
|
||||||
pr_warn("ES insert assertion failed for inode: %lu "
|
pr_warn("ES insert assertion failed for inode: %llu "
|
||||||
"ex_status [%d/%d/%llu/%c] != "
|
"ex_status [%d/%d/%llu/%c] != "
|
||||||
"es_status [%d/%d/%llu/%c]\n", inode->i_ino,
|
"es_status [%d/%d/%llu/%c]\n", inode->i_ino,
|
||||||
ee_block, ee_len, ee_start,
|
ee_block, ee_len, ee_start,
|
||||||
@@ -744,7 +744,7 @@ static void ext4_es_insert_extent_ext_check(struct inode *inode,
|
|||||||
* that we don't want to add an written/unwritten extent.
|
* that we don't want to add an written/unwritten extent.
|
||||||
*/
|
*/
|
||||||
if (!ext4_es_is_delayed(es) && !ext4_es_is_hole(es)) {
|
if (!ext4_es_is_delayed(es) && !ext4_es_is_hole(es)) {
|
||||||
pr_warn("ES insert assertion failed for inode: %lu "
|
pr_warn("ES insert assertion failed for inode: %llu "
|
||||||
"can't find an extent at block %d but we want "
|
"can't find an extent at block %d but we want "
|
||||||
"to add a written/unwritten extent "
|
"to add a written/unwritten extent "
|
||||||
"[%d/%d/%llu/%x]\n", inode->i_ino,
|
"[%d/%d/%llu/%x]\n", inode->i_ino,
|
||||||
@@ -779,7 +779,7 @@ static void ext4_es_insert_extent_ind_check(struct inode *inode,
|
|||||||
* We want to add a delayed/hole extent but this
|
* We want to add a delayed/hole extent but this
|
||||||
* block has been allocated.
|
* block has been allocated.
|
||||||
*/
|
*/
|
||||||
pr_warn("ES insert assertion failed for inode: %lu "
|
pr_warn("ES insert assertion failed for inode: %llu "
|
||||||
"We can find blocks but we want to add a "
|
"We can find blocks but we want to add a "
|
||||||
"delayed/hole extent [%d/%d/%llu/%x]\n",
|
"delayed/hole extent [%d/%d/%llu/%x]\n",
|
||||||
inode->i_ino, es->es_lblk, es->es_len,
|
inode->i_ino, es->es_lblk, es->es_len,
|
||||||
@@ -788,13 +788,13 @@ static void ext4_es_insert_extent_ind_check(struct inode *inode,
|
|||||||
} else if (ext4_es_is_written(es)) {
|
} else if (ext4_es_is_written(es)) {
|
||||||
if (retval != es->es_len) {
|
if (retval != es->es_len) {
|
||||||
pr_warn("ES insert assertion failed for "
|
pr_warn("ES insert assertion failed for "
|
||||||
"inode: %lu retval %d != es_len %d\n",
|
"inode: %llu retval %d != es_len %d\n",
|
||||||
inode->i_ino, retval, es->es_len);
|
inode->i_ino, retval, es->es_len);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (map.m_pblk != ext4_es_pblock(es)) {
|
if (map.m_pblk != ext4_es_pblock(es)) {
|
||||||
pr_warn("ES insert assertion failed for "
|
pr_warn("ES insert assertion failed for "
|
||||||
"inode: %lu m_pblk %llu != "
|
"inode: %llu m_pblk %llu != "
|
||||||
"es_pblk %llu\n",
|
"es_pblk %llu\n",
|
||||||
inode->i_ino, map.m_pblk,
|
inode->i_ino, map.m_pblk,
|
||||||
ext4_es_pblock(es));
|
ext4_es_pblock(es));
|
||||||
@@ -809,7 +809,7 @@ static void ext4_es_insert_extent_ind_check(struct inode *inode,
|
|||||||
}
|
}
|
||||||
} else if (retval == 0) {
|
} else if (retval == 0) {
|
||||||
if (ext4_es_is_written(es)) {
|
if (ext4_es_is_written(es)) {
|
||||||
pr_warn("ES insert assertion failed for inode: %lu "
|
pr_warn("ES insert assertion failed for inode: %llu "
|
||||||
"We can't find the block but we want to add "
|
"We can't find the block but we want to add "
|
||||||
"a written extent [%d/%d/%llu/%x]\n",
|
"a written extent [%d/%d/%llu/%x]\n",
|
||||||
inode->i_ino, es->es_lblk, es->es_len,
|
inode->i_ino, es->es_lblk, es->es_len,
|
||||||
@@ -919,7 +919,7 @@ void ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
|
|||||||
if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
|
if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
es_debug("add [%u/%u) %llu %x %d to extent status tree of inode %lu\n",
|
es_debug("add [%u/%u) %llu %x %d to extent status tree of inode %llu\n",
|
||||||
lblk, len, pblk, status, delalloc_reserve_used, inode->i_ino);
|
lblk, len, pblk, status, delalloc_reserve_used, inode->i_ino);
|
||||||
|
|
||||||
if (!len)
|
if (!len)
|
||||||
@@ -1631,7 +1631,7 @@ void ext4_es_remove_extent(struct inode *inode, ext4_lblk_t lblk,
|
|||||||
if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
|
if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
es_debug("remove [%u/%u) from extent status tree of inode %lu\n",
|
es_debug("remove [%u/%u) from extent status tree of inode %llu\n",
|
||||||
lblk, len, inode->i_ino);
|
lblk, len, inode->i_ino);
|
||||||
|
|
||||||
if (!len)
|
if (!len)
|
||||||
@@ -1821,7 +1821,7 @@ int ext4_seq_es_shrinker_info_show(struct seq_file *seq, void *v)
|
|||||||
seq_printf(seq, " %lu shrunk objects\n", es_stats->es_stats_shrunk);
|
seq_printf(seq, " %lu shrunk objects\n", es_stats->es_stats_shrunk);
|
||||||
if (inode_cnt)
|
if (inode_cnt)
|
||||||
seq_printf(seq,
|
seq_printf(seq,
|
||||||
"maximum:\n %lu inode (%u objects, %u reclaimable)\n"
|
"maximum:\n %llu inode (%u objects, %u reclaimable)\n"
|
||||||
" %llu us max scan time\n",
|
" %llu us max scan time\n",
|
||||||
max->vfs_inode.i_ino, max->i_es_all_nr, max->i_es_shk_nr,
|
max->vfs_inode.i_ino, max->i_es_all_nr, max->i_es_shk_nr,
|
||||||
div_u64(es_stats->es_stats_max_scan_time, 1000));
|
div_u64(es_stats->es_stats_max_scan_time, 1000));
|
||||||
@@ -1998,7 +1998,7 @@ static void ext4_print_pending_tree(struct inode *inode)
|
|||||||
struct rb_node *node;
|
struct rb_node *node;
|
||||||
struct pending_reservation *pr;
|
struct pending_reservation *pr;
|
||||||
|
|
||||||
printk(KERN_DEBUG "pending reservations for inode %lu:", inode->i_ino);
|
printk(KERN_DEBUG "pending reservations for inode %llu:", inode->i_ino);
|
||||||
tree = &EXT4_I(inode)->i_pending_tree;
|
tree = &EXT4_I(inode)->i_pending_tree;
|
||||||
node = rb_first(&tree->root);
|
node = rb_first(&tree->root);
|
||||||
while (node) {
|
while (node) {
|
||||||
@@ -2214,7 +2214,7 @@ void ext4_es_insert_delayed_extent(struct inode *inode, ext4_lblk_t lblk,
|
|||||||
if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
|
if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
es_debug("add [%u/%u) delayed to extent status tree of inode %lu\n",
|
es_debug("add [%u/%u) delayed to extent status tree of inode %llu\n",
|
||||||
lblk, len, inode->i_ino);
|
lblk, len, inode->i_ino);
|
||||||
if (!len)
|
if (!len)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -616,7 +616,7 @@ static int __track_range(handle_t *handle, struct inode *inode, void *arg,
|
|||||||
(struct __track_range_args *)arg;
|
(struct __track_range_args *)arg;
|
||||||
|
|
||||||
if (inode->i_ino < EXT4_FIRST_INO(inode->i_sb)) {
|
if (inode->i_ino < EXT4_FIRST_INO(inode->i_sb)) {
|
||||||
ext4_debug("Special inode %ld being modified\n", inode->i_ino);
|
ext4_debug("Special inode %llu being modified\n", inode->i_ino);
|
||||||
return -ECANCELED;
|
return -ECANCELED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -914,7 +914,7 @@ static int ext4_fc_write_inode_data(struct inode *inode, u32 *crc)
|
|||||||
spin_unlock(&ei->i_fc_lock);
|
spin_unlock(&ei->i_fc_lock);
|
||||||
|
|
||||||
cur_lblk_off = old_blk_size;
|
cur_lblk_off = old_blk_size;
|
||||||
ext4_debug("will try writing %d to %d for inode %ld\n",
|
ext4_debug("will try writing %d to %d for inode %llu\n",
|
||||||
cur_lblk_off, new_blk_size, inode->i_ino);
|
cur_lblk_off, new_blk_size, inode->i_ino);
|
||||||
|
|
||||||
while (cur_lblk_off <= new_blk_size) {
|
while (cur_lblk_off <= new_blk_size) {
|
||||||
@@ -1795,7 +1795,7 @@ static int ext4_fc_replay_add_range(struct super_block *sb,
|
|||||||
|
|
||||||
cur = start;
|
cur = start;
|
||||||
remaining = len;
|
remaining = len;
|
||||||
ext4_debug("ADD_RANGE, lblk %d, pblk %lld, len %d, unwritten %d, inode %ld\n",
|
ext4_debug("ADD_RANGE, lblk %d, pblk %lld, len %d, unwritten %d, inode %llu\n",
|
||||||
start, start_pblk, len, ext4_ext_is_unwritten(ex),
|
start, start_pblk, len, ext4_ext_is_unwritten(ex),
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
|
|
||||||
@@ -1906,7 +1906,7 @@ ext4_fc_replay_del_range(struct super_block *sb,
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ext4_debug("DEL_RANGE, inode %ld, lblk %d, len %d\n",
|
ext4_debug("DEL_RANGE, inode %llu, lblk %d, len %d\n",
|
||||||
inode->i_ino, le32_to_cpu(lrange.fc_lblk),
|
inode->i_ino, le32_to_cpu(lrange.fc_lblk),
|
||||||
le32_to_cpu(lrange.fc_len));
|
le32_to_cpu(lrange.fc_len));
|
||||||
while (remaining > 0) {
|
while (remaining > 0) {
|
||||||
|
|||||||
@@ -253,13 +253,13 @@ void ext4_free_inode(handle_t *handle, struct inode *inode)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (icount_read(inode) > 1) {
|
if (icount_read(inode) > 1) {
|
||||||
ext4_msg(sb, KERN_ERR, "%s:%d: inode #%lu: count=%d",
|
ext4_msg(sb, KERN_ERR, "%s:%d: inode #%llu: count=%d",
|
||||||
__func__, __LINE__, inode->i_ino,
|
__func__, __LINE__, inode->i_ino,
|
||||||
icount_read(inode));
|
icount_read(inode));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (inode->i_nlink) {
|
if (inode->i_nlink) {
|
||||||
ext4_msg(sb, KERN_ERR, "%s:%d: inode #%lu: nlink=%d\n",
|
ext4_msg(sb, KERN_ERR, "%s:%d: inode #%llu: nlink=%d\n",
|
||||||
__func__, __LINE__, inode->i_ino, inode->i_nlink);
|
__func__, __LINE__, inode->i_ino, inode->i_nlink);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -631,7 +631,7 @@ static int find_group_other(struct super_block *sb, struct inode *parent,
|
|||||||
*
|
*
|
||||||
* So add our directory's i_ino into the starting point for the hash.
|
* So add our directory's i_ino into the starting point for the hash.
|
||||||
*/
|
*/
|
||||||
*group = (*group + parent->i_ino) % ngroups;
|
*group = (*group + (unsigned int)parent->i_ino) % ngroups;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use a quadratic hash to find a group with a free inode and some free
|
* Use a quadratic hash to find a group with a free inode and some free
|
||||||
@@ -1281,7 +1281,7 @@ got:
|
|||||||
* twice.
|
* twice.
|
||||||
*/
|
*/
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
ext4_error(sb, "failed to insert inode %lu: doubly allocated?",
|
ext4_error(sb, "failed to insert inode %llu: doubly allocated?",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
ext4_mark_group_bitmap_corrupted(sb, group,
|
ext4_mark_group_bitmap_corrupted(sb, group,
|
||||||
EXT4_GROUP_INFO_IBITMAP_CORRUPT);
|
EXT4_GROUP_INFO_IBITMAP_CORRUPT);
|
||||||
@@ -1350,7 +1350,7 @@ got:
|
|||||||
goto fail_free_drop;
|
goto fail_free_drop;
|
||||||
}
|
}
|
||||||
|
|
||||||
ext4_debug("allocating inode %lu\n", inode->i_ino);
|
ext4_debug("allocating inode %llu\n", inode->i_ino);
|
||||||
trace_ext4_allocate_inode(inode, dir, mode);
|
trace_ext4_allocate_inode(inode, dir, mode);
|
||||||
brelse(inode_bitmap_bh);
|
brelse(inode_bitmap_bh);
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ static int ext4_block_to_path(struct inode *inode,
|
|||||||
offsets[n++] = i_block & (ptrs - 1);
|
offsets[n++] = i_block & (ptrs - 1);
|
||||||
final = ptrs;
|
final = ptrs;
|
||||||
} else {
|
} else {
|
||||||
ext4_warning(inode->i_sb, "block %lu > max in inode %lu",
|
ext4_warning(inode->i_sb, "block %lu > max in inode %llu",
|
||||||
i_block + direct_blocks +
|
i_block + direct_blocks +
|
||||||
indirect_blocks + double_blocks, inode->i_ino);
|
indirect_blocks + double_blocks, inode->i_ino);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ int ext4_get_max_inline_size(struct inode *inode)
|
|||||||
error = ext4_get_inode_loc(inode, &iloc);
|
error = ext4_get_inode_loc(inode, &iloc);
|
||||||
if (error) {
|
if (error) {
|
||||||
ext4_error_inode_err(inode, __func__, __LINE__, 0, -error,
|
ext4_error_inode_err(inode, __func__, __LINE__, 0, -error,
|
||||||
"can't get inode location %lu",
|
"can't get inode location %llu",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -512,7 +512,7 @@ static int ext4_read_inline_folio(struct inode *inode, struct folio *folio)
|
|||||||
BUG_ON(folio->index);
|
BUG_ON(folio->index);
|
||||||
|
|
||||||
if (!EXT4_I(inode)->i_inline_off) {
|
if (!EXT4_I(inode)->i_inline_off) {
|
||||||
ext4_warning(inode->i_sb, "inode %lu doesn't have inline data.",
|
ext4_warning(inode->i_sb, "inode %llu doesn't have inline data.",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@@ -942,7 +942,7 @@ void ext4_show_inline_dir(struct inode *dir, struct buffer_head *bh,
|
|||||||
struct ext4_dir_entry_2 *de = inline_start;
|
struct ext4_dir_entry_2 *de = inline_start;
|
||||||
void *dlimit = inline_start + inline_size;
|
void *dlimit = inline_start + inline_size;
|
||||||
|
|
||||||
trace_printk("inode %lu\n", dir->i_ino);
|
trace_printk("inode %llu\n", dir->i_ino);
|
||||||
offset = 0;
|
offset = 0;
|
||||||
while ((void *)de < dlimit) {
|
while ((void *)de < dlimit) {
|
||||||
de_len = ext4_rec_len_from_disk(de->rec_len, inline_size);
|
de_len = ext4_rec_len_from_disk(de->rec_len, inline_size);
|
||||||
@@ -1079,7 +1079,7 @@ static void ext4_restore_inline_data(handle_t *handle, struct inode *inode,
|
|||||||
ret = ext4_create_inline_data(handle, inode, inline_size);
|
ret = ext4_create_inline_data(handle, inode, inline_size);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
ext4_msg(inode->i_sb, KERN_EMERG,
|
ext4_msg(inode->i_sb, KERN_EMERG,
|
||||||
"error restoring inline_data for inode -- potential data loss! (inode %lu, error %d)",
|
"error restoring inline_data for inode -- potential data loss! (inode %llu, error %d)",
|
||||||
inode->i_ino, ret);
|
inode->i_ino, ret);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1748,7 +1748,7 @@ bool empty_inline_dir(struct inode *dir, int *has_inline_data)
|
|||||||
err = ext4_get_inode_loc(dir, &iloc);
|
err = ext4_get_inode_loc(dir, &iloc);
|
||||||
if (err) {
|
if (err) {
|
||||||
EXT4_ERROR_INODE_ERR(dir, -err,
|
EXT4_ERROR_INODE_ERR(dir, -err,
|
||||||
"error %d getting inode %lu block",
|
"error %d getting inode %llu block",
|
||||||
err, dir->i_ino);
|
err, dir->i_ino);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -1763,7 +1763,7 @@ bool empty_inline_dir(struct inode *dir, int *has_inline_data)
|
|||||||
de = (struct ext4_dir_entry_2 *)ext4_raw_inode(&iloc)->i_block;
|
de = (struct ext4_dir_entry_2 *)ext4_raw_inode(&iloc)->i_block;
|
||||||
if (!le32_to_cpu(de->inode)) {
|
if (!le32_to_cpu(de->inode)) {
|
||||||
ext4_warning(dir->i_sb,
|
ext4_warning(dir->i_sb,
|
||||||
"bad inline directory (dir #%lu) - no `..'",
|
"bad inline directory (dir #%llu) - no `..'",
|
||||||
dir->i_ino);
|
dir->i_ino);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@@ -1777,7 +1777,7 @@ bool empty_inline_dir(struct inode *dir, int *has_inline_data)
|
|||||||
iloc.bh, inline_pos,
|
iloc.bh, inline_pos,
|
||||||
inline_size, offset)) {
|
inline_size, offset)) {
|
||||||
ext4_warning(dir->i_sb,
|
ext4_warning(dir->i_sb,
|
||||||
"bad inline directory (dir #%lu) - "
|
"bad inline directory (dir #%llu) - "
|
||||||
"inode %u, rec_len %u, name_len %d"
|
"inode %u, rec_len %u, name_len %d"
|
||||||
"inline size %d",
|
"inline size %d",
|
||||||
dir->i_ino, le32_to_cpu(de->inode),
|
dir->i_ino, le32_to_cpu(de->inode),
|
||||||
|
|||||||
@@ -272,7 +272,7 @@ void ext4_evict_inode(struct inode *inode)
|
|||||||
err = ext4_truncate(inode);
|
err = ext4_truncate(inode);
|
||||||
if (err) {
|
if (err) {
|
||||||
ext4_error_err(inode->i_sb, -err,
|
ext4_error_err(inode->i_sb, -err,
|
||||||
"couldn't truncate inode %lu (err %d)",
|
"couldn't truncate inode %llu (err %d)",
|
||||||
inode->i_ino, err);
|
inode->i_ino, err);
|
||||||
goto stop_handle;
|
goto stop_handle;
|
||||||
}
|
}
|
||||||
@@ -352,7 +352,7 @@ void ext4_da_update_reserve_space(struct inode *inode,
|
|||||||
spin_lock(&ei->i_block_reservation_lock);
|
spin_lock(&ei->i_block_reservation_lock);
|
||||||
trace_ext4_da_update_reserve_space(inode, used, quota_claim);
|
trace_ext4_da_update_reserve_space(inode, used, quota_claim);
|
||||||
if (unlikely(used > ei->i_reserved_data_blocks)) {
|
if (unlikely(used > ei->i_reserved_data_blocks)) {
|
||||||
ext4_warning(inode->i_sb, "%s: ino %lu, used %d "
|
ext4_warning(inode->i_sb, "%s: ino %llu, used %d "
|
||||||
"with only %d reserved data blocks",
|
"with only %d reserved data blocks",
|
||||||
__func__, inode->i_ino, used,
|
__func__, inode->i_ino, used,
|
||||||
ei->i_reserved_data_blocks);
|
ei->i_reserved_data_blocks);
|
||||||
@@ -485,7 +485,7 @@ static void ext4_map_blocks_es_recheck(handle_t *handle,
|
|||||||
if (es_map->m_lblk != map->m_lblk ||
|
if (es_map->m_lblk != map->m_lblk ||
|
||||||
es_map->m_flags != map->m_flags ||
|
es_map->m_flags != map->m_flags ||
|
||||||
es_map->m_pblk != map->m_pblk) {
|
es_map->m_pblk != map->m_pblk) {
|
||||||
printk("ES cache assertion failed for inode: %lu "
|
printk("ES cache assertion failed for inode: %llu "
|
||||||
"es_cached ex [%d/%d/%llu/%x] != "
|
"es_cached ex [%d/%d/%llu/%x] != "
|
||||||
"found ex [%d/%d/%llu/%x] retval %d flags %x\n",
|
"found ex [%d/%d/%llu/%x] retval %d flags %x\n",
|
||||||
inode->i_ino, es_map->m_lblk, es_map->m_len,
|
inode->i_ino, es_map->m_lblk, es_map->m_len,
|
||||||
@@ -525,7 +525,7 @@ static int ext4_map_query_blocks_next_in_leaf(handle_t *handle,
|
|||||||
if (unlikely(retval != map2.m_len)) {
|
if (unlikely(retval != map2.m_len)) {
|
||||||
ext4_warning(inode->i_sb,
|
ext4_warning(inode->i_sb,
|
||||||
"ES len assertion failed for inode "
|
"ES len assertion failed for inode "
|
||||||
"%lu: retval %d != map->m_len %d",
|
"%llu: retval %d != map->m_len %d",
|
||||||
inode->i_ino, retval, map2.m_len);
|
inode->i_ino, retval, map2.m_len);
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
}
|
}
|
||||||
@@ -573,7 +573,7 @@ int ext4_map_query_blocks(handle_t *handle, struct inode *inode,
|
|||||||
if (unlikely(retval != map->m_len)) {
|
if (unlikely(retval != map->m_len)) {
|
||||||
ext4_warning(inode->i_sb,
|
ext4_warning(inode->i_sb,
|
||||||
"ES len assertion failed for inode "
|
"ES len assertion failed for inode "
|
||||||
"%lu: retval %d != map->m_len %d",
|
"%llu: retval %d != map->m_len %d",
|
||||||
inode->i_ino, retval, map->m_len);
|
inode->i_ino, retval, map->m_len);
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
}
|
}
|
||||||
@@ -640,7 +640,7 @@ int ext4_map_create_blocks(handle_t *handle, struct inode *inode,
|
|||||||
|
|
||||||
if (unlikely(retval != map->m_len)) {
|
if (unlikely(retval != map->m_len)) {
|
||||||
ext4_warning(inode->i_sb,
|
ext4_warning(inode->i_sb,
|
||||||
"ES len assertion failed for inode %lu: "
|
"ES len assertion failed for inode %llu: "
|
||||||
"retval %d != map->m_len %d",
|
"retval %d != map->m_len %d",
|
||||||
inode->i_ino, retval, map->m_len);
|
inode->i_ino, retval, map->m_len);
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
@@ -947,7 +947,7 @@ int ext4_get_block_unwritten(struct inode *inode, sector_t iblock,
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
ext4_debug("ext4_get_block_unwritten: inode %lu, create flag %d\n",
|
ext4_debug("ext4_get_block_unwritten: inode %llu, create flag %d\n",
|
||||||
inode->i_ino, create);
|
inode->i_ino, create);
|
||||||
ret = _ext4_get_block(inode, iblock, bh_result,
|
ret = _ext4_get_block(inode, iblock, bh_result,
|
||||||
EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT);
|
EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT);
|
||||||
@@ -1669,7 +1669,7 @@ void ext4_da_release_space(struct inode *inode, int to_free)
|
|||||||
* harmless to return without any action.
|
* harmless to return without any action.
|
||||||
*/
|
*/
|
||||||
ext4_warning(inode->i_sb, "ext4_da_release_space: "
|
ext4_warning(inode->i_sb, "ext4_da_release_space: "
|
||||||
"ino %lu, to_free %d with only %d reserved "
|
"ino %llu, to_free %d with only %d reserved "
|
||||||
"data blocks", inode->i_ino, to_free,
|
"data blocks", inode->i_ino, to_free,
|
||||||
ei->i_reserved_data_blocks);
|
ei->i_reserved_data_blocks);
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
@@ -2501,7 +2501,7 @@ static int mpage_map_and_submit_extent(handle_t *handle,
|
|||||||
}
|
}
|
||||||
ext4_msg(sb, KERN_CRIT,
|
ext4_msg(sb, KERN_CRIT,
|
||||||
"Delayed block allocation failed for "
|
"Delayed block allocation failed for "
|
||||||
"inode %lu at logical offset %llu with"
|
"inode %llu at logical offset %llu with"
|
||||||
" max blocks %u with error %d",
|
" max blocks %u with error %d",
|
||||||
inode->i_ino,
|
inode->i_ino,
|
||||||
(unsigned long long)map->m_lblk,
|
(unsigned long long)map->m_lblk,
|
||||||
@@ -2545,7 +2545,7 @@ update_disksize:
|
|||||||
err2 = ext4_mark_inode_dirty(handle, inode);
|
err2 = ext4_mark_inode_dirty(handle, inode);
|
||||||
if (err2) {
|
if (err2) {
|
||||||
ext4_error_err(inode->i_sb, -err2,
|
ext4_error_err(inode->i_sb, -err2,
|
||||||
"Failed to mark inode %lu dirty",
|
"Failed to mark inode %llu dirty",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
}
|
}
|
||||||
if (!err)
|
if (!err)
|
||||||
@@ -2919,7 +2919,7 @@ retry:
|
|||||||
if (IS_ERR(handle)) {
|
if (IS_ERR(handle)) {
|
||||||
ret = PTR_ERR(handle);
|
ret = PTR_ERR(handle);
|
||||||
ext4_msg(inode->i_sb, KERN_CRIT, "%s: jbd2_start: "
|
ext4_msg(inode->i_sb, KERN_CRIT, "%s: jbd2_start: "
|
||||||
"%ld pages, ino %lu; err %d", __func__,
|
"%ld pages, ino %llu; err %d", __func__,
|
||||||
wbc->nr_to_write, inode->i_ino, ret);
|
wbc->nr_to_write, inode->i_ino, ret);
|
||||||
/* Release allocated io_end */
|
/* Release allocated io_end */
|
||||||
ext4_put_io_end(mpd->io_submit.io_end);
|
ext4_put_io_end(mpd->io_submit.io_end);
|
||||||
|
|||||||
@@ -477,7 +477,7 @@ static long swap_inode_boot_loader(struct super_block *sb,
|
|||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
/* No need to update quota information. */
|
/* No need to update quota information. */
|
||||||
ext4_warning(inode->i_sb,
|
ext4_warning(inode->i_sb,
|
||||||
"couldn't mark inode #%lu dirty (err %d)",
|
"couldn't mark inode #%llu dirty (err %d)",
|
||||||
inode->i_ino, err);
|
inode->i_ino, err);
|
||||||
/* Revert all changes: */
|
/* Revert all changes: */
|
||||||
swap_inode_data(inode, inode_bl);
|
swap_inode_data(inode, inode_bl);
|
||||||
@@ -493,7 +493,7 @@ static long swap_inode_boot_loader(struct super_block *sb,
|
|||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
/* No need to update quota information. */
|
/* No need to update quota information. */
|
||||||
ext4_warning(inode_bl->i_sb,
|
ext4_warning(inode_bl->i_sb,
|
||||||
"couldn't mark inode #%lu dirty (err %d)",
|
"couldn't mark inode #%llu dirty (err %d)",
|
||||||
inode_bl->i_ino, err);
|
inode_bl->i_ino, err);
|
||||||
goto revert;
|
goto revert;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2268,7 +2268,7 @@ static void ext4_mb_use_best_found(struct ext4_allocation_context *ac,
|
|||||||
folio_get(ac->ac_buddy_folio);
|
folio_get(ac->ac_buddy_folio);
|
||||||
/* store last allocated for subsequent stream allocation */
|
/* store last allocated for subsequent stream allocation */
|
||||||
if (ac->ac_flags & EXT4_MB_STREAM_ALLOC) {
|
if (ac->ac_flags & EXT4_MB_STREAM_ALLOC) {
|
||||||
int hash = ac->ac_inode->i_ino % sbi->s_mb_nr_global_goals;
|
int hash = (unsigned int)ac->ac_inode->i_ino % sbi->s_mb_nr_global_goals;
|
||||||
|
|
||||||
WRITE_ONCE(sbi->s_mb_last_groups[hash], ac->ac_f_ex.fe_group);
|
WRITE_ONCE(sbi->s_mb_last_groups[hash], ac->ac_f_ex.fe_group);
|
||||||
}
|
}
|
||||||
@@ -3038,7 +3038,7 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac)
|
|||||||
|
|
||||||
/* if stream allocation is enabled, use global goal */
|
/* if stream allocation is enabled, use global goal */
|
||||||
if (ac->ac_flags & EXT4_MB_STREAM_ALLOC) {
|
if (ac->ac_flags & EXT4_MB_STREAM_ALLOC) {
|
||||||
int hash = ac->ac_inode->i_ino % sbi->s_mb_nr_global_goals;
|
int hash = (unsigned int)ac->ac_inode->i_ino % sbi->s_mb_nr_global_goals;
|
||||||
|
|
||||||
ac->ac_g_ex.fe_group = READ_ONCE(sbi->s_mb_last_groups[hash]);
|
ac->ac_g_ex.fe_group = READ_ONCE(sbi->s_mb_last_groups[hash]);
|
||||||
ac->ac_g_ex.fe_start = -1;
|
ac->ac_g_ex.fe_start = -1;
|
||||||
@@ -5628,7 +5628,7 @@ void ext4_discard_preallocations(struct inode *inode)
|
|||||||
if (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)
|
if (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
mb_debug(sb, "discard preallocation for inode %lu\n",
|
mb_debug(sb, "discard preallocation for inode %llu\n",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
trace_ext4_discard_preallocations(inode,
|
trace_ext4_discard_preallocations(inode,
|
||||||
atomic_read(&ei->i_prealloc_active));
|
atomic_read(&ei->i_prealloc_active));
|
||||||
|
|||||||
@@ -455,7 +455,7 @@ int ext4_ext_migrate(struct inode *inode)
|
|||||||
* log, so disable fast commits for this transaction.
|
* log, so disable fast commits for this transaction.
|
||||||
*/
|
*/
|
||||||
ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_MIGRATE, handle);
|
ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_MIGRATE, handle);
|
||||||
goal = (((inode->i_ino - 1) / EXT4_INODES_PER_GROUP(inode->i_sb)) *
|
goal = ((((u32)inode->i_ino - 1) / EXT4_INODES_PER_GROUP(inode->i_sb)) *
|
||||||
EXT4_INODES_PER_GROUP(inode->i_sb)) + 1;
|
EXT4_INODES_PER_GROUP(inode->i_sb)) + 1;
|
||||||
owner[0] = i_uid_read(inode);
|
owner[0] = i_uid_read(inode);
|
||||||
owner[1] = i_gid_read(inode);
|
owner[1] = i_gid_read(inode);
|
||||||
|
|||||||
@@ -420,21 +420,21 @@ static int mext_check_validity(struct inode *orig_inode,
|
|||||||
|
|
||||||
/* origin and donor should be different inodes */
|
/* origin and donor should be different inodes */
|
||||||
if (orig_inode == donor_inode) {
|
if (orig_inode == donor_inode) {
|
||||||
ext4_debug("ext4 move extent: The argument files should not be same inode [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: The argument files should not be same inode [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* origin and donor should belone to the same filesystem */
|
/* origin and donor should belone to the same filesystem */
|
||||||
if (orig_inode->i_sb != donor_inode->i_sb) {
|
if (orig_inode->i_sb != donor_inode->i_sb) {
|
||||||
ext4_debug("ext4 move extent: The argument files should be in same FS [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: The argument files should be in same FS [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Regular file check */
|
/* Regular file check */
|
||||||
if (!S_ISREG(orig_inode->i_mode) || !S_ISREG(donor_inode->i_mode)) {
|
if (!S_ISREG(orig_inode->i_mode) || !S_ISREG(donor_inode->i_mode)) {
|
||||||
ext4_debug("ext4 move extent: The argument files should be regular file [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: The argument files should be regular file [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
@@ -477,26 +477,26 @@ static int mext_check_validity(struct inode *orig_inode,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (donor_inode->i_mode & (S_ISUID|S_ISGID)) {
|
if (donor_inode->i_mode & (S_ISUID|S_ISGID)) {
|
||||||
ext4_debug("ext4 move extent: suid or sgid is set to donor file [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: suid or sgid is set to donor file [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_IMMUTABLE(donor_inode) || IS_APPEND(donor_inode)) {
|
if (IS_IMMUTABLE(donor_inode) || IS_APPEND(donor_inode)) {
|
||||||
ext4_debug("ext4 move extent: donor should not be immutable or append file [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: donor should not be immutable or append file [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ext4 move extent does not support swap files */
|
/* Ext4 move extent does not support swap files */
|
||||||
if (IS_SWAPFILE(orig_inode) || IS_SWAPFILE(donor_inode)) {
|
if (IS_SWAPFILE(orig_inode) || IS_SWAPFILE(donor_inode)) {
|
||||||
ext4_debug("ext4 move extent: The argument files should not be swap files [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: The argument files should not be swap files [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -ETXTBSY;
|
return -ETXTBSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ext4_is_quota_file(orig_inode) || ext4_is_quota_file(donor_inode)) {
|
if (ext4_is_quota_file(orig_inode) || ext4_is_quota_file(donor_inode)) {
|
||||||
ext4_debug("ext4 move extent: The argument files should not be quota files [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: The argument files should not be quota files [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -523,7 +523,7 @@ static int mext_check_adjust_range(struct inode *orig_inode,
|
|||||||
/* Start offset should be same */
|
/* Start offset should be same */
|
||||||
if ((orig_start & ~(PAGE_MASK >> orig_inode->i_blkbits)) !=
|
if ((orig_start & ~(PAGE_MASK >> orig_inode->i_blkbits)) !=
|
||||||
(donor_start & ~(PAGE_MASK >> orig_inode->i_blkbits))) {
|
(donor_start & ~(PAGE_MASK >> orig_inode->i_blkbits))) {
|
||||||
ext4_debug("ext4 move extent: orig and donor's start offsets are not aligned [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: orig and donor's start offsets are not aligned [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
@@ -533,7 +533,7 @@ static int mext_check_adjust_range(struct inode *orig_inode,
|
|||||||
(*len > EXT_MAX_BLOCKS) ||
|
(*len > EXT_MAX_BLOCKS) ||
|
||||||
(donor_start + *len >= EXT_MAX_BLOCKS) ||
|
(donor_start + *len >= EXT_MAX_BLOCKS) ||
|
||||||
(orig_start + *len >= EXT_MAX_BLOCKS)) {
|
(orig_start + *len >= EXT_MAX_BLOCKS)) {
|
||||||
ext4_debug("ext4 move extent: Can't handle over [%u] blocks [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: Can't handle over [%u] blocks [ino:orig %llu, donor %llu]\n",
|
||||||
EXT_MAX_BLOCKS,
|
EXT_MAX_BLOCKS,
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -550,7 +550,7 @@ static int mext_check_adjust_range(struct inode *orig_inode,
|
|||||||
else if (donor_eof < donor_start + *len - 1)
|
else if (donor_eof < donor_start + *len - 1)
|
||||||
*len = donor_eof - donor_start;
|
*len = donor_eof - donor_start;
|
||||||
if (!*len) {
|
if (!*len) {
|
||||||
ext4_debug("ext4 move extent: len should not be 0 [ino:orig %lu, donor %lu]\n",
|
ext4_debug("ext4 move extent: len should not be 0 [ino:orig %llu, donor %llu]\n",
|
||||||
orig_inode->i_ino, donor_inode->i_ino);
|
orig_inode->i_ino, donor_inode->i_ino);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ static struct buffer_head *__ext4_read_dirblock(struct inode *inode,
|
|||||||
bh = ext4_bread(NULL, inode, block, 0);
|
bh = ext4_bread(NULL, inode, block, 0);
|
||||||
if (IS_ERR(bh)) {
|
if (IS_ERR(bh)) {
|
||||||
__ext4_warning(inode->i_sb, func, line,
|
__ext4_warning(inode->i_sb, func, line,
|
||||||
"inode #%lu: lblock %lu: comm %s: "
|
"inode #%llu: lblock %lu: comm %s: "
|
||||||
"error %ld reading directory block",
|
"error %ld reading directory block",
|
||||||
inode->i_ino, (unsigned long)block,
|
inode->i_ino, (unsigned long)block,
|
||||||
current->comm, PTR_ERR(bh));
|
current->comm, PTR_ERR(bh));
|
||||||
@@ -841,7 +841,7 @@ dx_probe(struct ext4_filename *fname, struct inode *dir,
|
|||||||
indirect = root->info.indirect_levels;
|
indirect = root->info.indirect_levels;
|
||||||
if (indirect >= ext4_dir_htree_level(dir->i_sb)) {
|
if (indirect >= ext4_dir_htree_level(dir->i_sb)) {
|
||||||
ext4_warning(dir->i_sb,
|
ext4_warning(dir->i_sb,
|
||||||
"Directory (ino: %lu) htree depth %#06x exceed"
|
"Directory (ino: %llu) htree depth %#06x exceed"
|
||||||
"supported value", dir->i_ino,
|
"supported value", dir->i_ino,
|
||||||
ext4_dir_htree_level(dir->i_sb));
|
ext4_dir_htree_level(dir->i_sb));
|
||||||
if (ext4_dir_htree_level(dir->i_sb) < EXT4_HTREE_LEVEL) {
|
if (ext4_dir_htree_level(dir->i_sb) < EXT4_HTREE_LEVEL) {
|
||||||
@@ -1793,7 +1793,7 @@ static struct dentry *ext4_lookup(struct inode *dir, struct dentry *dentry, unsi
|
|||||||
(S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
|
(S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
|
||||||
!fscrypt_has_permitted_context(dir, inode)) {
|
!fscrypt_has_permitted_context(dir, inode)) {
|
||||||
ext4_warning(inode->i_sb,
|
ext4_warning(inode->i_sb,
|
||||||
"Inconsistent encryption contexts: %lu/%lu",
|
"Inconsistent encryption contexts: %llu/%llu",
|
||||||
dir->i_ino, inode->i_ino);
|
dir->i_ino, inode->i_ino);
|
||||||
iput(inode);
|
iput(inode);
|
||||||
return ERR_PTR(-EPERM);
|
return ERR_PTR(-EPERM);
|
||||||
@@ -2227,7 +2227,7 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
|
|||||||
csum_size = sizeof(struct ext4_dir_entry_tail);
|
csum_size = sizeof(struct ext4_dir_entry_tail);
|
||||||
|
|
||||||
blocksize = dir->i_sb->s_blocksize;
|
blocksize = dir->i_sb->s_blocksize;
|
||||||
dxtrace(printk(KERN_DEBUG "Creating index: inode %lu\n", dir->i_ino));
|
dxtrace(printk(KERN_DEBUG "Creating index: inode %llu\n", dir->i_ino));
|
||||||
BUFFER_TRACE(bh, "get_write_access");
|
BUFFER_TRACE(bh, "get_write_access");
|
||||||
retval = ext4_journal_get_write_access(handle, dir->i_sb, bh,
|
retval = ext4_journal_get_write_access(handle, dir->i_sb, bh,
|
||||||
EXT4_JTR_NONE);
|
EXT4_JTR_NONE);
|
||||||
@@ -2523,7 +2523,7 @@ again:
|
|||||||
restart = 1;
|
restart = 1;
|
||||||
}
|
}
|
||||||
if (add_level && levels == ext4_dir_htree_level(sb)) {
|
if (add_level && levels == ext4_dir_htree_level(sb)) {
|
||||||
ext4_warning(sb, "Directory (ino: %lu) index full, "
|
ext4_warning(sb, "Directory (ino: %llu) index full, "
|
||||||
"reach max htree level :%d",
|
"reach max htree level :%d",
|
||||||
dir->i_ino, levels);
|
dir->i_ino, levels);
|
||||||
if (ext4_dir_htree_level(sb) < EXT4_HTREE_LEVEL) {
|
if (ext4_dir_htree_level(sb) < EXT4_HTREE_LEVEL) {
|
||||||
|
|||||||
@@ -179,8 +179,8 @@ int ext4_orphan_add(handle_t *handle, struct inode *inode)
|
|||||||
} else
|
} else
|
||||||
brelse(iloc.bh);
|
brelse(iloc.bh);
|
||||||
|
|
||||||
ext4_debug("superblock will point to %lu\n", inode->i_ino);
|
ext4_debug("superblock will point to %llu\n", inode->i_ino);
|
||||||
ext4_debug("orphan inode %lu will point to %d\n",
|
ext4_debug("orphan inode %llu will point to %d\n",
|
||||||
inode->i_ino, NEXT_ORPHAN(inode));
|
inode->i_ino, NEXT_ORPHAN(inode));
|
||||||
out:
|
out:
|
||||||
ext4_std_error(sb, err);
|
ext4_std_error(sb, err);
|
||||||
@@ -249,7 +249,7 @@ int ext4_orphan_del(handle_t *handle, struct inode *inode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
mutex_lock(&sbi->s_orphan_lock);
|
mutex_lock(&sbi->s_orphan_lock);
|
||||||
ext4_debug("remove inode %lu from orphan list\n", inode->i_ino);
|
ext4_debug("remove inode %llu from orphan list\n", inode->i_ino);
|
||||||
|
|
||||||
prev = ei->i_orphan.prev;
|
prev = ei->i_orphan.prev;
|
||||||
list_del_init(&ei->i_orphan);
|
list_del_init(&ei->i_orphan);
|
||||||
@@ -284,7 +284,7 @@ int ext4_orphan_del(handle_t *handle, struct inode *inode)
|
|||||||
struct inode *i_prev =
|
struct inode *i_prev =
|
||||||
&list_entry(prev, struct ext4_inode_info, i_orphan)->vfs_inode;
|
&list_entry(prev, struct ext4_inode_info, i_orphan)->vfs_inode;
|
||||||
|
|
||||||
ext4_debug("orphan inode %lu will point to %u\n",
|
ext4_debug("orphan inode %llu will point to %u\n",
|
||||||
i_prev->i_ino, ino_next);
|
i_prev->i_ino, ino_next);
|
||||||
err = ext4_reserve_inode_write(handle, i_prev, &iloc2);
|
err = ext4_reserve_inode_write(handle, i_prev, &iloc2);
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -328,9 +328,9 @@ static void ext4_process_orphan(struct inode *inode,
|
|||||||
if (inode->i_nlink) {
|
if (inode->i_nlink) {
|
||||||
if (test_opt(sb, DEBUG))
|
if (test_opt(sb, DEBUG))
|
||||||
ext4_msg(sb, KERN_DEBUG,
|
ext4_msg(sb, KERN_DEBUG,
|
||||||
"%s: truncating inode %lu to %lld bytes",
|
"%s: truncating inode %llu to %lld bytes",
|
||||||
__func__, inode->i_ino, inode->i_size);
|
__func__, inode->i_ino, inode->i_size);
|
||||||
ext4_debug("truncating inode %lu to %lld bytes\n",
|
ext4_debug("truncating inode %llu to %lld bytes\n",
|
||||||
inode->i_ino, inode->i_size);
|
inode->i_ino, inode->i_size);
|
||||||
inode_lock(inode);
|
inode_lock(inode);
|
||||||
truncate_inode_pages(inode->i_mapping, inode->i_size);
|
truncate_inode_pages(inode->i_mapping, inode->i_size);
|
||||||
@@ -349,9 +349,9 @@ static void ext4_process_orphan(struct inode *inode,
|
|||||||
} else {
|
} else {
|
||||||
if (test_opt(sb, DEBUG))
|
if (test_opt(sb, DEBUG))
|
||||||
ext4_msg(sb, KERN_DEBUG,
|
ext4_msg(sb, KERN_DEBUG,
|
||||||
"%s: deleting unreferenced inode %lu",
|
"%s: deleting unreferenced inode %llu",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
ext4_debug("deleting unreferenced inode %lu\n",
|
ext4_debug("deleting unreferenced inode %llu\n",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
(*nr_orphans)++;
|
(*nr_orphans)++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ static int ext4_end_io_end(ext4_io_end_t *io_end)
|
|||||||
struct super_block *sb = inode->i_sb;
|
struct super_block *sb = inode->i_sb;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
ext4_debug("ext4_end_io_nolock: io_end 0x%p from inode %lu,list->next 0x%p,"
|
ext4_debug("ext4_end_io_nolock: io_end 0x%p from inode %llu,list->next 0x%p,"
|
||||||
"list->prev 0x%p\n",
|
"list->prev 0x%p\n",
|
||||||
io_end, inode->i_ino, io_end->list.next, io_end->list.prev);
|
io_end, inode->i_ino, io_end->list.next, io_end->list.prev);
|
||||||
|
|
||||||
@@ -204,7 +204,7 @@ static int ext4_end_io_end(ext4_io_end_t *io_end)
|
|||||||
ext4_msg(sb, KERN_EMERG,
|
ext4_msg(sb, KERN_EMERG,
|
||||||
"failed to convert unwritten extents to written "
|
"failed to convert unwritten extents to written "
|
||||||
"extents -- potential data loss! "
|
"extents -- potential data loss! "
|
||||||
"(inode %lu, error %d)", inode->i_ino, ret);
|
"(inode %llu, error %d)", inode->i_ino, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
ext4_clear_io_unwritten_flag(io_end);
|
ext4_clear_io_unwritten_flag(io_end);
|
||||||
@@ -221,7 +221,7 @@ static void dump_completed_IO(struct inode *inode, struct list_head *head)
|
|||||||
if (list_empty(head))
|
if (list_empty(head))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ext4_debug("Dump inode %lu completed io list\n", inode->i_ino);
|
ext4_debug("Dump inode %llu completed io list\n", inode->i_ino);
|
||||||
list_for_each_entry(io_end, head, list) {
|
list_for_each_entry(io_end, head, list) {
|
||||||
cur = &io_end->list;
|
cur = &io_end->list;
|
||||||
before = cur->prev;
|
before = cur->prev;
|
||||||
@@ -229,7 +229,7 @@ static void dump_completed_IO(struct inode *inode, struct list_head *head)
|
|||||||
after = cur->next;
|
after = cur->next;
|
||||||
io_end1 = container_of(after, ext4_io_end_t, list);
|
io_end1 = container_of(after, ext4_io_end_t, list);
|
||||||
|
|
||||||
ext4_debug("io 0x%p from inode %lu,prev 0x%p,next 0x%p\n",
|
ext4_debug("io 0x%p from inode %llu,prev 0x%p,next 0x%p\n",
|
||||||
io_end, inode->i_ino, io_end0, io_end1);
|
io_end, inode->i_ino, io_end0, io_end1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -366,7 +366,7 @@ static void ext4_end_bio(struct bio *bio)
|
|||||||
if (bio->bi_status) {
|
if (bio->bi_status) {
|
||||||
struct inode *inode = io_end->inode;
|
struct inode *inode = io_end->inode;
|
||||||
|
|
||||||
ext4_warning(inode->i_sb, "I/O error %d writing to inode %lu "
|
ext4_warning(inode->i_sb, "I/O error %d writing to inode %llu "
|
||||||
"starting block %llu)",
|
"starting block %llu)",
|
||||||
bio->bi_status, inode->i_ino,
|
bio->bi_status, inode->i_ino,
|
||||||
(unsigned long long)
|
(unsigned long long)
|
||||||
|
|||||||
@@ -848,12 +848,12 @@ void __ext4_error_inode(struct inode *inode, const char *function,
|
|||||||
vaf.va = &args;
|
vaf.va = &args;
|
||||||
if (block)
|
if (block)
|
||||||
printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: "
|
printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: "
|
||||||
"inode #%lu: block %llu: comm %s: %pV\n",
|
"inode #%llu: block %llu: comm %s: %pV\n",
|
||||||
inode->i_sb->s_id, function, line, inode->i_ino,
|
inode->i_sb->s_id, function, line, inode->i_ino,
|
||||||
block, current->comm, &vaf);
|
block, current->comm, &vaf);
|
||||||
else
|
else
|
||||||
printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: "
|
printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: "
|
||||||
"inode #%lu: comm %s: %pV\n",
|
"inode #%llu: comm %s: %pV\n",
|
||||||
inode->i_sb->s_id, function, line, inode->i_ino,
|
inode->i_sb->s_id, function, line, inode->i_ino,
|
||||||
current->comm, &vaf);
|
current->comm, &vaf);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
@@ -888,13 +888,13 @@ void __ext4_error_file(struct file *file, const char *function,
|
|||||||
vaf.va = &args;
|
vaf.va = &args;
|
||||||
if (block)
|
if (block)
|
||||||
printk(KERN_CRIT
|
printk(KERN_CRIT
|
||||||
"EXT4-fs error (device %s): %s:%d: inode #%lu: "
|
"EXT4-fs error (device %s): %s:%d: inode #%llu: "
|
||||||
"block %llu: comm %s: path %s: %pV\n",
|
"block %llu: comm %s: path %s: %pV\n",
|
||||||
inode->i_sb->s_id, function, line, inode->i_ino,
|
inode->i_sb->s_id, function, line, inode->i_ino,
|
||||||
block, current->comm, path, &vaf);
|
block, current->comm, path, &vaf);
|
||||||
else
|
else
|
||||||
printk(KERN_CRIT
|
printk(KERN_CRIT
|
||||||
"EXT4-fs error (device %s): %s:%d: inode #%lu: "
|
"EXT4-fs error (device %s): %s:%d: inode #%llu: "
|
||||||
"comm %s: path %s: %pV\n",
|
"comm %s: path %s: %pV\n",
|
||||||
inode->i_sb->s_id, function, line, inode->i_ino,
|
inode->i_sb->s_id, function, line, inode->i_ino,
|
||||||
current->comm, path, &vaf);
|
current->comm, path, &vaf);
|
||||||
@@ -1035,14 +1035,14 @@ void __ext4_warning_inode(const struct inode *inode, const char *function,
|
|||||||
vaf.fmt = fmt;
|
vaf.fmt = fmt;
|
||||||
vaf.va = &args;
|
vaf.va = &args;
|
||||||
printk(KERN_WARNING "EXT4-fs warning (device %s): %s:%d: "
|
printk(KERN_WARNING "EXT4-fs warning (device %s): %s:%d: "
|
||||||
"inode #%lu: comm %s: %pV\n", inode->i_sb->s_id,
|
"inode #%llu: comm %s: %pV\n", inode->i_sb->s_id,
|
||||||
function, line, inode->i_ino, current->comm, &vaf);
|
function, line, inode->i_ino, current->comm, &vaf);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __ext4_grp_locked_error(const char *function, unsigned int line,
|
void __ext4_grp_locked_error(const char *function, unsigned int line,
|
||||||
struct super_block *sb, ext4_group_t grp,
|
struct super_block *sb, ext4_group_t grp,
|
||||||
unsigned long ino, ext4_fsblk_t block,
|
u64 ino, ext4_fsblk_t block,
|
||||||
const char *fmt, ...)
|
const char *fmt, ...)
|
||||||
__releases(bitlock)
|
__releases(bitlock)
|
||||||
__acquires(bitlock)
|
__acquires(bitlock)
|
||||||
@@ -1061,7 +1061,7 @@ __acquires(bitlock)
|
|||||||
printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: group %u, ",
|
printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: group %u, ",
|
||||||
sb->s_id, function, line, grp);
|
sb->s_id, function, line, grp);
|
||||||
if (ino)
|
if (ino)
|
||||||
printk(KERN_CONT "inode %lu: ", ino);
|
printk(KERN_CONT "inode %llu: ", ino);
|
||||||
if (block)
|
if (block)
|
||||||
printk(KERN_CONT "block %llu:",
|
printk(KERN_CONT "block %llu:",
|
||||||
(unsigned long long) block);
|
(unsigned long long) block);
|
||||||
@@ -1170,7 +1170,7 @@ static void dump_orphan_list(struct super_block *sb, struct ext4_sb_info *sbi)
|
|||||||
list_for_each(l, &sbi->s_orphan) {
|
list_for_each(l, &sbi->s_orphan) {
|
||||||
struct inode *inode = orphan_list_entry(l);
|
struct inode *inode = orphan_list_entry(l);
|
||||||
printk(KERN_ERR " "
|
printk(KERN_ERR " "
|
||||||
"inode %s:%lu at %p: mode %o, nlink %d, next %d\n",
|
"inode %s:%llu at %p: mode %o, nlink %d, next %d\n",
|
||||||
inode->i_sb->s_id, inode->i_ino, inode,
|
inode->i_sb->s_id, inode->i_ino, inode,
|
||||||
inode->i_mode, inode->i_nlink,
|
inode->i_mode, inode->i_nlink,
|
||||||
NEXT_ORPHAN(inode));
|
NEXT_ORPHAN(inode));
|
||||||
@@ -1442,7 +1442,7 @@ static void ext4_free_in_core_inode(struct inode *inode)
|
|||||||
{
|
{
|
||||||
fscrypt_free_inode(inode);
|
fscrypt_free_inode(inode);
|
||||||
if (!list_empty(&(EXT4_I(inode)->i_fc_list))) {
|
if (!list_empty(&(EXT4_I(inode)->i_fc_list))) {
|
||||||
pr_warn("%s: inode %ld still in fc list",
|
pr_warn("%s: inode %llu still in fc list",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
}
|
}
|
||||||
kmem_cache_free(ext4_inode_cachep, EXT4_I(inode));
|
kmem_cache_free(ext4_inode_cachep, EXT4_I(inode));
|
||||||
@@ -1452,7 +1452,7 @@ static void ext4_destroy_inode(struct inode *inode)
|
|||||||
{
|
{
|
||||||
if (ext4_inode_orphan_tracked(inode)) {
|
if (ext4_inode_orphan_tracked(inode)) {
|
||||||
ext4_msg(inode->i_sb, KERN_ERR,
|
ext4_msg(inode->i_sb, KERN_ERR,
|
||||||
"Inode %lu (%p): inode tracked as orphan!",
|
"Inode %llu (%p): inode tracked as orphan!",
|
||||||
inode->i_ino, EXT4_I(inode));
|
inode->i_ino, EXT4_I(inode));
|
||||||
print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, 16, 4,
|
print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, 16, 4,
|
||||||
EXT4_I(inode), sizeof(struct ext4_inode_info),
|
EXT4_I(inode), sizeof(struct ext4_inode_info),
|
||||||
@@ -1463,7 +1463,7 @@ static void ext4_destroy_inode(struct inode *inode)
|
|||||||
if (!(EXT4_SB(inode->i_sb)->s_mount_state & EXT4_ERROR_FS) &&
|
if (!(EXT4_SB(inode->i_sb)->s_mount_state & EXT4_ERROR_FS) &&
|
||||||
WARN_ON_ONCE(EXT4_I(inode)->i_reserved_data_blocks))
|
WARN_ON_ONCE(EXT4_I(inode)->i_reserved_data_blocks))
|
||||||
ext4_msg(inode->i_sb, KERN_ERR,
|
ext4_msg(inode->i_sb, KERN_ERR,
|
||||||
"Inode %lu (%p): i_reserved_data_blocks (%u) not cleared!",
|
"Inode %llu (%p): i_reserved_data_blocks (%u) not cleared!",
|
||||||
inode->i_ino, EXT4_I(inode),
|
inode->i_ino, EXT4_I(inode),
|
||||||
EXT4_I(inode)->i_reserved_data_blocks);
|
EXT4_I(inode)->i_reserved_data_blocks);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
#ifdef EXT4_XATTR_DEBUG
|
#ifdef EXT4_XATTR_DEBUG
|
||||||
# define ea_idebug(inode, fmt, ...) \
|
# define ea_idebug(inode, fmt, ...) \
|
||||||
printk(KERN_DEBUG "inode %s:%lu: " fmt "\n", \
|
printk(KERN_DEBUG "inode %s:%llu: " fmt "\n", \
|
||||||
inode->i_sb->s_id, inode->i_ino, ##__VA_ARGS__)
|
inode->i_sb->s_id, inode->i_ino, ##__VA_ARGS__)
|
||||||
# define ea_bdebug(bh, fmt, ...) \
|
# define ea_bdebug(bh, fmt, ...) \
|
||||||
printk(KERN_DEBUG "block %pg:%lu: " fmt "\n", \
|
printk(KERN_DEBUG "block %pg:%lu: " fmt "\n", \
|
||||||
@@ -1035,7 +1035,7 @@ static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode,
|
|||||||
ref_count = ext4_xattr_inode_get_ref(ea_inode);
|
ref_count = ext4_xattr_inode_get_ref(ea_inode);
|
||||||
if ((ref_count == 0 && ref_change < 0) || (ref_count == U64_MAX && ref_change > 0)) {
|
if ((ref_count == 0 && ref_change < 0) || (ref_count == U64_MAX && ref_change > 0)) {
|
||||||
ext4_error_inode(ea_inode, __func__, __LINE__, 0,
|
ext4_error_inode(ea_inode, __func__, __LINE__, 0,
|
||||||
"EA inode %lu ref wraparound: ref_count=%lld ref_change=%d",
|
"EA inode %llu ref wraparound: ref_count=%lld ref_change=%d",
|
||||||
ea_inode->i_ino, ref_count, ref_change);
|
ea_inode->i_ino, ref_count, ref_change);
|
||||||
brelse(iloc.bh);
|
brelse(iloc.bh);
|
||||||
ret = -EFSCORRUPTED;
|
ret = -EFSCORRUPTED;
|
||||||
@@ -1046,7 +1046,7 @@ static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode,
|
|||||||
|
|
||||||
if (ref_change > 0) {
|
if (ref_change > 0) {
|
||||||
if (ref_count == 1) {
|
if (ref_count == 1) {
|
||||||
WARN_ONCE(ea_inode->i_nlink, "EA inode %lu i_nlink=%u",
|
WARN_ONCE(ea_inode->i_nlink, "EA inode %llu i_nlink=%u",
|
||||||
ea_inode->i_ino, ea_inode->i_nlink);
|
ea_inode->i_ino, ea_inode->i_nlink);
|
||||||
|
|
||||||
set_nlink(ea_inode, 1);
|
set_nlink(ea_inode, 1);
|
||||||
@@ -1055,7 +1055,7 @@ static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode,
|
|||||||
} else {
|
} else {
|
||||||
if (ref_count == 0) {
|
if (ref_count == 0) {
|
||||||
WARN_ONCE(ea_inode->i_nlink != 1,
|
WARN_ONCE(ea_inode->i_nlink != 1,
|
||||||
"EA inode %lu i_nlink=%u",
|
"EA inode %llu i_nlink=%u",
|
||||||
ea_inode->i_ino, ea_inode->i_nlink);
|
ea_inode->i_ino, ea_inode->i_nlink);
|
||||||
|
|
||||||
clear_nlink(ea_inode);
|
clear_nlink(ea_inode);
|
||||||
@@ -2854,7 +2854,7 @@ shift:
|
|||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (error && (mnt_count != le16_to_cpu(sbi->s_es->s_mnt_count))) {
|
if (error && (mnt_count != le16_to_cpu(sbi->s_es->s_mnt_count))) {
|
||||||
ext4_warning(inode->i_sb, "Unable to expand inode %lu. Delete some EAs or run e2fsck.",
|
ext4_warning(inode->i_sb, "Unable to expand inode %llu. Delete some EAs or run e2fsck.",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
mnt_count = le16_to_cpu(sbi->s_es->s_mnt_count);
|
mnt_count = le16_to_cpu(sbi->s_es->s_mnt_count);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -773,7 +773,7 @@ void f2fs_decompress_cluster(struct decompress_io_ctx *dic, bool in_task)
|
|||||||
if (!is_inode_flag_set(dic->inode, FI_COMPRESS_CORRUPT)) {
|
if (!is_inode_flag_set(dic->inode, FI_COMPRESS_CORRUPT)) {
|
||||||
set_inode_flag(dic->inode, FI_COMPRESS_CORRUPT);
|
set_inode_flag(dic->inode, FI_COMPRESS_CORRUPT);
|
||||||
f2fs_info_ratelimited(sbi,
|
f2fs_info_ratelimited(sbi,
|
||||||
"checksum invalid, nid = %lu, %x vs %x",
|
"checksum invalid, nid = %llu, %x vs %x",
|
||||||
dic->inode->i_ino,
|
dic->inode->i_ino,
|
||||||
provided, calculated);
|
provided, calculated);
|
||||||
}
|
}
|
||||||
@@ -932,7 +932,7 @@ bool f2fs_sanity_check_cluster(struct dnode_of_data *dn)
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
out:
|
out:
|
||||||
f2fs_warn(sbi, "access invalid cluster, ino:%lu, nid:%u, ofs_in_node:%u, reason:%s",
|
f2fs_warn(sbi, "access invalid cluster, ino:%llu, nid:%u, ofs_in_node:%u, reason:%s",
|
||||||
dn->inode->i_ino, dn->nid, dn->ofs_in_node, reason);
|
dn->inode->i_ino, dn->nid, dn->ofs_in_node, reason);
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -368,7 +368,7 @@ start_find_entry:
|
|||||||
|
|
||||||
max_depth = F2FS_I(dir)->i_current_depth;
|
max_depth = F2FS_I(dir)->i_current_depth;
|
||||||
if (unlikely(max_depth > MAX_DIR_HASH_DEPTH)) {
|
if (unlikely(max_depth > MAX_DIR_HASH_DEPTH)) {
|
||||||
f2fs_warn(F2FS_I_SB(dir), "Corrupted max_depth of %lu: %u",
|
f2fs_warn(F2FS_I_SB(dir), "Corrupted max_depth of %llu: %u",
|
||||||
dir->i_ino, max_depth);
|
dir->i_ino, max_depth);
|
||||||
max_depth = MAX_DIR_HASH_DEPTH;
|
max_depth = MAX_DIR_HASH_DEPTH;
|
||||||
f2fs_i_depth_write(dir, max_depth);
|
f2fs_i_depth_write(dir, max_depth);
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ bool sanity_check_extent_cache(struct inode *inode, struct folio *ifolio)
|
|||||||
if (!f2fs_is_valid_blkaddr(sbi, ei.blk, DATA_GENERIC_ENHANCE) ||
|
if (!f2fs_is_valid_blkaddr(sbi, ei.blk, DATA_GENERIC_ENHANCE) ||
|
||||||
!f2fs_is_valid_blkaddr(sbi, ei.blk + ei.len - 1,
|
!f2fs_is_valid_blkaddr(sbi, ei.blk + ei.len - 1,
|
||||||
DATA_GENERIC_ENHANCE)) {
|
DATA_GENERIC_ENHANCE)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) extent info [%u, %u, %u] is incorrect, run fsck to fix",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) extent info [%u, %u, %u] is incorrect, run fsck to fix",
|
||||||
__func__, inode->i_ino,
|
__func__, inode->i_ino,
|
||||||
ei.blk, ei.fofs, ei.len);
|
ei.blk, ei.fofs, ei.len);
|
||||||
return false;
|
return false;
|
||||||
@@ -50,14 +50,14 @@ bool sanity_check_extent_cache(struct inode *inode, struct folio *ifolio)
|
|||||||
|
|
||||||
if (devi == 0) {
|
if (devi == 0) {
|
||||||
f2fs_warn(sbi,
|
f2fs_warn(sbi,
|
||||||
"%s: inode (ino=%lx) is an alias of meta device",
|
"%s: inode (ino=%llx) is an alias of meta device",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bdev_is_zoned(FDEV(devi).bdev)) {
|
if (bdev_is_zoned(FDEV(devi).bdev)) {
|
||||||
f2fs_warn(sbi,
|
f2fs_warn(sbi,
|
||||||
"%s: device alias inode (ino=%lx)'s extent info "
|
"%s: device alias inode (ino=%llx)'s extent info "
|
||||||
"[%u, %u, %u] maps to zoned block device",
|
"[%u, %u, %u] maps to zoned block device",
|
||||||
__func__, inode->i_ino, ei.blk, ei.fofs, ei.len);
|
__func__, inode->i_ino, ei.blk, ei.fofs, ei.len);
|
||||||
return false;
|
return false;
|
||||||
@@ -65,7 +65,7 @@ bool sanity_check_extent_cache(struct inode *inode, struct folio *ifolio)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
f2fs_warn(sbi, "%s: device alias inode (ino=%lx)'s extent info "
|
f2fs_warn(sbi, "%s: device alias inode (ino=%llx)'s extent info "
|
||||||
"[%u, %u, %u] is inconsistent w/ any devices",
|
"[%u, %u, %u] is inconsistent w/ any devices",
|
||||||
__func__, inode->i_ino, ei.blk, ei.fofs, ei.len);
|
__func__, inode->i_ino, ei.blk, ei.fofs, ei.len);
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -2706,7 +2706,7 @@ static inline void dec_valid_block_count(struct f2fs_sb_info *sbi,
|
|||||||
|
|
||||||
spin_lock(&sbi->stat_lock);
|
spin_lock(&sbi->stat_lock);
|
||||||
if (unlikely(sbi->total_valid_block_count < count)) {
|
if (unlikely(sbi->total_valid_block_count < count)) {
|
||||||
f2fs_warn(sbi, "Inconsistent total_valid_block_count:%u, ino:%lu, count:%u",
|
f2fs_warn(sbi, "Inconsistent total_valid_block_count:%u, ino:%llu, count:%u",
|
||||||
sbi->total_valid_block_count, inode->i_ino, count);
|
sbi->total_valid_block_count, inode->i_ino, count);
|
||||||
sbi->total_valid_block_count = 0;
|
sbi->total_valid_block_count = 0;
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
@@ -2719,7 +2719,7 @@ static inline void dec_valid_block_count(struct f2fs_sb_info *sbi,
|
|||||||
sbi->current_reserved_blocks + count);
|
sbi->current_reserved_blocks + count);
|
||||||
spin_unlock(&sbi->stat_lock);
|
spin_unlock(&sbi->stat_lock);
|
||||||
if (unlikely(inode->i_blocks < sectors)) {
|
if (unlikely(inode->i_blocks < sectors)) {
|
||||||
f2fs_warn(sbi, "Inconsistent i_blocks, ino:%lu, iblocks:%llu, sectors:%llu",
|
f2fs_warn(sbi, "Inconsistent i_blocks, ino:%llu, iblocks:%llu, sectors:%llu",
|
||||||
inode->i_ino,
|
inode->i_ino,
|
||||||
(unsigned long long)inode->i_blocks,
|
(unsigned long long)inode->i_blocks,
|
||||||
(unsigned long long)sectors);
|
(unsigned long long)sectors);
|
||||||
@@ -2993,7 +2993,7 @@ static inline void dec_valid_node_count(struct f2fs_sb_info *sbi,
|
|||||||
dquot_free_inode(inode);
|
dquot_free_inode(inode);
|
||||||
} else {
|
} else {
|
||||||
if (unlikely(inode->i_blocks == 0)) {
|
if (unlikely(inode->i_blocks == 0)) {
|
||||||
f2fs_warn(sbi, "dec_valid_node_count: inconsistent i_blocks, ino:%lu, iblocks:%llu",
|
f2fs_warn(sbi, "dec_valid_node_count: inconsistent i_blocks, ino:%llu, iblocks:%llu",
|
||||||
inode->i_ino,
|
inode->i_ino,
|
||||||
(unsigned long long)inode->i_blocks);
|
(unsigned long long)inode->i_blocks);
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
|
|||||||
@@ -1917,7 +1917,7 @@ next_alloc:
|
|||||||
f2fs_up_write(&sbi->pin_sem);
|
f2fs_up_write(&sbi->pin_sem);
|
||||||
err = -ENOSPC;
|
err = -ENOSPC;
|
||||||
f2fs_warn_ratelimited(sbi,
|
f2fs_warn_ratelimited(sbi,
|
||||||
"ino:%lu, start:%lu, end:%lu, need to trigger GC to "
|
"ino:%llu, start:%lu, end:%lu, need to trigger GC to "
|
||||||
"reclaim enough free segment when checkpoint is enabled",
|
"reclaim enough free segment when checkpoint is enabled",
|
||||||
inode->i_ino, pg_start, pg_end);
|
inode->i_ino, pg_start, pg_end);
|
||||||
goto out_err;
|
goto out_err;
|
||||||
@@ -2307,7 +2307,7 @@ static int f2fs_ioc_start_atomic_write(struct file *filp, bool truncate)
|
|||||||
* f2fs_is_atomic_file.
|
* f2fs_is_atomic_file.
|
||||||
*/
|
*/
|
||||||
if (get_dirty_pages(inode))
|
if (get_dirty_pages(inode))
|
||||||
f2fs_warn(sbi, "Unexpected flush for atomic writes: ino=%lu, npages=%u",
|
f2fs_warn(sbi, "Unexpected flush for atomic writes: ino=%llu, npages=%u",
|
||||||
inode->i_ino, get_dirty_pages(inode));
|
inode->i_ino, get_dirty_pages(inode));
|
||||||
ret = filemap_write_and_wait_range(inode->i_mapping, 0, LLONG_MAX);
|
ret = filemap_write_and_wait_range(inode->i_mapping, 0, LLONG_MAX);
|
||||||
if (ret)
|
if (ret)
|
||||||
@@ -3494,7 +3494,7 @@ int f2fs_pin_file_control(struct inode *inode, bool inc)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (fi->i_gc_failures >= sbi->gc_pin_file_threshold) {
|
if (fi->i_gc_failures >= sbi->gc_pin_file_threshold) {
|
||||||
f2fs_warn(sbi, "%s: Enable GC = ino %lx after %x GC trials",
|
f2fs_warn(sbi, "%s: Enable GC = ino %llx after %x GC trials",
|
||||||
__func__, inode->i_ino, fi->i_gc_failures);
|
__func__, inode->i_ino, fi->i_gc_failures);
|
||||||
clear_inode_flag(inode, FI_PIN_FILE);
|
clear_inode_flag(inode, FI_PIN_FILE);
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
@@ -3679,7 +3679,7 @@ static int f2fs_ioc_enable_verity(struct file *filp, unsigned long arg)
|
|||||||
|
|
||||||
if (!f2fs_sb_has_verity(F2FS_I_SB(inode))) {
|
if (!f2fs_sb_has_verity(F2FS_I_SB(inode))) {
|
||||||
f2fs_warn(F2FS_I_SB(inode),
|
f2fs_warn(F2FS_I_SB(inode),
|
||||||
"Can't enable fs-verity on inode %lu: the verity feature is not enabled on this filesystem",
|
"Can't enable fs-verity on inode %llu: the verity feature is not enabled on this filesystem",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -3950,7 +3950,7 @@ out:
|
|||||||
} else if (released_blocks &&
|
} else if (released_blocks &&
|
||||||
atomic_read(&fi->i_compr_blocks)) {
|
atomic_read(&fi->i_compr_blocks)) {
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
f2fs_warn(sbi, "%s: partial blocks were released i_ino=%lx "
|
f2fs_warn(sbi, "%s: partial blocks were released i_ino=%llx "
|
||||||
"iblocks=%llu, released=%u, compr_blocks=%u, "
|
"iblocks=%llu, released=%u, compr_blocks=%u, "
|
||||||
"run fsck to fix.",
|
"run fsck to fix.",
|
||||||
__func__, inode->i_ino, inode->i_blocks,
|
__func__, inode->i_ino, inode->i_blocks,
|
||||||
@@ -4133,7 +4133,7 @@ unlock_inode:
|
|||||||
} else if (reserved_blocks &&
|
} else if (reserved_blocks &&
|
||||||
atomic_read(&fi->i_compr_blocks)) {
|
atomic_read(&fi->i_compr_blocks)) {
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
f2fs_warn(sbi, "%s: partial blocks were reserved i_ino=%lx "
|
f2fs_warn(sbi, "%s: partial blocks were reserved i_ino=%llx "
|
||||||
"iblocks=%llu, reserved=%u, compr_blocks=%u, "
|
"iblocks=%llu, reserved=%u, compr_blocks=%u, "
|
||||||
"run fsck to fix.",
|
"run fsck to fix.",
|
||||||
__func__, inode->i_ino, inode->i_blocks,
|
__func__, inode->i_ino, inode->i_blocks,
|
||||||
|
|||||||
@@ -1622,7 +1622,7 @@ next_step:
|
|||||||
iput(inode);
|
iput(inode);
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
f2fs_err_ratelimited(sbi,
|
f2fs_err_ratelimited(sbi,
|
||||||
"inode %lx has both inline_data flag and "
|
"inode %llu has both inline_data flag and "
|
||||||
"data block, nid=%u, ofs_in_node=%u",
|
"data block, nid=%u, ofs_in_node=%u",
|
||||||
inode->i_ino, dni.nid, ofs_in_node);
|
inode->i_ino, dni.nid, ofs_in_node);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ int f2fs_convert_inline_folio(struct dnode_of_data *dn, struct folio *folio)
|
|||||||
if (unlikely(dn->data_blkaddr != NEW_ADDR)) {
|
if (unlikely(dn->data_blkaddr != NEW_ADDR)) {
|
||||||
f2fs_put_dnode(dn);
|
f2fs_put_dnode(dn);
|
||||||
set_sbi_flag(fio.sbi, SBI_NEED_FSCK);
|
set_sbi_flag(fio.sbi, SBI_NEED_FSCK);
|
||||||
f2fs_warn(fio.sbi, "%s: corrupted inline inode ino=%lx, i_addr[0]:0x%x, run fsck to fix.",
|
f2fs_warn(fio.sbi, "%s: corrupted inline inode ino=%llu, i_addr[0]:0x%x, run fsck to fix.",
|
||||||
__func__, dn->inode->i_ino, dn->data_blkaddr);
|
__func__, dn->inode->i_ino, dn->data_blkaddr);
|
||||||
f2fs_handle_error(fio.sbi, ERROR_INVALID_BLKADDR);
|
f2fs_handle_error(fio.sbi, ERROR_INVALID_BLKADDR);
|
||||||
return -EFSCORRUPTED;
|
return -EFSCORRUPTED;
|
||||||
@@ -431,7 +431,7 @@ static int f2fs_move_inline_dirents(struct inode *dir, struct folio *ifolio,
|
|||||||
if (unlikely(dn.data_blkaddr != NEW_ADDR)) {
|
if (unlikely(dn.data_blkaddr != NEW_ADDR)) {
|
||||||
f2fs_put_dnode(&dn);
|
f2fs_put_dnode(&dn);
|
||||||
set_sbi_flag(F2FS_F_SB(folio), SBI_NEED_FSCK);
|
set_sbi_flag(F2FS_F_SB(folio), SBI_NEED_FSCK);
|
||||||
f2fs_warn(F2FS_F_SB(folio), "%s: corrupted inline inode ino=%lx, i_addr[0]:0x%x, run fsck to fix.",
|
f2fs_warn(F2FS_F_SB(folio), "%s: corrupted inline inode ino=%llu, i_addr[0]:0x%x, run fsck to fix.",
|
||||||
__func__, dir->i_ino, dn.data_blkaddr);
|
__func__, dir->i_ino, dn.data_blkaddr);
|
||||||
f2fs_handle_error(F2FS_F_SB(folio), ERROR_INVALID_BLKADDR);
|
f2fs_handle_error(F2FS_F_SB(folio), ERROR_INVALID_BLKADDR);
|
||||||
err = -EFSCORRUPTED;
|
err = -EFSCORRUPTED;
|
||||||
|
|||||||
@@ -203,14 +203,14 @@ static bool sanity_check_compress_inode(struct inode *inode,
|
|||||||
|
|
||||||
if (ri->i_compress_algorithm >= COMPRESS_MAX) {
|
if (ri->i_compress_algorithm >= COMPRESS_MAX) {
|
||||||
f2fs_warn(sbi,
|
f2fs_warn(sbi,
|
||||||
"%s: inode (ino=%lx) has unsupported compress algorithm: %u, run fsck to fix",
|
"%s: inode (ino=%llx) has unsupported compress algorithm: %u, run fsck to fix",
|
||||||
__func__, inode->i_ino, ri->i_compress_algorithm);
|
__func__, inode->i_ino, ri->i_compress_algorithm);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (le64_to_cpu(ri->i_compr_blocks) >
|
if (le64_to_cpu(ri->i_compr_blocks) >
|
||||||
SECTOR_TO_BLOCK(inode->i_blocks)) {
|
SECTOR_TO_BLOCK(inode->i_blocks)) {
|
||||||
f2fs_warn(sbi,
|
f2fs_warn(sbi,
|
||||||
"%s: inode (ino=%lx) has inconsistent i_compr_blocks:%llu, i_blocks:%llu, run fsck to fix",
|
"%s: inode (ino=%llx) has inconsistent i_compr_blocks:%llu, i_blocks:%llu, run fsck to fix",
|
||||||
__func__, inode->i_ino, le64_to_cpu(ri->i_compr_blocks),
|
__func__, inode->i_ino, le64_to_cpu(ri->i_compr_blocks),
|
||||||
SECTOR_TO_BLOCK(inode->i_blocks));
|
SECTOR_TO_BLOCK(inode->i_blocks));
|
||||||
return false;
|
return false;
|
||||||
@@ -218,7 +218,7 @@ static bool sanity_check_compress_inode(struct inode *inode,
|
|||||||
if (ri->i_log_cluster_size < MIN_COMPRESS_LOG_SIZE ||
|
if (ri->i_log_cluster_size < MIN_COMPRESS_LOG_SIZE ||
|
||||||
ri->i_log_cluster_size > MAX_COMPRESS_LOG_SIZE) {
|
ri->i_log_cluster_size > MAX_COMPRESS_LOG_SIZE) {
|
||||||
f2fs_warn(sbi,
|
f2fs_warn(sbi,
|
||||||
"%s: inode (ino=%lx) has unsupported log cluster size: %u, run fsck to fix",
|
"%s: inode (ino=%llx) has unsupported log cluster size: %u, run fsck to fix",
|
||||||
__func__, inode->i_ino, ri->i_log_cluster_size);
|
__func__, inode->i_ino, ri->i_log_cluster_size);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -262,7 +262,7 @@ static bool sanity_check_compress_inode(struct inode *inode,
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
err_level:
|
err_level:
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) has unsupported compress level: %u, run fsck to fix",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) has unsupported compress level: %u, run fsck to fix",
|
||||||
__func__, inode->i_ino, clevel);
|
__func__, inode->i_ino, clevel);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -276,40 +276,40 @@ static bool sanity_check_inode(struct inode *inode, struct folio *node_folio)
|
|||||||
|
|
||||||
iblocks = le64_to_cpu(F2FS_INODE(node_folio)->i_blocks);
|
iblocks = le64_to_cpu(F2FS_INODE(node_folio)->i_blocks);
|
||||||
if (!iblocks) {
|
if (!iblocks) {
|
||||||
f2fs_warn(sbi, "%s: corrupted inode i_blocks i_ino=%lx iblocks=%llu, run fsck to fix.",
|
f2fs_warn(sbi, "%s: corrupted inode i_blocks i_ino=%llx iblocks=%llu, run fsck to fix.",
|
||||||
__func__, inode->i_ino, iblocks);
|
__func__, inode->i_ino, iblocks);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ino_of_node(node_folio) != nid_of_node(node_folio)) {
|
if (ino_of_node(node_folio) != nid_of_node(node_folio)) {
|
||||||
f2fs_warn(sbi, "%s: corrupted inode footer i_ino=%lx, ino,nid: [%u, %u] run fsck to fix.",
|
f2fs_warn(sbi, "%s: corrupted inode footer i_ino=%llx, ino,nid: [%u, %u] run fsck to fix.",
|
||||||
__func__, inode->i_ino,
|
__func__, inode->i_ino,
|
||||||
ino_of_node(node_folio), nid_of_node(node_folio));
|
ino_of_node(node_folio), nid_of_node(node_folio));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ino_of_node(node_folio) == fi->i_xattr_nid) {
|
if (ino_of_node(node_folio) == fi->i_xattr_nid) {
|
||||||
f2fs_warn(sbi, "%s: corrupted inode i_ino=%lx, xnid=%x, run fsck to fix.",
|
f2fs_warn(sbi, "%s: corrupted inode i_ino=%llx, xnid=%x, run fsck to fix.",
|
||||||
__func__, inode->i_ino, fi->i_xattr_nid);
|
__func__, inode->i_ino, fi->i_xattr_nid);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (S_ISDIR(inode->i_mode) && unlikely(inode->i_nlink == 1)) {
|
if (S_ISDIR(inode->i_mode) && unlikely(inode->i_nlink == 1)) {
|
||||||
f2fs_warn(sbi, "%s: directory inode (ino=%lx) has a single i_nlink",
|
f2fs_warn(sbi, "%s: directory inode (ino=%llx) has a single i_nlink",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (f2fs_has_extra_attr(inode)) {
|
if (f2fs_has_extra_attr(inode)) {
|
||||||
if (!f2fs_sb_has_extra_attr(sbi)) {
|
if (!f2fs_sb_has_extra_attr(sbi)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) is with extra_attr, but extra_attr feature is off",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) is with extra_attr, but extra_attr feature is off",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (fi->i_extra_isize > F2FS_TOTAL_EXTRA_ATTR_SIZE ||
|
if (fi->i_extra_isize > F2FS_TOTAL_EXTRA_ATTR_SIZE ||
|
||||||
fi->i_extra_isize < F2FS_MIN_EXTRA_ATTR_SIZE ||
|
fi->i_extra_isize < F2FS_MIN_EXTRA_ATTR_SIZE ||
|
||||||
fi->i_extra_isize % sizeof(__le32)) {
|
fi->i_extra_isize % sizeof(__le32)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) has corrupted i_extra_isize: %d, max: %zu",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) has corrupted i_extra_isize: %d, max: %zu",
|
||||||
__func__, inode->i_ino, fi->i_extra_isize,
|
__func__, inode->i_ino, fi->i_extra_isize,
|
||||||
F2FS_TOTAL_EXTRA_ATTR_SIZE);
|
F2FS_TOTAL_EXTRA_ATTR_SIZE);
|
||||||
return false;
|
return false;
|
||||||
@@ -327,7 +327,7 @@ static bool sanity_check_inode(struct inode *inode, struct folio *node_folio)
|
|||||||
f2fs_has_inline_xattr(inode) &&
|
f2fs_has_inline_xattr(inode) &&
|
||||||
(fi->i_inline_xattr_size < MIN_INLINE_XATTR_SIZE ||
|
(fi->i_inline_xattr_size < MIN_INLINE_XATTR_SIZE ||
|
||||||
fi->i_inline_xattr_size > MAX_INLINE_XATTR_SIZE)) {
|
fi->i_inline_xattr_size > MAX_INLINE_XATTR_SIZE)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) has corrupted i_inline_xattr_size: %d, min: %zu, max: %lu",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) has corrupted i_inline_xattr_size: %d, min: %zu, max: %lu",
|
||||||
__func__, inode->i_ino, fi->i_inline_xattr_size,
|
__func__, inode->i_ino, fi->i_inline_xattr_size,
|
||||||
MIN_INLINE_XATTR_SIZE, MAX_INLINE_XATTR_SIZE);
|
MIN_INLINE_XATTR_SIZE, MAX_INLINE_XATTR_SIZE);
|
||||||
return false;
|
return false;
|
||||||
@@ -335,64 +335,64 @@ static bool sanity_check_inode(struct inode *inode, struct folio *node_folio)
|
|||||||
|
|
||||||
if (!f2fs_sb_has_extra_attr(sbi)) {
|
if (!f2fs_sb_has_extra_attr(sbi)) {
|
||||||
if (f2fs_sb_has_project_quota(sbi)) {
|
if (f2fs_sb_has_project_quota(sbi)) {
|
||||||
f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.",
|
f2fs_warn(sbi, "%s: corrupted inode ino=%llx, wrong feature flag: %u, run fsck to fix.",
|
||||||
__func__, inode->i_ino, F2FS_FEATURE_PRJQUOTA);
|
__func__, inode->i_ino, F2FS_FEATURE_PRJQUOTA);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (f2fs_sb_has_inode_chksum(sbi)) {
|
if (f2fs_sb_has_inode_chksum(sbi)) {
|
||||||
f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.",
|
f2fs_warn(sbi, "%s: corrupted inode ino=%llx, wrong feature flag: %u, run fsck to fix.",
|
||||||
__func__, inode->i_ino, F2FS_FEATURE_INODE_CHKSUM);
|
__func__, inode->i_ino, F2FS_FEATURE_INODE_CHKSUM);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (f2fs_sb_has_flexible_inline_xattr(sbi)) {
|
if (f2fs_sb_has_flexible_inline_xattr(sbi)) {
|
||||||
f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.",
|
f2fs_warn(sbi, "%s: corrupted inode ino=%llx, wrong feature flag: %u, run fsck to fix.",
|
||||||
__func__, inode->i_ino, F2FS_FEATURE_FLEXIBLE_INLINE_XATTR);
|
__func__, inode->i_ino, F2FS_FEATURE_FLEXIBLE_INLINE_XATTR);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (f2fs_sb_has_inode_crtime(sbi)) {
|
if (f2fs_sb_has_inode_crtime(sbi)) {
|
||||||
f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.",
|
f2fs_warn(sbi, "%s: corrupted inode ino=%llx, wrong feature flag: %u, run fsck to fix.",
|
||||||
__func__, inode->i_ino, F2FS_FEATURE_INODE_CRTIME);
|
__func__, inode->i_ino, F2FS_FEATURE_INODE_CRTIME);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (f2fs_sb_has_compression(sbi)) {
|
if (f2fs_sb_has_compression(sbi)) {
|
||||||
f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.",
|
f2fs_warn(sbi, "%s: corrupted inode ino=%llx, wrong feature flag: %u, run fsck to fix.",
|
||||||
__func__, inode->i_ino, F2FS_FEATURE_COMPRESSION);
|
__func__, inode->i_ino, F2FS_FEATURE_COMPRESSION);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (f2fs_sanity_check_inline_data(inode, node_folio)) {
|
if (f2fs_sanity_check_inline_data(inode, node_folio)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx, mode=%u) should not have inline_data, run fsck to fix",
|
f2fs_warn(sbi, "%s: inode (ino=%llx, mode=%u) should not have inline_data, run fsck to fix",
|
||||||
__func__, inode->i_ino, inode->i_mode);
|
__func__, inode->i_ino, inode->i_mode);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (f2fs_has_inline_dentry(inode) && !S_ISDIR(inode->i_mode)) {
|
if (f2fs_has_inline_dentry(inode) && !S_ISDIR(inode->i_mode)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx, mode=%u) should not have inline_dentry, run fsck to fix",
|
f2fs_warn(sbi, "%s: inode (ino=%llx, mode=%u) should not have inline_dentry, run fsck to fix",
|
||||||
__func__, inode->i_ino, inode->i_mode);
|
__func__, inode->i_ino, inode->i_mode);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fi->i_flags & F2FS_CASEFOLD_FL) && !f2fs_sb_has_casefold(sbi)) {
|
if ((fi->i_flags & F2FS_CASEFOLD_FL) && !f2fs_sb_has_casefold(sbi)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) has casefold flag, but casefold feature is off",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) has casefold flag, but casefold feature is off",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fi->i_xattr_nid && f2fs_check_nid_range(sbi, fi->i_xattr_nid)) {
|
if (fi->i_xattr_nid && f2fs_check_nid_range(sbi, fi->i_xattr_nid)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) has corrupted i_xattr_nid: %u, run fsck to fix.",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) has corrupted i_xattr_nid: %u, run fsck to fix.",
|
||||||
__func__, inode->i_ino, fi->i_xattr_nid);
|
__func__, inode->i_ino, fi->i_xattr_nid);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_DEVICE_ALIASING(inode)) {
|
if (IS_DEVICE_ALIASING(inode)) {
|
||||||
if (!f2fs_sb_has_device_alias(sbi)) {
|
if (!f2fs_sb_has_device_alias(sbi)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) has device alias flag, but the feature is off",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) has device alias flag, but the feature is off",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!f2fs_is_pinned_file(inode)) {
|
if (!f2fs_is_pinned_file(inode)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) has device alias flag, but is not pinned",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) has device alias flag, but is not pinned",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -925,7 +925,7 @@ retry:
|
|||||||
*/
|
*/
|
||||||
if (is_inode_flag_set(inode, FI_DIRTY_INODE)) {
|
if (is_inode_flag_set(inode, FI_DIRTY_INODE)) {
|
||||||
f2fs_warn(F2FS_I_SB(inode),
|
f2fs_warn(F2FS_I_SB(inode),
|
||||||
"f2fs_evict_inode: inconsistent node id, ino:%lu",
|
"f2fs_evict_inode: inconsistent node id, ino:%llu",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
f2fs_inode_synced(inode);
|
f2fs_inode_synced(inode);
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
@@ -954,7 +954,7 @@ retry:
|
|||||||
*/
|
*/
|
||||||
if (is_inode_flag_set(inode, FI_DIRTY_INODE)) {
|
if (is_inode_flag_set(inode, FI_DIRTY_INODE)) {
|
||||||
f2fs_warn(sbi,
|
f2fs_warn(sbi,
|
||||||
"f2fs_evict_inode: inode is dirty, ino:%lu",
|
"f2fs_evict_inode: inode is dirty, ino:%llu",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
f2fs_inode_synced(inode);
|
f2fs_inode_synced(inode);
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
|
|||||||
@@ -505,7 +505,7 @@ static struct dentry *f2fs_lookup(struct inode *dir, struct dentry *dentry,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (inode->i_nlink == 0) {
|
if (inode->i_nlink == 0) {
|
||||||
f2fs_warn(F2FS_I_SB(inode), "%s: inode (ino=%lx) has zero i_nlink",
|
f2fs_warn(F2FS_I_SB(inode), "%s: inode (ino=%llx) has zero i_nlink",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
err = -EFSCORRUPTED;
|
err = -EFSCORRUPTED;
|
||||||
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
||||||
@@ -515,7 +515,7 @@ static struct dentry *f2fs_lookup(struct inode *dir, struct dentry *dentry,
|
|||||||
if (IS_ENCRYPTED(dir) &&
|
if (IS_ENCRYPTED(dir) &&
|
||||||
(S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
|
(S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
|
||||||
!fscrypt_has_permitted_context(dir, inode)) {
|
!fscrypt_has_permitted_context(dir, inode)) {
|
||||||
f2fs_warn(F2FS_I_SB(inode), "Inconsistent encryption contexts: %lu/%lu",
|
f2fs_warn(F2FS_I_SB(inode), "Inconsistent encryption contexts: %llu/%llu",
|
||||||
dir->i_ino, inode->i_ino);
|
dir->i_ino, inode->i_ino);
|
||||||
err = -EPERM;
|
err = -EPERM;
|
||||||
goto out_iput;
|
goto out_iput;
|
||||||
@@ -573,11 +573,11 @@ static int f2fs_unlink(struct inode *dir, struct dentry *dentry)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (unlikely(inode->i_nlink == 0)) {
|
if (unlikely(inode->i_nlink == 0)) {
|
||||||
f2fs_warn(sbi, "%s: inode (ino=%lx) has zero i_nlink",
|
f2fs_warn(sbi, "%s: inode (ino=%llx) has zero i_nlink",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
goto corrupted;
|
goto corrupted;
|
||||||
} else if (S_ISDIR(inode->i_mode) && unlikely(inode->i_nlink == 1)) {
|
} else if (S_ISDIR(inode->i_mode) && unlikely(inode->i_nlink == 1)) {
|
||||||
f2fs_warn(sbi, "%s: directory inode (ino=%lx) has a single i_nlink",
|
f2fs_warn(sbi, "%s: directory inode (ino=%llx) has a single i_nlink",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
goto corrupted;
|
goto corrupted;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -847,7 +847,7 @@ int f2fs_get_dnode_of_data(struct dnode_of_data *dn, pgoff_t index, int mode)
|
|||||||
err = -EFSCORRUPTED;
|
err = -EFSCORRUPTED;
|
||||||
f2fs_err_ratelimited(sbi,
|
f2fs_err_ratelimited(sbi,
|
||||||
"inode mapping table is corrupted, run fsck to fix it, "
|
"inode mapping table is corrupted, run fsck to fix it, "
|
||||||
"ino:%lu, nid:%u, level:%d, offset:%d",
|
"ino:%llu, nid:%u, level:%d, offset:%d",
|
||||||
dn->inode->i_ino, nids[i], level, offset[level]);
|
dn->inode->i_ino, nids[i], level, offset[level]);
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
goto release_pages;
|
goto release_pages;
|
||||||
@@ -1013,7 +1013,7 @@ static int truncate_dnode(struct dnode_of_data *dn)
|
|||||||
return PTR_ERR(folio);
|
return PTR_ERR(folio);
|
||||||
|
|
||||||
if (IS_INODE(folio) || ino_of_node(folio) != dn->inode->i_ino) {
|
if (IS_INODE(folio) || ino_of_node(folio) != dn->inode->i_ino) {
|
||||||
f2fs_err(sbi, "incorrect node reference, ino: %lu, nid: %u, ino_of_node: %u",
|
f2fs_err(sbi, "incorrect node reference, ino: %llu, nid: %u, ino_of_node: %u",
|
||||||
dn->inode->i_ino, dn->nid, ino_of_node(folio));
|
dn->inode->i_ino, dn->nid, ino_of_node(folio));
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
f2fs_handle_error(sbi, ERROR_INVALID_NODE_REFERENCE);
|
f2fs_handle_error(sbi, ERROR_INVALID_NODE_REFERENCE);
|
||||||
@@ -1194,7 +1194,7 @@ int f2fs_truncate_inode_blocks(struct inode *inode, pgoff_t from)
|
|||||||
if (level <= 0) {
|
if (level <= 0) {
|
||||||
if (!level) {
|
if (!level) {
|
||||||
level = -EFSCORRUPTED;
|
level = -EFSCORRUPTED;
|
||||||
f2fs_err(sbi, "%s: inode ino=%lx has corrupted node block, from:%lu addrs:%u",
|
f2fs_err(sbi, "%s: inode ino=%llx has corrupted node block, from:%lu addrs:%u",
|
||||||
__func__, inode->i_ino,
|
__func__, inode->i_ino,
|
||||||
from, ADDRS_PER_INODE(inode));
|
from, ADDRS_PER_INODE(inode));
|
||||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
@@ -1265,7 +1265,7 @@ skip_partial:
|
|||||||
set_sbi_flag(F2FS_F_SB(folio), SBI_NEED_FSCK);
|
set_sbi_flag(F2FS_F_SB(folio), SBI_NEED_FSCK);
|
||||||
f2fs_handle_error(sbi, ERROR_INVALID_BLKADDR);
|
f2fs_handle_error(sbi, ERROR_INVALID_BLKADDR);
|
||||||
f2fs_err_ratelimited(sbi,
|
f2fs_err_ratelimited(sbi,
|
||||||
"truncate node fail, ino:%lu, nid:%u, "
|
"truncate node fail, ino:%llu, nid:%u, "
|
||||||
"offset[0]:%d, offset[1]:%d, nofs:%d",
|
"offset[0]:%d, offset[1]:%d, nofs:%d",
|
||||||
inode->i_ino, dn.nid, offset[0],
|
inode->i_ino, dn.nid, offset[0],
|
||||||
offset[1], nofs);
|
offset[1], nofs);
|
||||||
@@ -1351,7 +1351,7 @@ int f2fs_remove_inode_page(struct inode *inode)
|
|||||||
|
|
||||||
if (unlikely(inode->i_blocks != 0 && inode->i_blocks != 8)) {
|
if (unlikely(inode->i_blocks != 0 && inode->i_blocks != 8)) {
|
||||||
f2fs_warn(F2FS_I_SB(inode),
|
f2fs_warn(F2FS_I_SB(inode),
|
||||||
"f2fs_remove_inode_page: inconsistent i_blocks, ino:%lu, iblocks:%llu",
|
"f2fs_remove_inode_page: inconsistent i_blocks, ino:%llu, iblocks:%llu",
|
||||||
inode->i_ino, (unsigned long long)inode->i_blocks);
|
inode->i_ino, (unsigned long long)inode->i_blocks);
|
||||||
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
||||||
}
|
}
|
||||||
@@ -1997,7 +1997,7 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int f2fs_match_ino(struct inode *inode, unsigned long ino, void *data)
|
static int f2fs_match_ino(struct inode *inode, u64 ino, void *data)
|
||||||
{
|
{
|
||||||
struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
|
struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
|
||||||
bool clean;
|
bool clean;
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ out:
|
|||||||
name = "<encrypted>";
|
name = "<encrypted>";
|
||||||
else
|
else
|
||||||
name = raw_inode->i_name;
|
name = raw_inode->i_name;
|
||||||
f2fs_notice(F2FS_I_SB(inode), "%s: ino = %x, name = %s, dir = %lx, err = %d",
|
f2fs_notice(F2FS_I_SB(inode), "%s: ino = %x, name = %s, dir = %llu, err = %d",
|
||||||
__func__, ino_of_node(ifolio), name,
|
__func__, ino_of_node(ifolio), name,
|
||||||
IS_ERR(dir) ? 0 : dir->i_ino, err);
|
IS_ERR(dir) ? 0 : dir->i_ino, err);
|
||||||
return err;
|
return err;
|
||||||
@@ -532,7 +532,7 @@ got_it:
|
|||||||
|
|
||||||
max_addrs = ADDRS_PER_PAGE(dn->node_folio, dn->inode);
|
max_addrs = ADDRS_PER_PAGE(dn->node_folio, dn->inode);
|
||||||
if (ofs_in_node >= max_addrs) {
|
if (ofs_in_node >= max_addrs) {
|
||||||
f2fs_err(sbi, "Inconsistent ofs_in_node:%u in summary, ino:%lu, nid:%u, max:%u",
|
f2fs_err(sbi, "Inconsistent ofs_in_node:%u in summary, ino:%llu, nid:%u, max:%u",
|
||||||
ofs_in_node, dn->inode->i_ino, nid, max_addrs);
|
ofs_in_node, dn->inode->i_ino, nid, max_addrs);
|
||||||
f2fs_handle_error(sbi, ERROR_INCONSISTENT_SUMMARY);
|
f2fs_handle_error(sbi, ERROR_INCONSISTENT_SUMMARY);
|
||||||
return -EFSCORRUPTED;
|
return -EFSCORRUPTED;
|
||||||
@@ -674,7 +674,7 @@ retry_dn:
|
|||||||
f2fs_bug_on(sbi, ni.ino != ino_of_node(folio));
|
f2fs_bug_on(sbi, ni.ino != ino_of_node(folio));
|
||||||
|
|
||||||
if (ofs_of_node(dn.node_folio) != ofs_of_node(folio)) {
|
if (ofs_of_node(dn.node_folio) != ofs_of_node(folio)) {
|
||||||
f2fs_warn(sbi, "Inconsistent ofs_of_node, ino:%lu, ofs:%u, %u",
|
f2fs_warn(sbi, "Inconsistent ofs_of_node, ino:%llu, ofs:%u, %u",
|
||||||
inode->i_ino, ofs_of_node(dn.node_folio),
|
inode->i_ino, ofs_of_node(dn.node_folio),
|
||||||
ofs_of_node(folio));
|
ofs_of_node(folio));
|
||||||
err = -EFSCORRUPTED;
|
err = -EFSCORRUPTED;
|
||||||
@@ -748,7 +748,7 @@ retry_prev:
|
|||||||
|
|
||||||
if (f2fs_is_valid_blkaddr(sbi, dest,
|
if (f2fs_is_valid_blkaddr(sbi, dest,
|
||||||
DATA_GENERIC_ENHANCE_UPDATE)) {
|
DATA_GENERIC_ENHANCE_UPDATE)) {
|
||||||
f2fs_err(sbi, "Inconsistent dest blkaddr:%u, ino:%lu, ofs:%u",
|
f2fs_err(sbi, "Inconsistent dest blkaddr:%u, ino:%llu, ofs:%u",
|
||||||
dest, inode->i_ino, dn.ofs_in_node);
|
dest, inode->i_ino, dn.ofs_in_node);
|
||||||
err = -EFSCORRUPTED;
|
err = -EFSCORRUPTED;
|
||||||
goto err;
|
goto err;
|
||||||
@@ -768,7 +768,7 @@ retry_prev:
|
|||||||
err:
|
err:
|
||||||
f2fs_put_dnode(&dn);
|
f2fs_put_dnode(&dn);
|
||||||
out:
|
out:
|
||||||
f2fs_notice(sbi, "recover_data: ino = %lx, nid = %x (i_size: %s), "
|
f2fs_notice(sbi, "recover_data: ino = %llx, nid = %x (i_size: %s), "
|
||||||
"range (%u, %u), recovered = %d, err = %d",
|
"range (%u, %u), recovered = %d, err = %d",
|
||||||
inode->i_ino, nid_of_node(folio),
|
inode->i_ino, nid_of_node(folio),
|
||||||
file_keep_isize(inode) ? "keep" : "recover",
|
file_keep_isize(inode) ? "keep" : "recover",
|
||||||
|
|||||||
@@ -365,7 +365,7 @@ static int lookup_all_xattrs(struct inode *inode, struct folio *ifolio,
|
|||||||
|
|
||||||
*xe = __find_xattr(cur_addr, last_txattr_addr, NULL, index, len, name);
|
*xe = __find_xattr(cur_addr, last_txattr_addr, NULL, index, len, name);
|
||||||
if (!*xe) {
|
if (!*xe) {
|
||||||
f2fs_err(F2FS_I_SB(inode), "lookup inode (%lu) has corrupted xattr",
|
f2fs_err(F2FS_I_SB(inode), "lookup inode (%llu) has corrupted xattr",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
||||||
err = -ENODATA;
|
err = -ENODATA;
|
||||||
@@ -585,7 +585,7 @@ ssize_t f2fs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
|
|||||||
|
|
||||||
if ((void *)(entry) + sizeof(__u32) > last_base_addr ||
|
if ((void *)(entry) + sizeof(__u32) > last_base_addr ||
|
||||||
(void *)XATTR_NEXT_ENTRY(entry) > last_base_addr) {
|
(void *)XATTR_NEXT_ENTRY(entry) > last_base_addr) {
|
||||||
f2fs_err(F2FS_I_SB(inode), "list inode (%lu) has corrupted xattr",
|
f2fs_err(F2FS_I_SB(inode), "list inode (%llu) has corrupted xattr",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
||||||
f2fs_handle_error(F2FS_I_SB(inode),
|
f2fs_handle_error(F2FS_I_SB(inode),
|
||||||
@@ -664,14 +664,14 @@ retry:
|
|||||||
if (!F2FS_I(inode)->i_xattr_nid) {
|
if (!F2FS_I(inode)->i_xattr_nid) {
|
||||||
error = f2fs_recover_xattr_data(inode, NULL);
|
error = f2fs_recover_xattr_data(inode, NULL);
|
||||||
f2fs_notice(F2FS_I_SB(inode),
|
f2fs_notice(F2FS_I_SB(inode),
|
||||||
"recover xattr in inode (%lu), error(%d)",
|
"recover xattr in inode (%llu), error(%d)",
|
||||||
inode->i_ino, error);
|
inode->i_ino, error);
|
||||||
if (!error) {
|
if (!error) {
|
||||||
kfree(base_addr);
|
kfree(base_addr);
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
f2fs_err(F2FS_I_SB(inode), "set inode (%lu) has corrupted xattr",
|
f2fs_err(F2FS_I_SB(inode), "set inode (%llu) has corrupted xattr",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
||||||
error = -EFSCORRUPTED;
|
error = -EFSCORRUPTED;
|
||||||
@@ -699,7 +699,7 @@ retry:
|
|||||||
while (!IS_XATTR_LAST_ENTRY(last)) {
|
while (!IS_XATTR_LAST_ENTRY(last)) {
|
||||||
if ((void *)(last) + sizeof(__u32) > last_base_addr ||
|
if ((void *)(last) + sizeof(__u32) > last_base_addr ||
|
||||||
(void *)XATTR_NEXT_ENTRY(last) > last_base_addr) {
|
(void *)XATTR_NEXT_ENTRY(last) > last_base_addr) {
|
||||||
f2fs_err(F2FS_I_SB(inode), "inode (%lu) has invalid last xattr entry, entry_size: %zu",
|
f2fs_err(F2FS_I_SB(inode), "inode (%llu) has invalid last xattr entry, entry_size: %zu",
|
||||||
inode->i_ino, ENTRY_SIZE(last));
|
inode->i_ino, ENTRY_SIZE(last));
|
||||||
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_FSCK);
|
||||||
error = -EFSCORRUPTED;
|
error = -EFSCORRUPTED;
|
||||||
|
|||||||
@@ -260,12 +260,12 @@ vxfs_bmap1(struct inode *ip, long iblock)
|
|||||||
if (VXFS_ISIMMED(vip))
|
if (VXFS_ISIMMED(vip))
|
||||||
goto unsupp;
|
goto unsupp;
|
||||||
|
|
||||||
printk(KERN_WARNING "vxfs: inode %ld has no valid orgtype (%x)\n",
|
printk(KERN_WARNING "vxfs: inode %llu has no valid orgtype (%x)\n",
|
||||||
ip->i_ino, vip->vii_orgtype);
|
ip->i_ino, vip->vii_orgtype);
|
||||||
BUG();
|
BUG();
|
||||||
|
|
||||||
unsupp:
|
unsupp:
|
||||||
printk(KERN_WARNING "vxfs: inode %ld has an unsupported orgtype (%x)\n",
|
printk(KERN_WARNING "vxfs: inode %llu has an unsupported orgtype (%x)\n",
|
||||||
ip->i_ino, vip->vii_orgtype);
|
ip->i_ino, vip->vii_orgtype);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ lost_event:
|
|||||||
lost:
|
lost:
|
||||||
if (inode)
|
if (inode)
|
||||||
pr_err_ratelimited(
|
pr_err_ratelimited(
|
||||||
"%s: lost file I/O error report for ino %lu type %u pos 0x%llx len 0x%llx error %d",
|
"%s: lost file I/O error report for ino %llu type %u pos 0x%llx len 0x%llx error %d",
|
||||||
sb->s_id, inode->i_ino, type, pos, len, error);
|
sb->s_id, inode->i_ino, type, pos, len, error);
|
||||||
else
|
else
|
||||||
pr_err_ratelimited(
|
pr_err_ratelimited(
|
||||||
|
|||||||
@@ -417,7 +417,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name,
|
|||||||
int entry_size, type;
|
int entry_size, type;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
hfs_dbg("cnid %u - (ino %lu, name %s) - (ino %lu, name %s)\n",
|
hfs_dbg("cnid %u - (ino %llu, name %s) - (ino %llu, name %s)\n",
|
||||||
cnid, src_dir->i_ino, src_name->name,
|
cnid, src_dir->i_ino, src_name->name,
|
||||||
dst_dir->i_ino, dst_name->name);
|
dst_dir->i_ino, dst_name->name);
|
||||||
sb = src_dir->i_sb;
|
sb = src_dir->i_sb;
|
||||||
|
|||||||
@@ -411,7 +411,7 @@ int hfs_extend_file(struct inode *inode)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
hfs_dbg("ino %lu, start %u, len %u\n", inode->i_ino, start, len);
|
hfs_dbg("ino %llu, start %u, len %u\n", inode->i_ino, start, len);
|
||||||
if (HFS_I(inode)->alloc_blocks == HFS_I(inode)->first_blocks) {
|
if (HFS_I(inode)->alloc_blocks == HFS_I(inode)->first_blocks) {
|
||||||
if (!HFS_I(inode)->first_blocks) {
|
if (!HFS_I(inode)->first_blocks) {
|
||||||
hfs_dbg("first_extent: start %u, len %u\n",
|
hfs_dbg("first_extent: start %u, len %u\n",
|
||||||
@@ -482,7 +482,7 @@ void hfs_file_truncate(struct inode *inode)
|
|||||||
u32 size;
|
u32 size;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
hfs_dbg("ino %lu, phys_size %llu -> i_size %llu\n",
|
hfs_dbg("ino %llu, phys_size %llu -> i_size %llu\n",
|
||||||
inode->i_ino, (long long)HFS_I(inode)->phys_size,
|
inode->i_ino, (long long)HFS_I(inode)->phys_size,
|
||||||
inode->i_size);
|
inode->i_size);
|
||||||
if (inode->i_size > HFS_I(inode)->phys_size) {
|
if (inode->i_size > HFS_I(inode)->phys_size) {
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ void hfs_delete_inode(struct inode *inode)
|
|||||||
{
|
{
|
||||||
struct super_block *sb = inode->i_sb;
|
struct super_block *sb = inode->i_sb;
|
||||||
|
|
||||||
hfs_dbg("ino %lu\n", inode->i_ino);
|
hfs_dbg("ino %llu\n", inode->i_ino);
|
||||||
if (S_ISDIR(inode->i_mode)) {
|
if (S_ISDIR(inode->i_mode)) {
|
||||||
atomic64_dec(&HFS_SB(sb)->folder_count);
|
atomic64_dec(&HFS_SB(sb)->folder_count);
|
||||||
if (HFS_I(inode)->cat_key.ParID == cpu_to_be32(HFS_ROOT_CNID))
|
if (HFS_I(inode)->cat_key.ParID == cpu_to_be32(HFS_ROOT_CNID))
|
||||||
@@ -455,7 +455,7 @@ int hfs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
|||||||
hfs_cat_rec rec;
|
hfs_cat_rec rec;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
hfs_dbg("ino %lu\n", inode->i_ino);
|
hfs_dbg("ino %llu\n", inode->i_ino);
|
||||||
res = hfs_ext_write_extent(inode);
|
res = hfs_ext_write_extent(inode);
|
||||||
if (res)
|
if (res)
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ int hfsplus_create_attr_nolock(struct inode *inode, const char *name,
|
|||||||
int entry_size;
|
int entry_size;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
hfs_dbg("name %s, ino %ld\n",
|
hfs_dbg("name %s, ino %llu\n",
|
||||||
name ? name : NULL, inode->i_ino);
|
name ? name : NULL, inode->i_ino);
|
||||||
|
|
||||||
if (name) {
|
if (name) {
|
||||||
@@ -255,7 +255,7 @@ int hfsplus_create_attr(struct inode *inode,
|
|||||||
hfsplus_attr_entry *entry_ptr;
|
hfsplus_attr_entry *entry_ptr;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
hfs_dbg("name %s, ino %ld\n",
|
hfs_dbg("name %s, ino %llu\n",
|
||||||
name ? name : NULL, inode->i_ino);
|
name ? name : NULL, inode->i_ino);
|
||||||
|
|
||||||
if (!HFSPLUS_SB(sb)->attr_tree) {
|
if (!HFSPLUS_SB(sb)->attr_tree) {
|
||||||
@@ -337,7 +337,7 @@ int hfsplus_delete_attr_nolock(struct inode *inode, const char *name,
|
|||||||
struct super_block *sb = inode->i_sb;
|
struct super_block *sb = inode->i_sb;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
hfs_dbg("name %s, ino %ld\n",
|
hfs_dbg("name %s, ino %llu\n",
|
||||||
name ? name : NULL, inode->i_ino);
|
name ? name : NULL, inode->i_ino);
|
||||||
|
|
||||||
if (name) {
|
if (name) {
|
||||||
@@ -367,7 +367,7 @@ int hfsplus_delete_attr(struct inode *inode, const char *name)
|
|||||||
struct super_block *sb = inode->i_sb;
|
struct super_block *sb = inode->i_sb;
|
||||||
struct hfs_find_data fd;
|
struct hfs_find_data fd;
|
||||||
|
|
||||||
hfs_dbg("name %s, ino %ld\n",
|
hfs_dbg("name %s, ino %llu\n",
|
||||||
name ? name : NULL, inode->i_ino);
|
name ? name : NULL, inode->i_ino);
|
||||||
|
|
||||||
if (!HFSPLUS_SB(sb)->attr_tree) {
|
if (!HFSPLUS_SB(sb)->attr_tree) {
|
||||||
@@ -436,7 +436,7 @@ int hfsplus_replace_attr(struct inode *inode,
|
|||||||
hfsplus_attr_entry *entry_ptr;
|
hfsplus_attr_entry *entry_ptr;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
hfs_dbg("name %s, ino %ld\n",
|
hfs_dbg("name %s, ino %llu\n",
|
||||||
name ? name : NULL, inode->i_ino);
|
name ? name : NULL, inode->i_ino);
|
||||||
|
|
||||||
if (!HFSPLUS_SB(sb)->attr_tree) {
|
if (!HFSPLUS_SB(sb)->attr_tree) {
|
||||||
|
|||||||
@@ -441,7 +441,7 @@ int hfsplus_rename_cat(u32 cnid,
|
|||||||
int entry_size, type;
|
int entry_size, type;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
hfs_dbg("cnid %u - ino %lu, name %s - ino %lu, name %s\n",
|
hfs_dbg("cnid %u - ino %llu, name %s - ino %llu, name %s\n",
|
||||||
cnid, src_dir->i_ino, src_name->name,
|
cnid, src_dir->i_ino, src_name->name,
|
||||||
dst_dir->i_ino, dst_name->name);
|
dst_dir->i_ino, dst_name->name);
|
||||||
err = hfs_find_init(HFSPLUS_SB(sb)->cat_tree, &src_fd);
|
err = hfs_find_init(HFSPLUS_SB(sb)->cat_tree, &src_fd);
|
||||||
|
|||||||
@@ -313,7 +313,7 @@ static int hfsplus_link(struct dentry *src_dentry, struct inode *dst_dir,
|
|||||||
if (!S_ISREG(inode->i_mode))
|
if (!S_ISREG(inode->i_mode))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
||||||
hfs_dbg("src_dir->i_ino %lu, dst_dir->i_ino %lu, inode->i_ino %lu\n",
|
hfs_dbg("src_dir->i_ino %llu, dst_dir->i_ino %llu, inode->i_ino %llu\n",
|
||||||
src_dir->i_ino, dst_dir->i_ino, inode->i_ino);
|
src_dir->i_ino, dst_dir->i_ino, inode->i_ino);
|
||||||
|
|
||||||
mutex_lock(&sbi->vh_mutex);
|
mutex_lock(&sbi->vh_mutex);
|
||||||
@@ -385,7 +385,7 @@ static int hfsplus_unlink(struct inode *dir, struct dentry *dentry)
|
|||||||
if (HFSPLUS_IS_RSRC(inode))
|
if (HFSPLUS_IS_RSRC(inode))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
||||||
hfs_dbg("dir->i_ino %lu, inode->i_ino %lu\n",
|
hfs_dbg("dir->i_ino %llu, inode->i_ino %llu\n",
|
||||||
dir->i_ino, inode->i_ino);
|
dir->i_ino, inode->i_ino);
|
||||||
|
|
||||||
mutex_lock(&sbi->vh_mutex);
|
mutex_lock(&sbi->vh_mutex);
|
||||||
@@ -393,7 +393,7 @@ static int hfsplus_unlink(struct inode *dir, struct dentry *dentry)
|
|||||||
if (inode->i_ino == cnid &&
|
if (inode->i_ino == cnid &&
|
||||||
atomic_read(&HFSPLUS_I(inode)->opencnt)) {
|
atomic_read(&HFSPLUS_I(inode)->opencnt)) {
|
||||||
str.name = name;
|
str.name = name;
|
||||||
str.len = sprintf(name, "temp%lu", inode->i_ino);
|
str.len = sprintf(name, "temp%llu", inode->i_ino);
|
||||||
res = hfsplus_rename_cat(inode->i_ino,
|
res = hfsplus_rename_cat(inode->i_ino,
|
||||||
dir, &dentry->d_name,
|
dir, &dentry->d_name,
|
||||||
sbi->hidden_dir, &str);
|
sbi->hidden_dir, &str);
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ int hfsplus_get_block(struct inode *inode, sector_t iblock,
|
|||||||
mutex_unlock(&hip->extents_lock);
|
mutex_unlock(&hip->extents_lock);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
hfs_dbg("ino %lu, iblock %llu - dblock %u\n",
|
hfs_dbg("ino %llu, iblock %llu - dblock %u\n",
|
||||||
inode->i_ino, (long long)iblock, dblock);
|
inode->i_ino, (long long)iblock, dblock);
|
||||||
|
|
||||||
mask = (1 << sbi->fs_shift) - 1;
|
mask = (1 << sbi->fs_shift) - 1;
|
||||||
@@ -476,7 +476,7 @@ int hfsplus_file_extend(struct inode *inode, bool zeroout)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
hfs_dbg("ino %lu, start %u, len %u\n", inode->i_ino, start, len);
|
hfs_dbg("ino %llu, start %u, len %u\n", inode->i_ino, start, len);
|
||||||
|
|
||||||
if (hip->alloc_blocks <= hip->first_blocks) {
|
if (hip->alloc_blocks <= hip->first_blocks) {
|
||||||
if (!hip->first_blocks) {
|
if (!hip->first_blocks) {
|
||||||
@@ -545,7 +545,7 @@ void hfsplus_file_truncate(struct inode *inode)
|
|||||||
u32 alloc_cnt, blk_cnt, start;
|
u32 alloc_cnt, blk_cnt, start;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
hfs_dbg("ino %lu, phys_size %llu -> i_size %llu\n",
|
hfs_dbg("ino %llu, phys_size %llu -> i_size %llu\n",
|
||||||
inode->i_ino, (long long)hip->phys_size, inode->i_size);
|
inode->i_ino, (long long)hip->phys_size, inode->i_size);
|
||||||
|
|
||||||
if (inode->i_size > hip->phys_size) {
|
if (inode->i_size > hip->phys_size) {
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ static int hfsplus_get_perms(struct inode *inode,
|
|||||||
inode->i_flags &= ~S_APPEND;
|
inode->i_flags &= ~S_APPEND;
|
||||||
return 0;
|
return 0;
|
||||||
bad_type:
|
bad_type:
|
||||||
pr_err("invalid file type 0%04o for inode %lu\n", mode, inode->i_ino);
|
pr_err("invalid file type 0%04o for inode %llu\n", mode, inode->i_ino);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -328,7 +328,7 @@ int hfsplus_file_fsync(struct file *file, loff_t start, loff_t end,
|
|||||||
struct hfsplus_vh *vhdr = sbi->s_vhdr;
|
struct hfsplus_vh *vhdr = sbi->s_vhdr;
|
||||||
int error = 0, error2;
|
int error = 0, error2;
|
||||||
|
|
||||||
hfs_dbg("inode->i_ino %lu, start %llu, end %llu\n",
|
hfs_dbg("inode->i_ino %llu, start %llu, end %llu\n",
|
||||||
inode->i_ino, start, end);
|
inode->i_ino, start, end);
|
||||||
|
|
||||||
error = file_write_and_wait_range(file, start, end);
|
error = file_write_and_wait_range(file, start, end);
|
||||||
@@ -639,7 +639,7 @@ int hfsplus_cat_write_inode(struct inode *inode)
|
|||||||
hfsplus_cat_entry entry;
|
hfsplus_cat_entry entry;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
|
|
||||||
hfs_dbg("inode->i_ino %lu\n", inode->i_ino);
|
hfs_dbg("inode->i_ino %llu\n", inode->i_ino);
|
||||||
|
|
||||||
if (HFSPLUS_IS_RSRC(inode))
|
if (HFSPLUS_IS_RSRC(inode))
|
||||||
main_inode = HFSPLUS_I(inode)->rsrc_inode;
|
main_inode = HFSPLUS_I(inode)->rsrc_inode;
|
||||||
@@ -716,7 +716,7 @@ out:
|
|||||||
if (!res) {
|
if (!res) {
|
||||||
res = hfs_btree_write(tree);
|
res = hfs_btree_write(tree);
|
||||||
if (res) {
|
if (res) {
|
||||||
pr_err("b-tree write err: %d, ino %lu\n",
|
pr_err("b-tree write err: %d, ino %llu\n",
|
||||||
res, inode->i_ino);
|
res, inode->i_ino);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ static int hfsplus_system_write_inode(struct inode *inode)
|
|||||||
int err = hfs_btree_write(tree);
|
int err = hfs_btree_write(tree);
|
||||||
|
|
||||||
if (err) {
|
if (err) {
|
||||||
pr_err("b-tree write err: %d, ino %lu\n",
|
pr_err("b-tree write err: %d, ino %llu\n",
|
||||||
err, inode->i_ino);
|
err, inode->i_ino);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@@ -169,7 +169,7 @@ static int hfsplus_write_inode(struct inode *inode,
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
hfs_dbg("ino %lu\n", inode->i_ino);
|
hfs_dbg("ino %llu\n", inode->i_ino);
|
||||||
|
|
||||||
err = hfsplus_ext_write_extent(inode);
|
err = hfsplus_ext_write_extent(inode);
|
||||||
if (err)
|
if (err)
|
||||||
@@ -184,7 +184,7 @@ static int hfsplus_write_inode(struct inode *inode,
|
|||||||
|
|
||||||
static void hfsplus_evict_inode(struct inode *inode)
|
static void hfsplus_evict_inode(struct inode *inode)
|
||||||
{
|
{
|
||||||
hfs_dbg("ino %lu\n", inode->i_ino);
|
hfs_dbg("ino %llu\n", inode->i_ino);
|
||||||
truncate_inode_pages_final(&inode->i_data);
|
truncate_inode_pages_final(&inode->i_data);
|
||||||
clear_inode(inode);
|
clear_inode(inode);
|
||||||
if (HFSPLUS_IS_RSRC(inode)) {
|
if (HFSPLUS_IS_RSRC(inode)) {
|
||||||
|
|||||||
@@ -277,7 +277,7 @@ int __hfsplus_setxattr(struct inode *inode, const char *name,
|
|||||||
u16 folder_finderinfo_len = sizeof(DInfo) + sizeof(DXInfo);
|
u16 folder_finderinfo_len = sizeof(DInfo) + sizeof(DXInfo);
|
||||||
u16 file_finderinfo_len = sizeof(FInfo) + sizeof(FXInfo);
|
u16 file_finderinfo_len = sizeof(FInfo) + sizeof(FXInfo);
|
||||||
|
|
||||||
hfs_dbg("ino %lu, name %s, value %p, size %zu\n",
|
hfs_dbg("ino %llu, name %s, value %p, size %zu\n",
|
||||||
inode->i_ino, name ? name : NULL,
|
inode->i_ino, name ? name : NULL,
|
||||||
value, size);
|
value, size);
|
||||||
|
|
||||||
@@ -447,7 +447,7 @@ int hfsplus_setxattr(struct inode *inode, const char *name,
|
|||||||
NLS_MAX_CHARSET_SIZE * HFSPLUS_ATTR_MAX_STRLEN + 1;
|
NLS_MAX_CHARSET_SIZE * HFSPLUS_ATTR_MAX_STRLEN + 1;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
hfs_dbg("ino %lu, name %s, prefix %s, prefixlen %zu, "
|
hfs_dbg("ino %llu, name %s, prefix %s, prefixlen %zu, "
|
||||||
"value %p, size %zu\n",
|
"value %p, size %zu\n",
|
||||||
inode->i_ino, name ? name : NULL,
|
inode->i_ino, name ? name : NULL,
|
||||||
prefix ? prefix : NULL, prefixlen,
|
prefix ? prefix : NULL, prefixlen,
|
||||||
@@ -607,7 +607,7 @@ ssize_t hfsplus_getxattr(struct inode *inode, const char *name,
|
|||||||
int res;
|
int res;
|
||||||
char *xattr_name;
|
char *xattr_name;
|
||||||
|
|
||||||
hfs_dbg("ino %lu, name %s, prefix %s\n",
|
hfs_dbg("ino %llu, name %s, prefix %s\n",
|
||||||
inode->i_ino, name ? name : NULL,
|
inode->i_ino, name ? name : NULL,
|
||||||
prefix ? prefix : NULL);
|
prefix ? prefix : NULL);
|
||||||
|
|
||||||
@@ -717,7 +717,7 @@ ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size)
|
|||||||
size_t strbuf_size;
|
size_t strbuf_size;
|
||||||
int xattr_name_len;
|
int xattr_name_len;
|
||||||
|
|
||||||
hfs_dbg("ino %lu\n", inode->i_ino);
|
hfs_dbg("ino %llu\n", inode->i_ino);
|
||||||
|
|
||||||
if (!is_xattr_operation_supported(inode))
|
if (!is_xattr_operation_supported(inode))
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
@@ -819,7 +819,7 @@ static int hfsplus_removexattr(struct inode *inode, const char *name)
|
|||||||
int is_xattr_acl_deleted;
|
int is_xattr_acl_deleted;
|
||||||
int is_all_xattrs_deleted;
|
int is_all_xattrs_deleted;
|
||||||
|
|
||||||
hfs_dbg("ino %lu, name %s\n",
|
hfs_dbg("ino %llu, name %s\n",
|
||||||
inode->i_ino, name ? name : NULL);
|
inode->i_ino, name ? name : NULL);
|
||||||
|
|
||||||
if (!HFSPLUS_SB(inode->i_sb)->attr_tree)
|
if (!HFSPLUS_SB(inode->i_sb)->attr_tree)
|
||||||
|
|||||||
@@ -96,8 +96,8 @@ static int hpfs_readdir(struct file *file, struct dir_context *ctx)
|
|||||||
}
|
}
|
||||||
if (!fnode_is_dir(fno)) {
|
if (!fnode_is_dir(fno)) {
|
||||||
e = 1;
|
e = 1;
|
||||||
hpfs_error(inode->i_sb, "not a directory, fnode %08lx",
|
hpfs_error(inode->i_sb, "not a directory, fnode %08llx",
|
||||||
(unsigned long)inode->i_ino);
|
inode->i_ino);
|
||||||
}
|
}
|
||||||
if (hpfs_inode->i_dno != le32_to_cpu(fno->u.external[0].disk_secno)) {
|
if (hpfs_inode->i_dno != le32_to_cpu(fno->u.external[0].disk_secno)) {
|
||||||
e = 1;
|
e = 1;
|
||||||
|
|||||||
@@ -550,9 +550,9 @@ static void delete_empty_dnode(struct inode *i, dnode_secno dno)
|
|||||||
if (hpfs_sb(i->i_sb)->sb_chk)
|
if (hpfs_sb(i->i_sb)->sb_chk)
|
||||||
if (up != i->i_ino) {
|
if (up != i->i_ino) {
|
||||||
hpfs_error(i->i_sb,
|
hpfs_error(i->i_sb,
|
||||||
"bad pointer to fnode, dnode %08x, pointing to %08x, should be %08lx",
|
"bad pointer to fnode, dnode %08x, pointing to %08x, should be %08llx",
|
||||||
dno, up,
|
dno, up,
|
||||||
(unsigned long)i->i_ino);
|
i->i_ino);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((d1 = hpfs_map_dnode(i->i_sb, down, &qbh1))) {
|
if ((d1 = hpfs_map_dnode(i->i_sb, down, &qbh1))) {
|
||||||
|
|||||||
@@ -245,8 +245,8 @@ void hpfs_set_ea(struct inode *inode, struct fnode *fnode, const char *key,
|
|||||||
fnode->ea_offs = cpu_to_le16(0xc4);
|
fnode->ea_offs = cpu_to_le16(0xc4);
|
||||||
}
|
}
|
||||||
if (le16_to_cpu(fnode->ea_offs) < 0xc4 || le16_to_cpu(fnode->ea_offs) + le16_to_cpu(fnode->acl_size_s) + le16_to_cpu(fnode->ea_size_s) > 0x200) {
|
if (le16_to_cpu(fnode->ea_offs) < 0xc4 || le16_to_cpu(fnode->ea_offs) + le16_to_cpu(fnode->acl_size_s) + le16_to_cpu(fnode->ea_size_s) > 0x200) {
|
||||||
hpfs_error(s, "fnode %08lx: ea_offs == %03x, ea_size_s == %03x",
|
hpfs_error(s, "fnode %08llx: ea_offs == %03x, ea_size_s == %03x",
|
||||||
(unsigned long)inode->i_ino,
|
inode->i_ino,
|
||||||
le16_to_cpu(fnode->ea_offs), le16_to_cpu(fnode->ea_size_s));
|
le16_to_cpu(fnode->ea_offs), le16_to_cpu(fnode->ea_size_s));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -250,8 +250,8 @@ void hpfs_write_inode_nolock(struct inode *i)
|
|||||||
hpfs_brelse4(&qbh);
|
hpfs_brelse4(&qbh);
|
||||||
} else
|
} else
|
||||||
hpfs_error(i->i_sb,
|
hpfs_error(i->i_sb,
|
||||||
"directory %08lx doesn't have '.' entry",
|
"directory %08llx doesn't have '.' entry",
|
||||||
(unsigned long)i->i_ino);
|
i->i_ino);
|
||||||
}
|
}
|
||||||
mark_buffer_dirty(bh);
|
mark_buffer_dirty(bh);
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
|
|||||||
49
fs/inode.c
49
fs/inode.c
@@ -672,7 +672,7 @@ static inline void inode_sb_list_del(struct inode *inode)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long hash(struct super_block *sb, unsigned long hashval)
|
static unsigned long hash(struct super_block *sb, u64 hashval)
|
||||||
{
|
{
|
||||||
unsigned long tmp;
|
unsigned long tmp;
|
||||||
|
|
||||||
@@ -685,12 +685,12 @@ static unsigned long hash(struct super_block *sb, unsigned long hashval)
|
|||||||
/**
|
/**
|
||||||
* __insert_inode_hash - hash an inode
|
* __insert_inode_hash - hash an inode
|
||||||
* @inode: unhashed inode
|
* @inode: unhashed inode
|
||||||
* @hashval: unsigned long value used to locate this object in the
|
* @hashval: u64 value used to locate this object in the
|
||||||
* inode_hashtable.
|
* inode_hashtable.
|
||||||
*
|
*
|
||||||
* Add an inode to the inode hash for this superblock.
|
* Add an inode to the inode hash for this superblock.
|
||||||
*/
|
*/
|
||||||
void __insert_inode_hash(struct inode *inode, unsigned long hashval)
|
void __insert_inode_hash(struct inode *inode, u64 hashval)
|
||||||
{
|
{
|
||||||
struct hlist_head *b = inode_hashtable + hash(inode->i_sb, hashval);
|
struct hlist_head *b = inode_hashtable + hash(inode->i_sb, hashval);
|
||||||
|
|
||||||
@@ -726,7 +726,7 @@ void dump_mapping(const struct address_space *mapping)
|
|||||||
struct dentry *dentry_ptr;
|
struct dentry *dentry_ptr;
|
||||||
struct dentry dentry;
|
struct dentry dentry;
|
||||||
char fname[64] = {};
|
char fname[64] = {};
|
||||||
unsigned long ino;
|
u64 ino;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If mapping is an invalid pointer, we don't want to crash
|
* If mapping is an invalid pointer, we don't want to crash
|
||||||
@@ -750,14 +750,14 @@ void dump_mapping(const struct address_space *mapping)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!dentry_first) {
|
if (!dentry_first) {
|
||||||
pr_warn("aops:%ps ino:%lx\n", a_ops, ino);
|
pr_warn("aops:%ps ino:%llx\n", a_ops, ino);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
dentry_ptr = container_of(dentry_first, struct dentry, d_u.d_alias);
|
dentry_ptr = container_of(dentry_first, struct dentry, d_u.d_alias);
|
||||||
if (get_kernel_nofault(dentry, dentry_ptr) ||
|
if (get_kernel_nofault(dentry, dentry_ptr) ||
|
||||||
!dentry.d_parent || !dentry.d_name.name) {
|
!dentry.d_parent || !dentry.d_name.name) {
|
||||||
pr_warn("aops:%ps ino:%lx invalid dentry:%px\n",
|
pr_warn("aops:%ps ino:%llx invalid dentry:%px\n",
|
||||||
a_ops, ino, dentry_ptr);
|
a_ops, ino, dentry_ptr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -768,7 +768,7 @@ void dump_mapping(const struct address_space *mapping)
|
|||||||
* Even if strncpy_from_kernel_nofault() succeeded,
|
* Even if strncpy_from_kernel_nofault() succeeded,
|
||||||
* the fname could be unreliable
|
* the fname could be unreliable
|
||||||
*/
|
*/
|
||||||
pr_warn("aops:%ps ino:%lx dentry name(?):\"%s\"\n",
|
pr_warn("aops:%ps ino:%llx dentry name(?):\"%s\"\n",
|
||||||
a_ops, ino, fname);
|
a_ops, ino, fname);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1087,7 +1087,7 @@ repeat:
|
|||||||
* iget_locked for details.
|
* iget_locked for details.
|
||||||
*/
|
*/
|
||||||
static struct inode *find_inode_fast(struct super_block *sb,
|
static struct inode *find_inode_fast(struct super_block *sb,
|
||||||
struct hlist_head *head, unsigned long ino,
|
struct hlist_head *head, u64 ino,
|
||||||
bool hash_locked, bool *isnew)
|
bool hash_locked, bool *isnew)
|
||||||
{
|
{
|
||||||
struct inode *inode = NULL;
|
struct inode *inode = NULL;
|
||||||
@@ -1301,7 +1301,7 @@ EXPORT_SYMBOL(unlock_two_nondirectories);
|
|||||||
* Note that both @test and @set are called with the inode_hash_lock held, so
|
* Note that both @test and @set are called with the inode_hash_lock held, so
|
||||||
* they can't sleep.
|
* they can't sleep.
|
||||||
*/
|
*/
|
||||||
struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
|
struct inode *inode_insert5(struct inode *inode, u64 hashval,
|
||||||
int (*test)(struct inode *, void *),
|
int (*test)(struct inode *, void *),
|
||||||
int (*set)(struct inode *, void *), void *data)
|
int (*set)(struct inode *, void *), void *data)
|
||||||
{
|
{
|
||||||
@@ -1378,7 +1378,7 @@ EXPORT_SYMBOL(inode_insert5);
|
|||||||
* Note that both @test and @set are called with the inode_hash_lock held, so
|
* Note that both @test and @set are called with the inode_hash_lock held, so
|
||||||
* they can't sleep.
|
* they can't sleep.
|
||||||
*/
|
*/
|
||||||
struct inode *iget5_locked(struct super_block *sb, unsigned long hashval,
|
struct inode *iget5_locked(struct super_block *sb, u64 hashval,
|
||||||
int (*test)(struct inode *, void *),
|
int (*test)(struct inode *, void *),
|
||||||
int (*set)(struct inode *, void *), void *data)
|
int (*set)(struct inode *, void *), void *data)
|
||||||
{
|
{
|
||||||
@@ -1408,7 +1408,7 @@ EXPORT_SYMBOL(iget5_locked);
|
|||||||
* This is equivalent to iget5_locked, except the @test callback must
|
* This is equivalent to iget5_locked, except the @test callback must
|
||||||
* tolerate the inode not being stable, including being mid-teardown.
|
* tolerate the inode not being stable, including being mid-teardown.
|
||||||
*/
|
*/
|
||||||
struct inode *iget5_locked_rcu(struct super_block *sb, unsigned long hashval,
|
struct inode *iget5_locked_rcu(struct super_block *sb, u64 hashval,
|
||||||
int (*test)(struct inode *, void *),
|
int (*test)(struct inode *, void *),
|
||||||
int (*set)(struct inode *, void *), void *data)
|
int (*set)(struct inode *, void *), void *data)
|
||||||
{
|
{
|
||||||
@@ -1455,7 +1455,7 @@ EXPORT_SYMBOL_GPL(iget5_locked_rcu);
|
|||||||
* hashed, and with the I_NEW flag set. The file system gets to fill it in
|
* hashed, and with the I_NEW flag set. The file system gets to fill it in
|
||||||
* before unlocking it via unlock_new_inode().
|
* before unlocking it via unlock_new_inode().
|
||||||
*/
|
*/
|
||||||
struct inode *iget_locked(struct super_block *sb, unsigned long ino)
|
struct inode *iget_locked(struct super_block *sb, u64 ino)
|
||||||
{
|
{
|
||||||
struct hlist_head *head = inode_hashtable + hash(sb, ino);
|
struct hlist_head *head = inode_hashtable + hash(sb, ino);
|
||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
@@ -1527,7 +1527,7 @@ EXPORT_SYMBOL(iget_locked);
|
|||||||
*
|
*
|
||||||
* Returns 1 if the inode number is unique, 0 if it is not.
|
* Returns 1 if the inode number is unique, 0 if it is not.
|
||||||
*/
|
*/
|
||||||
static int test_inode_iunique(struct super_block *sb, unsigned long ino)
|
static int test_inode_iunique(struct super_block *sb, u64 ino)
|
||||||
{
|
{
|
||||||
struct hlist_head *b = inode_hashtable + hash(sb, ino);
|
struct hlist_head *b = inode_hashtable + hash(sb, ino);
|
||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
@@ -1616,7 +1616,7 @@ EXPORT_SYMBOL(igrab);
|
|||||||
*
|
*
|
||||||
* Note2: @test is called with the inode_hash_lock held, so can't sleep.
|
* Note2: @test is called with the inode_hash_lock held, so can't sleep.
|
||||||
*/
|
*/
|
||||||
struct inode *ilookup5_nowait(struct super_block *sb, unsigned long hashval,
|
struct inode *ilookup5_nowait(struct super_block *sb, u64 hashval,
|
||||||
int (*test)(struct inode *, void *), void *data, bool *isnew)
|
int (*test)(struct inode *, void *), void *data, bool *isnew)
|
||||||
{
|
{
|
||||||
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
|
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
|
||||||
@@ -1647,7 +1647,7 @@ EXPORT_SYMBOL(ilookup5_nowait);
|
|||||||
*
|
*
|
||||||
* Note: @test is called with the inode_hash_lock held, so can't sleep.
|
* Note: @test is called with the inode_hash_lock held, so can't sleep.
|
||||||
*/
|
*/
|
||||||
struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
|
struct inode *ilookup5(struct super_block *sb, u64 hashval,
|
||||||
int (*test)(struct inode *, void *), void *data)
|
int (*test)(struct inode *, void *), void *data)
|
||||||
{
|
{
|
||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
@@ -1677,7 +1677,7 @@ EXPORT_SYMBOL(ilookup5);
|
|||||||
* Search for the inode @ino in the inode cache, and if the inode is in the
|
* Search for the inode @ino in the inode cache, and if the inode is in the
|
||||||
* cache, the inode is returned with an incremented reference count.
|
* cache, the inode is returned with an incremented reference count.
|
||||||
*/
|
*/
|
||||||
struct inode *ilookup(struct super_block *sb, unsigned long ino)
|
struct inode *ilookup(struct super_block *sb, u64 ino)
|
||||||
{
|
{
|
||||||
struct hlist_head *head = inode_hashtable + hash(sb, ino);
|
struct hlist_head *head = inode_hashtable + hash(sb, ino);
|
||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
@@ -1726,8 +1726,8 @@ EXPORT_SYMBOL(ilookup);
|
|||||||
* very carefully implemented.
|
* very carefully implemented.
|
||||||
*/
|
*/
|
||||||
struct inode *find_inode_nowait(struct super_block *sb,
|
struct inode *find_inode_nowait(struct super_block *sb,
|
||||||
unsigned long hashval,
|
u64 hashval,
|
||||||
int (*match)(struct inode *, unsigned long,
|
int (*match)(struct inode *, u64,
|
||||||
void *),
|
void *),
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
@@ -1773,7 +1773,7 @@ EXPORT_SYMBOL(find_inode_nowait);
|
|||||||
*
|
*
|
||||||
* The caller must hold the RCU read lock.
|
* The caller must hold the RCU read lock.
|
||||||
*/
|
*/
|
||||||
struct inode *find_inode_rcu(struct super_block *sb, unsigned long hashval,
|
struct inode *find_inode_rcu(struct super_block *sb, u64 hashval,
|
||||||
int (*test)(struct inode *, void *), void *data)
|
int (*test)(struct inode *, void *), void *data)
|
||||||
{
|
{
|
||||||
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
|
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
|
||||||
@@ -1812,7 +1812,7 @@ EXPORT_SYMBOL(find_inode_rcu);
|
|||||||
* The caller must hold the RCU read lock.
|
* The caller must hold the RCU read lock.
|
||||||
*/
|
*/
|
||||||
struct inode *find_inode_by_ino_rcu(struct super_block *sb,
|
struct inode *find_inode_by_ino_rcu(struct super_block *sb,
|
||||||
unsigned long ino)
|
u64 ino)
|
||||||
{
|
{
|
||||||
struct hlist_head *head = inode_hashtable + hash(sb, ino);
|
struct hlist_head *head = inode_hashtable + hash(sb, ino);
|
||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
@@ -1833,7 +1833,7 @@ EXPORT_SYMBOL(find_inode_by_ino_rcu);
|
|||||||
int insert_inode_locked(struct inode *inode)
|
int insert_inode_locked(struct inode *inode)
|
||||||
{
|
{
|
||||||
struct super_block *sb = inode->i_sb;
|
struct super_block *sb = inode->i_sb;
|
||||||
ino_t ino = inode->i_ino;
|
u64 ino = inode->i_ino;
|
||||||
struct hlist_head *head = inode_hashtable + hash(sb, ino);
|
struct hlist_head *head = inode_hashtable + hash(sb, ino);
|
||||||
bool isnew;
|
bool isnew;
|
||||||
|
|
||||||
@@ -1884,7 +1884,7 @@ repeat:
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(insert_inode_locked);
|
EXPORT_SYMBOL(insert_inode_locked);
|
||||||
|
|
||||||
int insert_inode_locked4(struct inode *inode, unsigned long hashval,
|
int insert_inode_locked4(struct inode *inode, u64 hashval,
|
||||||
int (*test)(struct inode *, void *), void *data)
|
int (*test)(struct inode *, void *), void *data)
|
||||||
{
|
{
|
||||||
struct inode *old;
|
struct inode *old;
|
||||||
@@ -2641,9 +2641,8 @@ void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev)
|
|||||||
/* leave it no_open_fops */
|
/* leave it no_open_fops */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printk(KERN_DEBUG "init_special_inode: bogus i_mode (%o) for"
|
pr_debug("init_special_inode: bogus i_mode (%o) for inode %s:%llu\n",
|
||||||
" inode %s:%lu\n", mode, inode->i_sb->s_id,
|
mode, inode->i_sb->s_id, inode->i_ino);
|
||||||
inode->i_ino);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ static u32 iomap_finish_ioend_buffered_write(struct iomap_ioend *ioend)
|
|||||||
mapping_set_error(inode->i_mapping, ioend->io_error);
|
mapping_set_error(inode->i_mapping, ioend->io_error);
|
||||||
if (!bio_flagged(bio, BIO_QUIET)) {
|
if (!bio_flagged(bio, BIO_QUIET)) {
|
||||||
pr_err_ratelimited(
|
pr_err_ratelimited(
|
||||||
"%s: writeback error on inode %lu, offset %lld, sector %llu",
|
"%s: writeback error on inode %llu, offset %lld, sector %llu",
|
||||||
inode->i_sb->s_id, inode->i_ino,
|
inode->i_sb->s_id, inode->i_ino,
|
||||||
ioend->io_offset, ioend->io_sector);
|
ioend->io_offset, ioend->io_sector);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ TRACE_EVENT(iomap_dio_rw_begin,
|
|||||||
TP_ARGS(iocb, iter, dio_flags, done_before),
|
TP_ARGS(iocb, iter, dio_flags, done_before),
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(dev_t, dev)
|
__field(dev_t, dev)
|
||||||
__field(ino_t, ino)
|
__field(u64, ino)
|
||||||
__field(loff_t, isize)
|
__field(loff_t, isize)
|
||||||
__field(loff_t, pos)
|
__field(loff_t, pos)
|
||||||
__field(size_t, count)
|
__field(size_t, count)
|
||||||
@@ -277,7 +277,7 @@ TRACE_EVENT(iomap_dio_rw_begin,
|
|||||||
__entry->dio_flags = dio_flags;
|
__entry->dio_flags = dio_flags;
|
||||||
__entry->aio = !is_sync_kiocb(iocb);
|
__entry->aio = !is_sync_kiocb(iocb);
|
||||||
),
|
),
|
||||||
TP_printk("dev %d:%d ino 0x%lx size 0x%llx offset 0x%llx length 0x%zx done_before 0x%zx flags %s dio_flags %s aio %d",
|
TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset 0x%llx length 0x%zx done_before 0x%zx flags %s dio_flags %s aio %d",
|
||||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||||
__entry->ino,
|
__entry->ino,
|
||||||
__entry->isize,
|
__entry->isize,
|
||||||
@@ -294,7 +294,7 @@ TRACE_EVENT(iomap_dio_complete,
|
|||||||
TP_ARGS(iocb, error, ret),
|
TP_ARGS(iocb, error, ret),
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(dev_t, dev)
|
__field(dev_t, dev)
|
||||||
__field(ino_t, ino)
|
__field(u64, ino)
|
||||||
__field(loff_t, isize)
|
__field(loff_t, isize)
|
||||||
__field(loff_t, pos)
|
__field(loff_t, pos)
|
||||||
__field(int, ki_flags)
|
__field(int, ki_flags)
|
||||||
@@ -312,7 +312,7 @@ TRACE_EVENT(iomap_dio_complete,
|
|||||||
__entry->error = error;
|
__entry->error = error;
|
||||||
__entry->ret = ret;
|
__entry->ret = ret;
|
||||||
),
|
),
|
||||||
TP_printk("dev %d:%d ino 0x%lx size 0x%llx offset 0x%llx flags %s aio %d error %d ret %zd",
|
TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset 0x%llx flags %s aio %d error %d ret %zd",
|
||||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||||
__entry->ino,
|
__entry->ino,
|
||||||
__entry->isize,
|
__entry->isize,
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ static loff_t zisofs_uncompress_block(struct inode *inode, loff_t block_start,
|
|||||||
else {
|
else {
|
||||||
printk(KERN_DEBUG
|
printk(KERN_DEBUG
|
||||||
"zisofs: zisofs_inflate returned"
|
"zisofs: zisofs_inflate returned"
|
||||||
" %d, inode = %lu,"
|
" %d, inode = %llu,"
|
||||||
" page idx = %d, bh idx = %d,"
|
" page idx = %d, bh idx = %d,"
|
||||||
" avail_in = %ld,"
|
" avail_in = %ld,"
|
||||||
" avail_out = %ld\n",
|
" avail_out = %ld\n",
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ static int do_isofs_readdir(struct inode *inode, struct file *file,
|
|||||||
de_len < de->name_len[0] +
|
de_len < de->name_len[0] +
|
||||||
sizeof(struct iso_directory_record)) {
|
sizeof(struct iso_directory_record)) {
|
||||||
printk(KERN_NOTICE "iso9660: Corrupted directory entry"
|
printk(KERN_NOTICE "iso9660: Corrupted directory entry"
|
||||||
" in block %lu of inode %lu\n", block,
|
" in block %lu of inode %llu\n", block,
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|||||||
@@ -1261,7 +1261,7 @@ out_noread:
|
|||||||
|
|
||||||
out_toomany:
|
out_toomany:
|
||||||
printk(KERN_INFO "%s: More than 100 file sections ?!?, aborting...\n"
|
printk(KERN_INFO "%s: More than 100 file sections ?!?, aborting...\n"
|
||||||
"isofs_read_level3_size: inode=%lu\n",
|
"isofs_read_level3_size: inode=%llu\n",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@@ -1380,7 +1380,7 @@ static int isofs_read_inode(struct inode *inode, int relocated)
|
|||||||
/* I have no idea what file_unit_size is used for, so
|
/* I have no idea what file_unit_size is used for, so
|
||||||
we will flag it for now */
|
we will flag it for now */
|
||||||
if (de->file_unit_size[0] != 0) {
|
if (de->file_unit_size[0] != 0) {
|
||||||
printk(KERN_DEBUG "ISOFS: File unit size != 0 for ISO file (%ld).\n",
|
printk(KERN_DEBUG "ISOFS: File unit size != 0 for ISO file (%llu).\n",
|
||||||
inode->i_ino);
|
inode->i_ino);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1389,7 +1389,7 @@ static int isofs_read_inode(struct inode *inode, int relocated)
|
|||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if((de->flags[-high_sierra] & ~2)!= 0){
|
if((de->flags[-high_sierra] & ~2)!= 0){
|
||||||
printk(KERN_DEBUG "ISOFS: Unusual flag settings for ISO file "
|
printk(KERN_DEBUG "ISOFS: Unusual flag settings for ISO file "
|
||||||
"(%ld %x).\n",
|
"(%llu %x).\n",
|
||||||
inode->i_ino, de->flags[-high_sierra]);
|
inode->i_ino, de->flags[-high_sierra]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -1450,7 +1450,7 @@ static int isofs_read_inode(struct inode *inode, int relocated)
|
|||||||
/* XXX - parse_rock_ridge_inode() had already set i_rdev. */
|
/* XXX - parse_rock_ridge_inode() had already set i_rdev. */
|
||||||
init_special_inode(inode, inode->i_mode, inode->i_rdev);
|
init_special_inode(inode, inode->i_mode, inode->i_rdev);
|
||||||
} else {
|
} else {
|
||||||
printk(KERN_DEBUG "ISOFS: Invalid file type 0%04o for inode %lu.\n",
|
printk(KERN_DEBUG "ISOFS: Invalid file type 0%04o for inode %llu.\n",
|
||||||
inode->i_mode, inode->i_ino);
|
inode->i_mode, inode->i_ino);
|
||||||
ret = -EIO;
|
ret = -EIO;
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ isofs_find_entry(struct inode *dir, struct dentry *dentry,
|
|||||||
/* Basic sanity check, whether name doesn't exceed dir entry */
|
/* Basic sanity check, whether name doesn't exceed dir entry */
|
||||||
if (de_len < dlen + sizeof(struct iso_directory_record)) {
|
if (de_len < dlen + sizeof(struct iso_directory_record)) {
|
||||||
printk(KERN_NOTICE "iso9660: Corrupted directory entry"
|
printk(KERN_NOTICE "iso9660: Corrupted directory entry"
|
||||||
" in block %lu of inode %lu\n", block,
|
" in block %lu of inode %llu\n", block,
|
||||||
dir->i_ino);
|
dir->i_ino);
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -1677,7 +1677,7 @@ journal_t *jbd2_journal_init_inode(struct inode *inode)
|
|||||||
return err ? ERR_PTR(err) : ERR_PTR(-EINVAL);
|
return err ? ERR_PTR(err) : ERR_PTR(-EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
jbd2_debug(1, "JBD2: inode %s/%ld, size %lld, bits %d, blksize %ld\n",
|
jbd2_debug(1, "JBD2: inode %s/%llu, size %lld, bits %d, blksize %ld\n",
|
||||||
inode->i_sb->s_id, inode->i_ino, (long long) inode->i_size,
|
inode->i_sb->s_id, inode->i_ino, (long long) inode->i_size,
|
||||||
inode->i_sb->s_blocksize_bits, inode->i_sb->s_blocksize);
|
inode->i_sb->s_blocksize_bits, inode->i_sb->s_blocksize);
|
||||||
|
|
||||||
@@ -1689,7 +1689,7 @@ journal_t *jbd2_journal_init_inode(struct inode *inode)
|
|||||||
|
|
||||||
journal->j_inode = inode;
|
journal->j_inode = inode;
|
||||||
snprintf(journal->j_devname, sizeof(journal->j_devname),
|
snprintf(journal->j_devname, sizeof(journal->j_devname),
|
||||||
"%pg-%lu", journal->j_dev, journal->j_inode->i_ino);
|
"%pg-%llu", journal->j_dev, journal->j_inode->i_ino);
|
||||||
strreplace(journal->j_devname, '/', '!');
|
strreplace(journal->j_devname, '/', '!');
|
||||||
jbd2_stats_proc_init(journal);
|
jbd2_stats_proc_init(journal);
|
||||||
|
|
||||||
|
|||||||
@@ -2651,7 +2651,7 @@ static int jbd2_journal_file_inode(handle_t *handle, struct jbd2_inode *jinode,
|
|||||||
return -EROFS;
|
return -EROFS;
|
||||||
journal = transaction->t_journal;
|
journal = transaction->t_journal;
|
||||||
|
|
||||||
jbd2_debug(4, "Adding inode %lu, tid:%d\n", jinode->i_vfs_inode->i_ino,
|
jbd2_debug(4, "Adding inode %llu, tid:%d\n", jinode->i_vfs_inode->i_ino,
|
||||||
transaction->t_tid);
|
transaction->t_tid);
|
||||||
|
|
||||||
spin_lock(&journal->j_list_lock);
|
spin_lock(&journal->j_list_lock);
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ static int jffs2_readdir(struct file *file, struct dir_context *ctx)
|
|||||||
struct jffs2_full_dirent *fd;
|
struct jffs2_full_dirent *fd;
|
||||||
unsigned long curofs = 1;
|
unsigned long curofs = 1;
|
||||||
|
|
||||||
jffs2_dbg(1, "jffs2_readdir() for dir_i #%lu\n", inode->i_ino);
|
jffs2_dbg(1, "jffs2_readdir() for dir_i #%llu\n", inode->i_ino);
|
||||||
|
|
||||||
if (!dir_emit_dots(file, ctx))
|
if (!dir_emit_dots(file, ctx))
|
||||||
return 0;
|
return 0;
|
||||||
@@ -211,7 +211,7 @@ static int jffs2_create(struct mnt_idmap *idmap, struct inode *dir_i,
|
|||||||
|
|
||||||
jffs2_free_raw_inode(ri);
|
jffs2_free_raw_inode(ri);
|
||||||
|
|
||||||
jffs2_dbg(1, "%s(): Created ino #%lu with mode %o, nlink %d(%d). nrpages %ld\n",
|
jffs2_dbg(1, "%s(): Created ino #%llu with mode %o, nlink %d(%d). nrpages %ld\n",
|
||||||
__func__, inode->i_ino, inode->i_mode, inode->i_nlink,
|
__func__, inode->i_ino, inode->i_mode, inode->i_nlink,
|
||||||
f->inocache->pino_nlink, inode->i_mapping->nrpages);
|
f->inocache->pino_nlink, inode->i_mapping->nrpages);
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ static int jffs2_do_readpage_nolock(struct inode *inode, struct folio *folio)
|
|||||||
unsigned char *kaddr;
|
unsigned char *kaddr;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
jffs2_dbg(2, "%s(): ino #%lu, page at offset 0x%lx\n",
|
jffs2_dbg(2, "%s(): ino #%llu, page at offset 0x%lx\n",
|
||||||
__func__, inode->i_ino, folio->index << PAGE_SHIFT);
|
__func__, inode->i_ino, folio->index << PAGE_SHIFT);
|
||||||
|
|
||||||
BUG_ON(!folio_test_locked(folio));
|
BUG_ON(!folio_test_locked(folio));
|
||||||
@@ -259,7 +259,7 @@ static int jffs2_write_end(const struct kiocb *iocb,
|
|||||||
uint32_t writtenlen = 0;
|
uint32_t writtenlen = 0;
|
||||||
void *buf;
|
void *buf;
|
||||||
|
|
||||||
jffs2_dbg(1, "%s(): ino #%lu, page at 0x%llx, range %d-%d, flags %lx\n",
|
jffs2_dbg(1, "%s(): ino #%llu, page at 0x%llx, range %d-%d, flags %lx\n",
|
||||||
__func__, inode->i_ino, folio_pos(folio),
|
__func__, inode->i_ino, folio_pos(folio),
|
||||||
start, end, folio->flags.f);
|
start, end, folio->flags.f);
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ int jffs2_do_setattr (struct inode *inode, struct iattr *iattr)
|
|||||||
int ret;
|
int ret;
|
||||||
int alloc_type = ALLOC_NORMAL;
|
int alloc_type = ALLOC_NORMAL;
|
||||||
|
|
||||||
jffs2_dbg(1, "%s(): ino #%lu\n", __func__, inode->i_ino);
|
jffs2_dbg(1, "%s(): ino #%llu\n", __func__, inode->i_ino);
|
||||||
|
|
||||||
/* Special cases - we don't want more than one data node
|
/* Special cases - we don't want more than one data node
|
||||||
for these types on the medium at any time. So setattr
|
for these types on the medium at any time. So setattr
|
||||||
@@ -243,7 +243,7 @@ void jffs2_evict_inode (struct inode *inode)
|
|||||||
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
|
struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
|
||||||
struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode);
|
struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode);
|
||||||
|
|
||||||
jffs2_dbg(1, "%s(): ino #%lu mode %o\n",
|
jffs2_dbg(1, "%s(): ino #%llu mode %o\n",
|
||||||
__func__, inode->i_ino, inode->i_mode);
|
__func__, inode->i_ino, inode->i_mode);
|
||||||
truncate_inode_pages_final(&inode->i_data);
|
truncate_inode_pages_final(&inode->i_data);
|
||||||
clear_inode(inode);
|
clear_inode(inode);
|
||||||
@@ -334,8 +334,8 @@ struct inode *jffs2_iget(struct super_block *sb, unsigned long ino)
|
|||||||
ret = jffs2_read_dnode(c, f, f->metadata, (char *)&jdev, 0, f->metadata->size);
|
ret = jffs2_read_dnode(c, f, f->metadata, (char *)&jdev, 0, f->metadata->size);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
/* Eep */
|
/* Eep */
|
||||||
pr_notice("Read device numbers for inode %lu failed\n",
|
pr_notice("Read device numbers for inode %llu failed\n",
|
||||||
(unsigned long)inode->i_ino);
|
inode->i_ino);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (f->metadata->size == sizeof(jdev.old_id))
|
if (f->metadata->size == sizeof(jdev.old_id))
|
||||||
@@ -351,8 +351,8 @@ struct inode *jffs2_iget(struct super_block *sb, unsigned long ino)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
pr_warn("%s(): Bogus i_mode %o for ino %lu\n",
|
pr_warn("%s(): Bogus i_mode %o for ino %llu\n",
|
||||||
__func__, inode->i_mode, (unsigned long)inode->i_ino);
|
__func__, inode->i_mode, inode->i_ino);
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_unlock(&f->sem);
|
mutex_unlock(&f->sem);
|
||||||
@@ -374,12 +374,12 @@ void jffs2_dirty_inode(struct inode *inode, int flags)
|
|||||||
struct iattr iattr;
|
struct iattr iattr;
|
||||||
|
|
||||||
if (!(inode_state_read_once(inode) & I_DIRTY_DATASYNC)) {
|
if (!(inode_state_read_once(inode) & I_DIRTY_DATASYNC)) {
|
||||||
jffs2_dbg(2, "%s(): not calling setattr() for ino #%lu\n",
|
jffs2_dbg(2, "%s(): not calling setattr() for ino #%llu\n",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
jffs2_dbg(1, "%s(): calling setattr() for ino #%lu\n",
|
jffs2_dbg(1, "%s(): calling setattr() for ino #%llu\n",
|
||||||
__func__, inode->i_ino);
|
__func__, inode->i_ino);
|
||||||
|
|
||||||
iattr.ia_valid = ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_MTIME|ATTR_CTIME;
|
iattr.ia_valid = ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_MTIME|ATTR_CTIME;
|
||||||
@@ -428,7 +428,7 @@ struct inode *jffs2_new_inode (struct inode *dir_i, umode_t mode, struct jffs2_r
|
|||||||
struct jffs2_inode_info *f;
|
struct jffs2_inode_info *f;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
jffs2_dbg(1, "%s(): dir_i %ld, mode 0x%x\n",
|
jffs2_dbg(1, "%s(): dir_i %llu, mode 0x%x\n",
|
||||||
__func__, dir_i->i_ino, mode);
|
__func__, dir_i->i_ino, mode);
|
||||||
|
|
||||||
c = JFFS2_SB_INFO(sb);
|
c = JFFS2_SB_INFO(sb);
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user