diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2017-11-04 19:26:00 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-05-22 00:44:18 -0400 |
commit | effb3581f27dc5348d0d2328d697ffc451739cee (patch) | |
tree | f19704b3208e87efcd0c0e93476dfd8861cc71c7 | |
parent | f99ae09a71201bf1f46811e88a72b818e2eb7d12 (diff) |
bcachefs: rename bch_inode fields
-rw-r--r-- | fs/bcachefs/bcachefs_format.h | 35 | ||||
-rw-r--r-- | fs/bcachefs/fs-io.c | 20 | ||||
-rw-r--r-- | fs/bcachefs/fs.c | 64 | ||||
-rw-r--r-- | fs/bcachefs/fsck.c | 68 | ||||
-rw-r--r-- | fs/bcachefs/inode.c | 86 | ||||
-rw-r--r-- | fs/bcachefs/inode.h | 10 | ||||
-rw-r--r-- | fs/bcachefs/str_hash.h | 8 | ||||
-rw-r--r-- | fs/bcachefs/super.c | 2 |
8 files changed, 146 insertions, 147 deletions
diff --git a/fs/bcachefs/bcachefs_format.h b/fs/bcachefs/bcachefs_format.h index 547a4e0bc8f0..16a1edd1895c 100644 --- a/fs/bcachefs/bcachefs_format.h +++ b/fs/bcachefs/bcachefs_format.h @@ -576,9 +576,9 @@ enum bch_inode_types { struct bch_inode { struct bch_val v; - __le64 i_hash_seed; - __le32 i_flags; - __le16 i_mode; + __le64 bi_hash_seed; + __le32 bi_flags; + __le16 bi_mode; __u8 fields[0]; } __attribute__((packed, aligned(8))); BKEY_VAL_TYPE(inode, BCH_INODE_FS); @@ -586,24 +586,23 @@ BKEY_VAL_TYPE(inode, BCH_INODE_FS); struct bch_inode_generation { struct bch_val v; - __le32 i_generation; + __le32 bi_generation; __le32 pad; } __attribute__((packed, aligned(8))); BKEY_VAL_TYPE(inode_generation, BCH_INODE_GENERATION); - #define BCH_INODE_FIELDS() \ - BCH_INODE_FIELD(i_atime, 64) \ - BCH_INODE_FIELD(i_ctime, 64) \ - BCH_INODE_FIELD(i_mtime, 64) \ - BCH_INODE_FIELD(i_otime, 64) \ - BCH_INODE_FIELD(i_size, 64) \ - BCH_INODE_FIELD(i_sectors, 64) \ - BCH_INODE_FIELD(i_uid, 32) \ - BCH_INODE_FIELD(i_gid, 32) \ - BCH_INODE_FIELD(i_nlink, 32) \ - BCH_INODE_FIELD(i_generation, 32) \ - BCH_INODE_FIELD(i_dev, 32) + BCH_INODE_FIELD(bi_atime, 64) \ + BCH_INODE_FIELD(bi_ctime, 64) \ + BCH_INODE_FIELD(bi_mtime, 64) \ + BCH_INODE_FIELD(bi_otime, 64) \ + BCH_INODE_FIELD(bi_size, 64) \ + BCH_INODE_FIELD(bi_sectors, 64) \ + BCH_INODE_FIELD(bi_uid, 32) \ + BCH_INODE_FIELD(bi_gid, 32) \ + BCH_INODE_FIELD(bi_nlink, 32) \ + BCH_INODE_FIELD(bi_generation, 32) \ + BCH_INODE_FIELD(bi_dev, 32) enum { /* @@ -634,8 +633,8 @@ enum { #define BCH_INODE_I_SECTORS_DIRTY (1 << __BCH_INODE_I_SECTORS_DIRTY) #define BCH_INODE_HAS_XATTRS (1 << __BCH_INODE_HAS_XATTRS) -LE32_BITMASK(INODE_STR_HASH, struct bch_inode, i_flags, 20, 24); -LE32_BITMASK(INODE_NR_FIELDS, struct bch_inode, i_flags, 24, 32); +LE32_BITMASK(INODE_STR_HASH, struct bch_inode, bi_flags, 20, 24); +LE32_BITMASK(INODE_NR_FIELDS, struct bch_inode, bi_flags, 24, 32); struct bch_inode_blockdev { struct bch_val v; diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c index 47d0f9a662ed..ee545bae0fea 100644 --- a/fs/bcachefs/fs-io.c +++ b/fs/bcachefs/fs-io.c @@ -70,12 +70,12 @@ static int inode_set_size(struct bch_inode_info *ei, lockdep_assert_held(&ei->update_lock); - bi->i_size = *new_i_size; + bi->bi_size = *new_i_size; if (atomic_long_read(&ei->i_size_dirty_count)) - bi->i_flags |= BCH_INODE_I_SIZE_DIRTY; + bi->bi_flags |= BCH_INODE_I_SIZE_DIRTY; else - bi->i_flags &= ~BCH_INODE_I_SIZE_DIRTY; + bi->bi_flags &= ~BCH_INODE_I_SIZE_DIRTY; return 0; } @@ -125,9 +125,9 @@ i_sectors_hook_fn(struct extent_insert_hook *hook, static int inode_set_i_sectors_dirty(struct bch_inode_info *ei, struct bch_inode_unpacked *bi, void *p) { - BUG_ON(bi->i_flags & BCH_INODE_I_SECTORS_DIRTY); + BUG_ON(bi->bi_flags & BCH_INODE_I_SECTORS_DIRTY); - bi->i_flags |= BCH_INODE_I_SECTORS_DIRTY; + bi->bi_flags |= BCH_INODE_I_SECTORS_DIRTY; return 0; } @@ -135,10 +135,10 @@ static int inode_clear_i_sectors_dirty(struct bch_inode_info *ei, struct bch_inode_unpacked *bi, void *p) { - BUG_ON(!(bi->i_flags & BCH_INODE_I_SECTORS_DIRTY)); + BUG_ON(!(bi->bi_flags & BCH_INODE_I_SECTORS_DIRTY)); - bi->i_sectors = atomic64_read(&ei->i_sectors); - bi->i_flags &= ~BCH_INODE_I_SECTORS_DIRTY; + bi->bi_sectors = atomic64_read(&ei->i_sectors); + bi->bi_flags &= ~BCH_INODE_I_SECTORS_DIRTY; return 0; } @@ -238,7 +238,7 @@ bchfs_extent_update_hook(struct extent_insert_hook *hook, return BTREE_HOOK_RESTART_TRANS; } - h->inode_u.i_size = offset; + h->inode_u.bi_size = offset; do_pack = true; ei->i_size = offset; @@ -253,7 +253,7 @@ bchfs_extent_update_hook(struct extent_insert_hook *hook, return BTREE_HOOK_RESTART_TRANS; } - h->inode_u.i_sectors += sectors; + h->inode_u.bi_sectors += sectors; do_pack = true; atomic64_add(sectors, &ei->i_sectors); diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c index 6a62ec86b262..6a13489dd9cb 100644 --- a/fs/bcachefs/fs.c +++ b/fs/bcachefs/fs.c @@ -114,14 +114,14 @@ int __must_check __bch2_write_inode(struct bch_fs *c, BUG_ON(i_nlink < nlink_bias(inode->i_mode)); - inode_u.i_mode = inode->i_mode; - inode_u.i_uid = i_uid_read(inode); - inode_u.i_gid = i_gid_read(inode); - inode_u.i_nlink = i_nlink - nlink_bias(inode->i_mode); - inode_u.i_dev = inode->i_rdev; - inode_u.i_atime = timespec_to_bch2_time(c, inode->i_atime); - inode_u.i_mtime = timespec_to_bch2_time(c, inode->i_mtime); - inode_u.i_ctime = timespec_to_bch2_time(c, inode->i_ctime); + inode_u.bi_mode = inode->i_mode; + inode_u.bi_uid = i_uid_read(inode); + inode_u.bi_gid = i_gid_read(inode); + inode_u.bi_nlink= i_nlink - nlink_bias(inode->i_mode); + inode_u.bi_dev = inode->i_rdev; + inode_u.bi_atime= timespec_to_bch2_time(c, inode->i_atime); + inode_u.bi_mtime= timespec_to_bch2_time(c, inode->i_mtime); + inode_u.bi_ctime= timespec_to_bch2_time(c, inode->i_ctime); bch2_inode_pack(&inode_p, &inode_u); @@ -132,8 +132,8 @@ int __must_check __bch2_write_inode(struct bch_fs *c, } while (ret == -EINTR); if (!ret) { - ei->i_size = inode_u.i_size; - ei->i_flags = inode_u.i_flags; + ei->i_size = inode_u.bi_size; + ei->i_flags = inode_u.bi_flags; } out: bch2_btree_iter_unlock(&iter); @@ -803,7 +803,7 @@ static int bch2_inode_user_flags_set(struct bch_inode_info *ei, * We're relying on btree locking here for exclusion with other ioctl * calls - use the flags in the btree (@bi), not ei->i_flags: */ - unsigned bch_flags = bi->i_flags; + unsigned bch_flags = bi->bi_flags; unsigned oldflags = bch2_inode_flags_to_user_flags(bch_flags); unsigned newflags = *((unsigned *) p); unsigned i; @@ -825,7 +825,7 @@ static int bch2_inode_user_flags_set(struct bch_inode_info *ei, if (oldflags != newflags) return -EOPNOTSUPP; - bi->i_flags = bch_flags; + bi->bi_flags = bch_flags; ei->vfs_inode.i_ctime = current_time(&ei->vfs_inode); return 0; @@ -1077,26 +1077,26 @@ static void bch2_vfs_inode_init(struct bch_fs *c, struct inode *inode = &ei->vfs_inode; pr_debug("init inode %llu with mode %o", - bi->inum, bi->i_mode); - - ei->i_flags = bi->i_flags; - ei->i_size = bi->i_size; - - inode->i_mode = bi->i_mode; - i_uid_write(inode, bi->i_uid); - i_gid_write(inode, bi->i_gid); - - atomic64_set(&ei->i_sectors, bi->i_sectors); - inode->i_blocks = bi->i_sectors; - - inode->i_ino = bi->inum; - set_nlink(inode, bi->i_nlink + nlink_bias(inode->i_mode)); - inode->i_rdev = bi->i_dev; - inode->i_generation = bi->i_generation; - inode->i_size = bi->i_size; - inode->i_atime = bch2_time_to_timespec(c, bi->i_atime); - inode->i_mtime = bch2_time_to_timespec(c, bi->i_mtime); - inode->i_ctime = bch2_time_to_timespec(c, bi->i_ctime); + bi->bi_inum, bi->bi_mode); + + ei->i_flags = bi->bi_flags; + ei->i_size = bi->bi_size; + + inode->i_mode = bi->bi_mode; + i_uid_write(inode, bi->bi_uid); + i_gid_write(inode, bi->bi_gid); + + atomic64_set(&ei->i_sectors, bi->bi_sectors); + inode->i_blocks = bi->bi_sectors; + + inode->i_ino = bi->bi_inum; + set_nlink(inode, bi->bi_nlink + nlink_bias(inode->i_mode)); + inode->i_rdev = bi->bi_dev; + inode->i_generation = bi->bi_generation; + inode->i_size = bi->bi_size; + inode->i_atime = bch2_time_to_timespec(c, bi->bi_atime); + inode->i_mtime = bch2_time_to_timespec(c, bi->bi_mtime); + inode->i_ctime = bch2_time_to_timespec(c, bi->bi_ctime); bch2_inode_flags_to_vfs(inode); ei->str_hash = bch2_hash_info_init(c, bi); diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c index df3e2fb6f284..5e870bf0c4e2 100644 --- a/fs/bcachefs/fsck.c +++ b/fs/bcachefs/fsck.c @@ -67,7 +67,7 @@ static int reattach_inode(struct bch_fs *c, snprintf(name_buf, sizeof(name_buf), "%llu", inum); name = (struct qstr) QSTR(name_buf); - lostfound_inode->i_nlink++; + lostfound_inode->bi_nlink++; bch2_inode_pack(&packed, lostfound_inode); @@ -80,7 +80,7 @@ static int reattach_inode(struct bch_fs *c, return ret; } - ret = bch2_dirent_create(c, lostfound_inode->inum, + ret = bch2_dirent_create(c, lostfound_inode->bi_inum, &lostfound_hash_info, DT_DIR, &name, inum, NULL, BTREE_INSERT_NOFAIL); @@ -263,9 +263,9 @@ static int check_extents(struct bch_fs *c) "extent type %u for missing inode %llu", k.k->type, k.k->p.inode) || fsck_err_on(w.have_inode && - !S_ISREG(w.inode.i_mode) && !S_ISLNK(w.inode.i_mode), c, + !S_ISREG(w.inode.bi_mode) && !S_ISLNK(w.inode.bi_mode), c, "extent type %u for non regular file, inode %llu mode %o", - k.k->type, k.k->p.inode, w.inode.i_mode)) { + k.k->type, k.k->p.inode, w.inode.bi_mode)) { ret = bch2_btree_delete_at(&iter, 0); if (ret) goto err; @@ -274,18 +274,18 @@ static int check_extents(struct bch_fs *c) unfixable_fsck_err_on(w.first_this_inode && w.have_inode && - !(w.inode.i_flags & BCH_INODE_I_SECTORS_DIRTY) && - w.inode.i_sectors != + !(w.inode.bi_flags & BCH_INODE_I_SECTORS_DIRTY) && + w.inode.bi_sectors != (i_sectors = bch2_count_inode_sectors(c, w.cur_inum)), c, "i_sectors wrong: got %llu, should be %llu", - w.inode.i_sectors, i_sectors); + w.inode.bi_sectors, i_sectors); unfixable_fsck_err_on(w.have_inode && - !(w.inode.i_flags & BCH_INODE_I_SIZE_DIRTY) && + !(w.inode.bi_flags & BCH_INODE_I_SIZE_DIRTY) && k.k->type != BCH_RESERVATION && - k.k->p.offset > round_up(w.inode.i_size, PAGE_SIZE) >> 9, c, + k.k->p.offset > round_up(w.inode.bi_size, PAGE_SIZE) >> 9, c, "extent type %u offset %llu past end of inode %llu, i_size %llu", - k.k->type, k.k->p.offset, k.k->p.inode, w.inode.i_size); + k.k->type, k.k->p.offset, k.k->p.inode, w.inode.bi_size); } err: fsck_err: @@ -324,9 +324,9 @@ static int check_dirents(struct bch_fs *c) "dirent in nonexisting directory:\n%s", bch2_bkey_val_to_text(c, BTREE_ID_DIRENTS, buf, sizeof(buf), k)) || - fsck_err_on(!S_ISDIR(w.inode.i_mode), c, + fsck_err_on(!S_ISDIR(w.inode.bi_mode), c, "dirent in non directory inode type %u:\n%s", - mode_to_type(w.inode.i_mode), + mode_to_type(w.inode.bi_mode), bch2_bkey_val_to_text(c, BTREE_ID_DIRENTS, buf, sizeof(buf), k))) { ret = bch2_btree_delete_at(&iter, 0); @@ -397,9 +397,9 @@ static int check_dirents(struct bch_fs *c) if (fsck_err_on(have_target && d.v->d_type != - mode_to_type(le16_to_cpu(target.i_mode)), c, + mode_to_type(le16_to_cpu(target.bi_mode)), c, "incorrect d_type: should be %u:\n%s", - mode_to_type(le16_to_cpu(target.i_mode)), + mode_to_type(le16_to_cpu(target.bi_mode)), bch2_bkey_val_to_text(c, BTREE_ID_DIRENTS, buf, sizeof(buf), k))) { struct bkey_i_dirent *n; @@ -411,7 +411,7 @@ static int check_dirents(struct bch_fs *c) } bkey_reassemble(&n->k_i, d.s_c); - n->v.d_type = mode_to_type(le16_to_cpu(target.i_mode)); + n->v.d_type = mode_to_type(le16_to_cpu(target.bi_mode)); ret = bch2_btree_insert_at(c, NULL, NULL, NULL, BTREE_INSERT_NOFAIL, @@ -485,7 +485,7 @@ static int check_root(struct bch_fs *c, struct bch_inode_unpacked *root_inode) if (fsck_err_on(ret, c, "root directory missing")) goto create_root; - if (fsck_err_on(!S_ISDIR(root_inode->i_mode), c, + if (fsck_err_on(!S_ISDIR(root_inode->bi_mode), c, "root inode not a directory")) goto create_root; @@ -494,7 +494,7 @@ fsck_err: return ret; create_root: bch2_inode_init(c, root_inode, 0, 0, S_IFDIR|S_IRWXU|S_IRUGO|S_IXUGO, 0); - root_inode->inum = BCACHEFS_ROOT_INO; + root_inode->bi_inum = BCACHEFS_ROOT_INO; bch2_inode_pack(&packed, root_inode); @@ -528,7 +528,7 @@ static int check_lostfound(struct bch_fs *c, if (fsck_err_on(ret, c, "lost+found missing")) goto create_lostfound; - if (fsck_err_on(!S_ISDIR(lostfound_inode->i_mode), c, + if (fsck_err_on(!S_ISDIR(lostfound_inode->bi_mode), c, "lost+found inode not a directory")) goto create_lostfound; @@ -536,7 +536,7 @@ static int check_lostfound(struct bch_fs *c, fsck_err: return ret; create_lostfound: - root_inode->i_nlink++; + root_inode->bi_nlink++; bch2_inode_pack(&packed, root_inode); @@ -553,7 +553,7 @@ create_lostfound: return ret; ret = bch2_dirent_create(c, BCACHEFS_ROOT_INO, &root_hash_info, DT_DIR, - &lostfound, lostfound_inode->inum, NULL, + &lostfound, lostfound_inode->bi_inum, NULL, BTREE_INSERT_NOFAIL); if (ret) return ret; @@ -711,7 +711,7 @@ up: for_each_btree_key(&iter, c, BTREE_ID_INODES, POS_MIN, 0, k) { if (k.k->type != BCH_INODE_FS || - !S_ISDIR(le16_to_cpu(bkey_s_c_to_inode(k).v->i_mode))) + !S_ISDIR(le16_to_cpu(bkey_s_c_to_inode(k).v->bi_mode))) continue; if (fsck_err_on(!inode_bitmap_test(&dirs_done, k.k->p.inode), c, @@ -849,15 +849,15 @@ static int bch2_gc_do_inode(struct bch_fs *c, inode.k->p.inode)) return ret; - i_nlink = u.i_nlink + nlink_bias(u.i_mode); + i_nlink = u.bi_nlink + nlink_bias(u.bi_mode); fsck_err_on(i_nlink < link.count, c, "inode %llu i_link too small (%u < %u, type %i)", inode.k->p.inode, i_nlink, - link.count, mode_to_type(u.i_mode)); + link.count, mode_to_type(u.bi_mode)); /* These should have been caught/fixed by earlier passes: */ - if (S_ISDIR(u.i_mode)) { + if (S_ISDIR(u.bi_mode)) { need_fsck_err_on(link.count > 1, c, "directory %llu with multiple hardlinks: %u", inode.k->p.inode, link.count); @@ -877,7 +877,7 @@ static int bch2_gc_do_inode(struct bch_fs *c, "but found orphaned inode %llu", inode.k->p.inode); - if (fsck_err_on(S_ISDIR(u.i_mode) && + if (fsck_err_on(S_ISDIR(u.bi_mode) && bch2_empty_dir(c, inode.k->p.inode), c, "non empty directory with link count 0, " "inode nlink %u, dir links found %u", @@ -897,7 +897,7 @@ static int bch2_gc_do_inode(struct bch_fs *c, return ret; } - if (u.i_flags & BCH_INODE_I_SIZE_DIRTY) { + if (u.bi_flags & BCH_INODE_I_SIZE_DIRTY) { fsck_err_on(c->sb.clean, c, "filesystem marked clean, " "but inode %llu has i_size dirty", @@ -911,7 +911,7 @@ static int bch2_gc_do_inode(struct bch_fs *c, */ ret = bch2_inode_truncate(c, inode.k->p.inode, - round_up(u.i_size, PAGE_SIZE) >> 9, + round_up(u.bi_size, PAGE_SIZE) >> 9, NULL, NULL); if (ret) { bch_err(c, "error in fs gc: error %i " @@ -923,13 +923,13 @@ static int bch2_gc_do_inode(struct bch_fs *c, * We truncated without our normal sector accounting hook, just * make sure we recalculate it: */ - u.i_flags |= BCH_INODE_I_SECTORS_DIRTY; + u.bi_flags |= BCH_INODE_I_SECTORS_DIRTY; - u.i_flags &= ~BCH_INODE_I_SIZE_DIRTY; + u.bi_flags &= ~BCH_INODE_I_SIZE_DIRTY; do_update = true; } - if (u.i_flags & BCH_INODE_I_SECTORS_DIRTY) { + if (u.bi_flags & BCH_INODE_I_SECTORS_DIRTY) { s64 sectors; fsck_err_on(c->sb.clean, c, @@ -948,8 +948,8 @@ static int bch2_gc_do_inode(struct bch_fs *c, return sectors; } - u.i_sectors = sectors; - u.i_flags &= ~BCH_INODE_I_SECTORS_DIRTY; + u.bi_sectors = sectors; + u.bi_flags &= ~BCH_INODE_I_SECTORS_DIRTY; do_update = true; } @@ -958,12 +958,12 @@ static int bch2_gc_do_inode(struct bch_fs *c, "filesystem marked clean, " "but inode %llu has wrong i_nlink " "(type %u i_nlink %u, should be %u)", - inode.k->p.inode, mode_to_type(u.i_mode), + inode.k->p.inode, mode_to_type(u.bi_mode), i_nlink, real_i_nlink); bch_verbose(c, "setting inode %llu nlinks from %u to %u", inode.k->p.inode, i_nlink, real_i_nlink); - u.i_nlink = real_i_nlink - nlink_bias(u.i_mode);; + u.bi_nlink = real_i_nlink - nlink_bias(u.bi_mode); do_update = true; } diff --git a/fs/bcachefs/inode.c b/fs/bcachefs/inode.c index 2957de800b7c..aaf8d13dbb96 100644 --- a/fs/bcachefs/inode.c +++ b/fs/bcachefs/inode.c @@ -92,10 +92,10 @@ void bch2_inode_pack(struct bkey_inode_buf *packed, unsigned nr_fields = 0, last_nonzero_fieldnr = 0; bkey_inode_init(&packed->inode.k_i); - packed->inode.k.p.inode = inode->inum; - packed->inode.v.i_hash_seed = inode->i_hash_seed; - packed->inode.v.i_flags = cpu_to_le32(inode->i_flags); - packed->inode.v.i_mode = cpu_to_le16(inode->i_mode); + packed->inode.k.p.inode = inode->bi_inum; + packed->inode.v.bi_hash_seed = inode->bi_hash_seed; + packed->inode.v.bi_flags = cpu_to_le32(inode->bi_flags); + packed->inode.v.bi_mode = cpu_to_le16(inode->bi_mode); #define BCH_INODE_FIELD(_name, _bits) \ out += inode_encode_field(out, end, 0, inode->_name); \ @@ -125,9 +125,9 @@ void bch2_inode_pack(struct bkey_inode_buf *packed, int ret = bch2_inode_unpack(inode_i_to_s_c(&packed->inode), &unpacked); BUG_ON(ret); - BUG_ON(unpacked.inum != inode->inum); - BUG_ON(unpacked.i_hash_seed != inode->i_hash_seed); - BUG_ON(unpacked.i_mode != inode->i_mode); + BUG_ON(unpacked.bi_inum != inode->bi_inum); + BUG_ON(unpacked.bi_hash_seed != inode->bi_hash_seed); + BUG_ON(unpacked.bi_mode != inode->bi_mode); #define BCH_INODE_FIELD(_name, _bits) BUG_ON(unpacked._name != inode->_name); BCH_INODE_FIELDS() @@ -144,10 +144,10 @@ int bch2_inode_unpack(struct bkey_s_c_inode inode, unsigned fieldnr = 0, field_bits; int ret; - unpacked->inum = inode.k->p.inode; - unpacked->i_hash_seed = inode.v->i_hash_seed; - unpacked->i_flags = le32_to_cpu(inode.v->i_flags); - unpacked->i_mode = le16_to_cpu(inode.v->i_mode); + unpacked->bi_inum = inode.k->p.inode; + unpacked->bi_hash_seed = inode.v->bi_hash_seed; + unpacked->bi_flags = le32_to_cpu(inode.v->bi_flags); + unpacked->bi_mode = le16_to_cpu(inode.v->bi_mode); #define BCH_INODE_FIELD(_name, _bits) \ if (fieldnr++ == INODE_NR_FIELDS(inode.v)) { \ @@ -232,7 +232,7 @@ static void bch2_inode_to_text(struct bch_fs *c, char *buf, break; } - scnprintf(buf, size, "i_size %llu", unpacked.i_size); + scnprintf(buf, size, "i_size %llu", unpacked.bi_size); break; } } @@ -252,17 +252,17 @@ void bch2_inode_init(struct bch_fs *c, struct bch_inode_unpacked *inode_u, memset(inode_u, 0, sizeof(*inode_u)); /* ick */ - inode_u->i_flags |= c->opts.str_hash << INODE_STR_HASH_OFFSET; - get_random_bytes(&inode_u->i_hash_seed, sizeof(inode_u->i_hash_seed)); - - inode_u->i_mode = mode; - inode_u->i_uid = uid; - inode_u->i_gid = gid; - inode_u->i_dev = rdev; - inode_u->i_atime = now; - inode_u->i_mtime = now; - inode_u->i_ctime = now; - inode_u->i_otime = now; + inode_u->bi_flags |= c->opts.str_hash << INODE_STR_HASH_OFFSET; + get_random_bytes(&inode_u->bi_hash_seed, sizeof(inode_u->bi_hash_seed)); + + inode_u->bi_mode = mode; + inode_u->bi_uid = uid; + inode_u->bi_gid = gid; + inode_u->bi_dev = rdev; + inode_u->bi_atime = now; + inode_u->bi_mtime = now; + inode_u->bi_ctime = now; + inode_u->bi_otime = now; } int bch2_inode_create(struct bch_fs *c, struct bch_inode_unpacked *inode_u, @@ -290,7 +290,7 @@ again: while (1) { struct bkey_s_c k = bch2_btree_iter_peek_with_holes(&iter); - u32 i_generation = 0; + u32 bi_generation = 0; ret = btree_iter_err(k); if (ret) { @@ -311,11 +311,11 @@ again: case BCH_INODE_GENERATION: { struct bkey_s_c_inode_generation g = bkey_s_c_to_inode_generation(k); - i_generation = le32_to_cpu(g.v->i_generation); + bi_generation = le32_to_cpu(g.v->bi_generation); /* fallthrough: */ } default: - inode_u->i_generation = i_generation; + inode_u->bi_generation = bi_generation; bch2_inode_pack(&inode_p, inode_u); inode_p.inode.k.p = k.k->p; @@ -329,7 +329,7 @@ again: bch2_btree_iter_unlock(&iter); if (!ret) { - inode_u->inum = + inode_u->bi_inum = inode_p.inode.k.p.inode; *hint = inode_p.inode.k.p.inode + 1; } @@ -401,7 +401,7 @@ int bch2_inode_rm(struct bch_fs *c, u64 inode_nr) BTREE_ITER_INTENT); do { struct bkey_s_c k = bch2_btree_iter_peek_with_holes(&iter); - u32 i_generation = 0; + u32 bi_generation = 0; ret = btree_iter_err(k); if (ret) { @@ -418,24 +418,24 @@ int bch2_inode_rm(struct bch_fs *c, u64 inode_nr) struct bch_inode_unpacked inode_u; if (!bch2_inode_unpack(bkey_s_c_to_inode(k), &inode_u)) - i_generation = cpu_to_le32(inode_u.i_generation) + 1; + bi_generation = cpu_to_le32(inode_u.bi_generation) + 1; break; } case BCH_INODE_GENERATION: { struct bkey_s_c_inode_generation g = bkey_s_c_to_inode_generation(k); - i_generation = le32_to_cpu(g.v->i_generation); + bi_generation = le32_to_cpu(g.v->bi_generation); break; } } - if (!i_generation) { + if (!bi_generation) { bkey_init(&delete.k); delete.k.p.inode = inode_nr; } else { bkey_inode_generation_init(&delete.k_i); delete.k.p.inode = inode_nr; - delete.v.i_generation = cpu_to_le32(i_generation); + delete.v.bi_generation = cpu_to_le32(bi_generation); } ret = bch2_btree_insert_at(c, NULL, NULL, NULL, @@ -511,17 +511,17 @@ void bch2_inode_pack_test(void) { struct bch_inode_unpacked *u, test_inodes[] = { { - .i_atime = U64_MAX, - .i_ctime = U64_MAX, - .i_mtime = U64_MAX, - .i_otime = U64_MAX, - .i_size = U64_MAX, - .i_sectors = U64_MAX, - .i_uid = U32_MAX, - .i_gid = U32_MAX, - .i_nlink = U32_MAX, - .i_generation = U32_MAX, - .i_dev = U32_MAX, + .bi_atime = U64_MAX, + .bi_ctime = U64_MAX, + .bi_mtime = U64_MAX, + .bi_otime = U64_MAX, + .bi_size = U64_MAX, + .bi_sectors = U64_MAX, + .bi_uid = U32_MAX, + .bi_gid = U32_MAX, + .bi_nlink = U32_MAX, + .bi_generation = U32_MAX, + .bi_dev = U32_MAX, }, }; diff --git a/fs/bcachefs/inode.h b/fs/bcachefs/inode.h index 22aac3e695b0..53c70617b289 100644 --- a/fs/bcachefs/inode.h +++ b/fs/bcachefs/inode.h @@ -6,10 +6,10 @@ extern const struct bkey_ops bch2_bkey_inode_ops; struct bch_inode_unpacked { - u64 inum; - __le64 i_hash_seed; - u32 i_flags; - u16 i_mode; + u64 bi_inum; + __le64 bi_hash_seed; + u32 bi_flags; + u16 bi_mode; #define BCH_INODE_FIELD(_name, _bits) u##_bits _name; BCH_INODE_FIELDS() @@ -22,7 +22,7 @@ struct bkey_inode_buf { #define BCH_INODE_FIELD(_name, _bits) + 8 + _bits / 8 u8 _pad[0 + BCH_INODE_FIELDS()]; #undef BCH_INODE_FIELD -}; +} __attribute__((packed, aligned(8))); void bch2_inode_pack(struct bkey_inode_buf *, const struct bch_inode_unpacked *); int bch2_inode_unpack(struct bkey_s_c_inode, struct bch_inode_unpacked *); diff --git a/fs/bcachefs/str_hash.h b/fs/bcachefs/str_hash.h index d91fbdf13846..530cf0a49c84 100644 --- a/fs/bcachefs/str_hash.h +++ b/fs/bcachefs/str_hash.h @@ -26,14 +26,14 @@ bch2_hash_info_init(struct bch_fs *c, { /* XXX ick */ struct bch_hash_info info = { - .type = (bi->i_flags >> INODE_STR_HASH_OFFSET) & + .type = (bi->bi_flags >> INODE_STR_HASH_OFFSET) & ~(~0U << INODE_STR_HASH_BITS) }; switch (info.type) { case BCH_STR_HASH_CRC32C: case BCH_STR_HASH_CRC64: - info.crc_key = bi->i_hash_seed; + info.crc_key = bi->bi_hash_seed; break; case BCH_STR_HASH_SIPHASH: { SHASH_DESC_ON_STACK(desc, c->sha256); @@ -42,8 +42,8 @@ bch2_hash_info_init(struct bch_fs *c, desc->tfm = c->sha256; desc->flags = 0; - crypto_shash_digest(desc, (void *) &bi->i_hash_seed, - sizeof(bi->i_hash_seed), digest); + crypto_shash_digest(desc, (void *) &bi->bi_hash_seed, + sizeof(bi->bi_hash_seed), digest); memcpy(&info.siphash_key, digest, sizeof(info.siphash_key)); break; } diff --git a/fs/bcachefs/super.c b/fs/bcachefs/super.c index 9ef81f19c2a8..afff79ccf149 100644 --- a/fs/bcachefs/super.c +++ b/fs/bcachefs/super.c @@ -827,7 +827,7 @@ static const char *__bch2_fs_start(struct bch_fs *c) bch2_inode_init(c, &inode, 0, 0, S_IFDIR|S_IRWXU|S_IRUGO|S_IXUGO, 0); - inode.inum = BCACHEFS_ROOT_INO; + inode.bi_inum = BCACHEFS_ROOT_INO; bch2_inode_pack(&packed_inode, &inode); |