summaryrefslogtreecommitdiff
path: root/fs/nilfs2
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nilfs2')
-rw-r--r--fs/nilfs2/alloc.c10
-rw-r--r--fs/nilfs2/bmap.c17
-rw-r--r--fs/nilfs2/btnode.c2
-rw-r--r--fs/nilfs2/btree.c12
-rw-r--r--fs/nilfs2/dir.c12
-rw-r--r--fs/nilfs2/direct.c4
-rw-r--r--fs/nilfs2/gcinode.c2
-rw-r--r--fs/nilfs2/inode.c8
-rw-r--r--fs/nilfs2/mdt.c2
-rw-r--r--fs/nilfs2/namei.c2
-rw-r--r--fs/nilfs2/segment.c2
11 files changed, 40 insertions, 33 deletions
diff --git a/fs/nilfs2/alloc.c b/fs/nilfs2/alloc.c
index e7eebb04f9a4..7b1cd2baefcf 100644
--- a/fs/nilfs2/alloc.c
+++ b/fs/nilfs2/alloc.c
@@ -707,7 +707,7 @@ void nilfs_palloc_commit_free_entry(struct inode *inode,
if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap))
nilfs_warn(inode->i_sb,
- "%s (ino=%lu): entry number %llu already freed",
+ "%s (ino=%llu): entry number %llu already freed",
__func__, inode->i_ino,
(unsigned long long)req->pr_entry_nr);
else
@@ -748,7 +748,7 @@ void nilfs_palloc_abort_alloc_entry(struct inode *inode,
if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap))
nilfs_warn(inode->i_sb,
- "%s (ino=%lu): entry number %llu already freed",
+ "%s (ino=%llu): entry number %llu already freed",
__func__, inode->i_ino,
(unsigned long long)req->pr_entry_nr);
else
@@ -861,7 +861,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
if (!nilfs_clear_bit_atomic(lock, group_offset,
bitmap)) {
nilfs_warn(inode->i_sb,
- "%s (ino=%lu): entry number %llu already freed",
+ "%s (ino=%llu): entry number %llu already freed",
__func__, inode->i_ino,
(unsigned long long)entry_nrs[j]);
} else {
@@ -906,7 +906,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
last_nrs[k]);
if (ret && ret != -ENOENT)
nilfs_warn(inode->i_sb,
- "error %d deleting block that object (entry=%llu, ino=%lu) belongs to",
+ "error %d deleting block that object (entry=%llu, ino=%llu) belongs to",
ret, (unsigned long long)last_nrs[k],
inode->i_ino);
}
@@ -923,7 +923,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
ret = nilfs_palloc_delete_bitmap_block(inode, group);
if (ret && ret != -ENOENT)
nilfs_warn(inode->i_sb,
- "error %d deleting bitmap block of group=%lu, ino=%lu",
+ "error %d deleting bitmap block of group=%lu, ino=%llu",
ret, group, inode->i_ino);
}
}
diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c
index ccc1a7aa52d2..5f0f1f283af0 100644
--- a/fs/nilfs2/bmap.c
+++ b/fs/nilfs2/bmap.c
@@ -33,7 +33,7 @@ static int nilfs_bmap_convert_error(struct nilfs_bmap *bmap,
if (err == -EINVAL) {
__nilfs_error(inode->i_sb, fname,
- "broken bmap (inode number=%lu)", inode->i_ino);
+ "broken bmap (inode number=%llu)", inode->i_ino);
err = -EIO;
}
return err;
@@ -450,18 +450,25 @@ __u64 nilfs_bmap_find_target_seq(const struct nilfs_bmap *bmap, __u64 key)
return NILFS_BMAP_INVALID_PTR;
}
-#define NILFS_BMAP_GROUP_DIV 8
+#define NILFS_BMAP_GROUP_DIV 8 /* must be power of 2 */
+
__u64 nilfs_bmap_find_target_in_group(const struct nilfs_bmap *bmap)
{
struct inode *dat = nilfs_bmap_get_dat(bmap);
unsigned long entries_per_group = nilfs_palloc_entries_per_group(dat);
- unsigned long group = bmap->b_inode->i_ino / entries_per_group;
+ unsigned long group;
+ u32 index;
+
+ BUILD_BUG_ON_NOT_POWER_OF_2(NILFS_BMAP_GROUP_DIV);
+
+ group = div_u64(bmap->b_inode->i_ino, entries_per_group);
+ index = bmap->b_inode->i_ino & (NILFS_BMAP_GROUP_DIV - 1);
return group * entries_per_group +
- (bmap->b_inode->i_ino % NILFS_BMAP_GROUP_DIV) *
- (entries_per_group / NILFS_BMAP_GROUP_DIV);
+ index * (entries_per_group / NILFS_BMAP_GROUP_DIV);
}
+
static struct lock_class_key nilfs_bmap_dat_lock_key;
static struct lock_class_key nilfs_bmap_mdt_lock_key;
diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c
index 568367129092..2e553d698d0f 100644
--- a/fs/nilfs2/btnode.c
+++ b/fs/nilfs2/btnode.c
@@ -64,7 +64,7 @@ nilfs_btnode_create_block(struct address_space *btnc, __u64 blocknr)
* clearing of an abandoned b-tree node is missing somewhere).
*/
nilfs_error(inode->i_sb,
- "state inconsistency probably due to duplicate use of b-tree node block address %llu (ino=%lu)",
+ "state inconsistency probably due to duplicate use of b-tree node block address %llu (ino=%llu)",
(unsigned long long)blocknr, inode->i_ino);
goto failed;
}
diff --git a/fs/nilfs2/btree.c b/fs/nilfs2/btree.c
index dd0c8e560ef6..3c03f5a741d1 100644
--- a/fs/nilfs2/btree.c
+++ b/fs/nilfs2/btree.c
@@ -353,7 +353,7 @@ static int nilfs_btree_node_broken(const struct nilfs_btree_node *node,
nchildren <= 0 ||
nchildren > NILFS_BTREE_NODE_NCHILDREN_MAX(size))) {
nilfs_crit(inode->i_sb,
- "bad btree node (ino=%lu, blocknr=%llu): level = %d, flags = 0x%x, nchildren = %d",
+ "bad btree node (ino=%llu, blocknr=%llu): level = %d, flags = 0x%x, nchildren = %d",
inode->i_ino, (unsigned long long)blocknr, level,
flags, nchildren);
ret = 1;
@@ -384,7 +384,7 @@ static int nilfs_btree_root_broken(const struct nilfs_btree_node *node,
nchildren > NILFS_BTREE_ROOT_NCHILDREN_MAX ||
(nchildren == 0 && level > NILFS_BTREE_LEVEL_NODE_MIN))) {
nilfs_crit(inode->i_sb,
- "bad btree root (ino=%lu): level = %d, flags = 0x%x, nchildren = %d",
+ "bad btree root (ino=%llu): level = %d, flags = 0x%x, nchildren = %d",
inode->i_ino, level, flags, nchildren);
ret = 1;
}
@@ -453,7 +453,7 @@ static int nilfs_btree_bad_node(const struct nilfs_bmap *btree,
if (unlikely(nilfs_btree_node_get_level(node) != level)) {
dump_stack();
nilfs_crit(btree->b_inode->i_sb,
- "btree level mismatch (ino=%lu): %d != %d",
+ "btree level mismatch (ino=%llu): %d != %d",
btree->b_inode->i_ino,
nilfs_btree_node_get_level(node), level);
return 1;
@@ -521,7 +521,7 @@ static int __nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr,
out_no_wait:
if (!buffer_uptodate(bh)) {
nilfs_err(btree->b_inode->i_sb,
- "I/O error reading b-tree node block (ino=%lu, blocknr=%llu)",
+ "I/O error reading b-tree node block (ino=%llu, blocknr=%llu)",
btree->b_inode->i_ino, (unsigned long long)ptr);
brelse(bh);
return -EIO;
@@ -2104,7 +2104,7 @@ static int nilfs_btree_propagate(struct nilfs_bmap *btree,
if (ret < 0) {
if (unlikely(ret == -ENOENT)) {
nilfs_crit(btree->b_inode->i_sb,
- "writing node/leaf block does not appear in b-tree (ino=%lu) at key=%llu, level=%d",
+ "writing node/leaf block does not appear in b-tree (ino=%llu) at key=%llu, level=%d",
btree->b_inode->i_ino,
(unsigned long long)key, level);
ret = -EINVAL;
@@ -2146,7 +2146,7 @@ static void nilfs_btree_add_dirty_buffer(struct nilfs_bmap *btree,
level >= NILFS_BTREE_LEVEL_MAX) {
dump_stack();
nilfs_warn(btree->b_inode->i_sb,
- "invalid btree level: %d (key=%llu, ino=%lu, blocknr=%llu)",
+ "invalid btree level: %d (key=%llu, ino=%llu, blocknr=%llu)",
level, (unsigned long long)key,
btree->b_inode->i_ino,
(unsigned long long)bh->b_blocknr);
diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c
index b243199036df..3653db5cdb65 100644
--- a/fs/nilfs2/dir.c
+++ b/fs/nilfs2/dir.c
@@ -150,7 +150,7 @@ out:
Ebadsize:
nilfs_error(sb,
- "size of directory #%lu is not a multiple of chunk size",
+ "size of directory #%llu is not a multiple of chunk size",
dir->i_ino);
goto fail;
Eshort:
@@ -169,7 +169,7 @@ Einumber:
error = "disallowed inode number";
bad_entry:
nilfs_error(sb,
- "bad entry in directory #%lu: %s - offset=%lu, inode=%lu, rec_len=%zd, name_len=%d",
+ "bad entry in directory #%llu: %s - offset=%lu, inode=%lu, rec_len=%zd, name_len=%d",
dir->i_ino, error, (folio->index << PAGE_SHIFT) + offs,
(unsigned long)le64_to_cpu(p->inode),
rec_len, p->name_len);
@@ -177,7 +177,7 @@ bad_entry:
Eend:
p = (struct nilfs_dir_entry *)(kaddr + offs);
nilfs_error(sb,
- "entry in directory #%lu spans the page boundary offset=%lu, inode=%lu",
+ "entry in directory #%llu spans the page boundary offset=%lu, inode=%lu",
dir->i_ino, (folio->index << PAGE_SHIFT) + offs,
(unsigned long)le64_to_cpu(p->inode));
fail:
@@ -251,7 +251,7 @@ static int nilfs_readdir(struct file *file, struct dir_context *ctx)
kaddr = nilfs_get_folio(inode, n, &folio);
if (IS_ERR(kaddr)) {
- nilfs_error(sb, "bad page in #%lu", inode->i_ino);
+ nilfs_error(sb, "bad page in #%llu", inode->i_ino);
ctx->pos += PAGE_SIZE - offset;
return -EIO;
}
@@ -336,7 +336,7 @@ struct nilfs_dir_entry *nilfs_find_entry(struct inode *dir,
/* next folio is past the blocks we've got */
if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) {
nilfs_error(dir->i_sb,
- "dir %lu size %lld exceeds block count %llu",
+ "dir %llu size %lld exceeds block count %llu",
dir->i_ino, dir->i_size,
(unsigned long long)dir->i_blocks);
goto out;
@@ -382,7 +382,7 @@ struct nilfs_dir_entry *nilfs_dotdot(struct inode *dir, struct folio **foliop)
return next_de;
fail:
- nilfs_error(dir->i_sb, "directory #%lu %s", dir->i_ino, msg);
+ nilfs_error(dir->i_sb, "directory #%llu %s", dir->i_ino, msg);
folio_release_kmap(folio, de);
return NULL;
}
diff --git a/fs/nilfs2/direct.c b/fs/nilfs2/direct.c
index 2d8dc6b35b54..8bd0b1374e25 100644
--- a/fs/nilfs2/direct.c
+++ b/fs/nilfs2/direct.c
@@ -338,7 +338,7 @@ static int nilfs_direct_assign(struct nilfs_bmap *bmap,
key = nilfs_bmap_data_get_key(bmap, *bh);
if (unlikely(key > NILFS_DIRECT_KEY_MAX)) {
nilfs_crit(bmap->b_inode->i_sb,
- "%s (ino=%lu): invalid key: %llu",
+ "%s (ino=%llu): invalid key: %llu",
__func__,
bmap->b_inode->i_ino, (unsigned long long)key);
return -EINVAL;
@@ -346,7 +346,7 @@ static int nilfs_direct_assign(struct nilfs_bmap *bmap,
ptr = nilfs_direct_get_ptr(bmap, key);
if (unlikely(ptr == NILFS_BMAP_INVALID_PTR)) {
nilfs_crit(bmap->b_inode->i_sb,
- "%s (ino=%lu): invalid pointer: %llu",
+ "%s (ino=%llu): invalid pointer: %llu",
__func__,
bmap->b_inode->i_ino, (unsigned long long)ptr);
return -EINVAL;
diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c
index 561c220799c7..62d4c1b787e9 100644
--- a/fs/nilfs2/gcinode.c
+++ b/fs/nilfs2/gcinode.c
@@ -137,7 +137,7 @@ int nilfs_gccache_wait_and_mark_dirty(struct buffer_head *bh)
struct inode *inode = bh->b_folio->mapping->host;
nilfs_err(inode->i_sb,
- "I/O error reading %s block for GC (ino=%lu, vblocknr=%llu)",
+ "I/O error reading %s block for GC (ino=%llu, vblocknr=%llu)",
buffer_nilfs_node(bh) ? "node" : "data",
inode->i_ino, (unsigned long long)bh->b_blocknr);
return -EIO;
diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
index 51bde45d5865..51f7e125a311 100644
--- a/fs/nilfs2/inode.c
+++ b/fs/nilfs2/inode.c
@@ -108,7 +108,7 @@ int nilfs_get_block(struct inode *inode, sector_t blkoff,
* be locked in this case.
*/
nilfs_warn(inode->i_sb,
- "%s (ino=%lu): a race condition while inserting a data block at offset=%llu",
+ "%s (ino=%llu): a race condition while inserting a data block at offset=%llu",
__func__, inode->i_ino,
(unsigned long long)blkoff);
err = -EAGAIN;
@@ -789,7 +789,7 @@ repeat:
goto repeat;
failed:
- nilfs_warn(ii->vfs_inode.i_sb, "error %d truncating bmap (ino=%lu)",
+ nilfs_warn(ii->vfs_inode.i_sb, "error %d truncating bmap (ino=%llu)",
ret, ii->vfs_inode.i_ino);
}
@@ -1026,7 +1026,7 @@ int nilfs_set_file_dirty(struct inode *inode, unsigned int nr_dirty)
* this inode.
*/
nilfs_warn(inode->i_sb,
- "cannot set file dirty (ino=%lu): the file is being freed",
+ "cannot set file dirty (ino=%llu): the file is being freed",
inode->i_ino);
spin_unlock(&nilfs->ns_inode_lock);
return -EINVAL; /*
@@ -1057,7 +1057,7 @@ int __nilfs_mark_inode_dirty(struct inode *inode, int flags)
err = nilfs_load_inode_block(inode, &ibh);
if (unlikely(err)) {
nilfs_warn(inode->i_sb,
- "cannot mark inode dirty (ino=%lu): error %d loading inode block",
+ "cannot mark inode dirty (ino=%llu): error %d loading inode block",
inode->i_ino, err);
return err;
}
diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c
index 946b0d3534a5..09adb40c65e5 100644
--- a/fs/nilfs2/mdt.c
+++ b/fs/nilfs2/mdt.c
@@ -203,7 +203,7 @@ static int nilfs_mdt_read_block(struct inode *inode, unsigned long block,
err = -EIO;
if (!buffer_uptodate(first_bh)) {
nilfs_err(inode->i_sb,
- "I/O error reading meta-data file (ino=%lu, block-offset=%lu)",
+ "I/O error reading meta-data file (ino=%llu, block-offset=%lu)",
inode->i_ino, block);
goto failed_bh;
}
diff --git a/fs/nilfs2/namei.c b/fs/nilfs2/namei.c
index 40f4b1a28705..40ac679ec56e 100644
--- a/fs/nilfs2/namei.c
+++ b/fs/nilfs2/namei.c
@@ -292,7 +292,7 @@ static int nilfs_do_unlink(struct inode *dir, struct dentry *dentry)
if (!inode->i_nlink) {
nilfs_warn(inode->i_sb,
- "deleting nonexistent file (ino=%lu), %d",
+ "deleting nonexistent file (ino=%llu), %d",
inode->i_ino, inode->i_nlink);
set_nlink(inode, 1);
}
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
index 098a3bd103e0..4b1bf559f352 100644
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -2024,7 +2024,7 @@ static int nilfs_segctor_collect_dirty_files(struct nilfs_sc_info *sci,
ifile, ii->vfs_inode.i_ino, &ibh);
if (unlikely(err)) {
nilfs_warn(sci->sc_super,
- "log writer: error %d getting inode block (ino=%lu)",
+ "log writer: error %d getting inode block (ino=%llu)",
err, ii->vfs_inode.i_ino);
return err;
}