i_sb can be used just as well.
Signed-off-by: NeilBrown <neilb@suse.de>
if (ino == NULL ||
ino->i_ino != inum ||
- LAFSI(ino)->filesys->i_ino != fsnum) {
+ ino_from_sb(ino->i_sb)->i_ino != fsnum) {
if (ino)
iput(ino);
ino = lafs_iget_fs(fs, fsnum, inum, ASYNC);
*/
if (a->inode != b->inode) {
- if (LAFSI(a->inode)->filesys->i_ino <
- LAFSI(b->inode)->filesys->i_ino)
+ struct inode *fsinoa = ino_from_sb(a->inode->i_sb);
+ struct inode *fsinob = ino_from_sb(b->inode->i_sb);
+ if (fsinoa->i_ino <
+ fsinob->i_ino)
return -3;
- if (LAFSI(a->inode)->filesys->i_ino >
- LAFSI(b->inode)->filesys->i_ino)
+ if (fsinoa->i_ino >
+ fsinob->i_ino)
return 3;
/* same filesystem */
if (a->inode->i_ino <
*headstart = gh;
gh->inum = cpu_to_le32(ino->i_ino);
- gh->fsnum = cpu_to_le32(LAFSI(ino)->filesys->i_ino);
+ gh->fsnum = cpu_to_le32(ino_from_sb(ino->i_sb)->i_ino);
tnf = ((ino->i_generation<<8) | (LAFSI(ino)->trunc_gen & 0xff))
& 0x7fff;
if (wc->cnum)
lai->pblocks = 0;
lai->ciblocks += lai->piblocks;
lai->piblocks = 0;
- if (lai->filesys == ib->b.inode) {
+ if (lai->type == TypeInodeFile) {
/* Root of filesystem */
lai->md.fs.cblocks_used +=
lai->md.fs.pblocks_used;
#ifdef FIXME
if (!(ib2->b.flags & B_Linked)) {
- struct block *b2 = peer_find(fs, inode->filesys,
+ struct block *b2 = peer_find(fs,
inode, iaddr,
depth, iphys);
if (b2)
err = -EINVAL;
LAFS_BUG(ino->i_ino != b->b.fileaddr, &b->b);
- li->filesys = b->b.inode;
li->cblocks = le32_to_cpu(lai->data_blocks);
li->pblocks = li->ablocks = 0;
li->vfs_inode.i_blocks = ((blkcnt_t)li->cblocks
db = getdref_locked(LAFSI(ino)->dblock, REF);
spin_unlock(&ino->i_data.private_lock);
if (!db)
- db = lafs_get_block(LAFSI(ino)->filesys, ino->i_ino, NULL,
+ db = lafs_get_block(ino_from_sb(ino->i_sb), ino->i_ino, NULL,
GFP_KERNEL, REF);
if (IS_ERR(db))
return db;
lafs_add_orphan(fs, b);
dprintk("%p->orphan_slot=%d (%lu,%lu,%lu) %s\n", b, b->orphan_slot,
- LAFSI(b->b.inode)->filesys->i_ino,
+ ino_from_sb(b->b.inode->i_sb)->i_ino,
b->b.inode->i_ino, b->b.fileaddr, strblk(&b->b));
om->reserved--;
ent = b->orphan_slot - (ob->b.fileaddr
<< (fs->blocksize_bits-4));
or[ent].type = cpu_to_le32(1);
- or[ent].filesys = cpu_to_le32(LAFSI(b->b.inode)->filesys->i_ino);
+ or[ent].filesys = cpu_to_le32(ino_from_sb(b->b.inode->i_sb)->i_ino);
or[ent].inum = cpu_to_le32(b->b.inode->i_ino);
or[ent].addr = cpu_to_le32(b->b.fileaddr);
unmap_dblock(ob, or);
struct inode vfs_inode;
struct indexblock *iblock;
struct datablock *dblock;
- struct inode *filesys;
long cblocks, /* data blocks which are commited to this file */
pblocks, /* extra data blocks that are commited in next phase */
ablocks, /* data blocks that are allocated */
spin_unlock(&ino->i_lock);
/* per-filesystem */
- lai = LAFSI(lai->filesys);
+ lai = LAFSI(ino_from_sb(lai->vfs_inode.i_sb));
spin_lock(&lai->vfs_inode.i_lock);
if (future)
lai->md.fs.pblocks_used += diff;
/* this is where quota checks happen */
int err = 0;
struct lafs_inode *lai = LAFSI(ino);
- lai = LAFSI(lai->filesys);
+ lai = LAFSI(ino_from_sb(ino->i_sb));
spin_lock(&lai->vfs_inode.i_lock);
if (lai->md.fs.blocks_allowed &&
diff > 0 &&