Most of these can now simply dereference ->filesys.
Signed-off-by: NeilBrown <neilb@suse.de>
if (ino == NULL ||
ino->i_ino != inum ||
- ino_from_sb(ino->i_sb)->i_ino != fsnum) {
+ LAFSI(ino)->filesys->i_ino != fsnum) {
if (ino)
lafs_iput_fs(ino);
if (fsnum) {
*/
if (a->inode != b->inode) {
- struct inode *fsinoa = ino_from_sb(a->inode->i_sb);
- struct inode *fsinob = ino_from_sb(b->inode->i_sb);
+ struct inode *fsinoa = LAFSI(a->inode)->filesys;
+ struct inode *fsinob = LAFSI(b->inode)->filesys;
if (fsinoa->i_ino <
fsinob->i_ino)
return -3;
*headstart = gh;
gh->inum = cpu_to_le32(ino->i_ino);
- gh->fsnum = cpu_to_le32(ino_from_sb(ino->i_sb)->i_ino);
+ gh->fsnum = cpu_to_le32(LAFSI(ino)->filesys->i_ino);
tnf = ((ino->i_generation<<8) | (LAFSI(ino)->trunc_gen & 0xff))
& 0x7fff;
if (wc->cnum)
int blocks = PAGE_SIZE >> ino->i_blkbits;
int i;
int redirty = 0;
- dprintk("WRITEPAGE %lu/%lu/%lu\n", ino_from_sb(ino->i_sb)->i_ino, ino->i_ino, page->index * blocks);
+ dprintk("WRITEPAGE %lu/%lu/%lu\n", LAFSI(ino)->filesys->i_ino, ino->i_ino, page->index * blocks);
for (i = 0 ; i < blocks; i++) {
struct datablock *b = lafs_get_block(ino, i, page, GFP_KERNEL,
MKREF(writepage));
return;
if (test_bit(I_AccessTime, &LAFSI(ino)->iflags))
return;
- root = ino_from_sb(ino->i_sb);
+ root = LAFSI(ino)->filesys;
at = LAFSI(root)->md.fs.accesstime;
if (at == NULL)
return;
return;
/* We own a reference, so this lookup must succeed */
- at = LAFSI(ino_from_sb(ino->i_sb))->md.fs.accesstime;
+ at = LAFSI(LAFSI(ino)->filesys)->md.fs.accesstime;
bnum = ino->i_ino >> (at->i_blkbits-1);
b = lafs_get_block(at, bnum, NULL, GFP_NOFS, MKREF(store_atime));
BUG_ON(!b);
db = lafs_inode_get_dblock(ino, REF);
if (!db)
- db = lafs_get_block(ino_from_sb(ino->i_sb), ino->i_ino, NULL,
+ db = lafs_get_block(LAFSI(ino)->filesys, ino->i_ino, NULL,
GFP_KERNEL, REF);
if (!db)
return ERR_PTR(-ENOMEM);
}
now = current_fs_time(ino->i_sb);
- filesys = ino_from_sb(ino->i_sb);
+ filesys = LAFSI(ino)->filesys;
if (!timespec_equal(&filesys->i_mtime, &now)) {
filesys->i_mtime = now;
set_bit(I_Dirty, &LAFSI(filesys)->iflags);
lafs_add_orphan(fs, b);
dprintk("%p->orphan_slot=%d (%lu,%lu,%lu) %s\n", b, b->orphan_slot,
- ino_from_sb(b->b.inode->i_sb)->i_ino,
+ LAFSI(b->b.inode)->filesys->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(ino_from_sb(b->b.inode->i_sb)->i_ino);
+ or[ent].filesys = cpu_to_le32(LAFSI(b->b.inode)->filesys->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);
spin_unlock(&ino->i_lock);
/* per-filesystem */
- lai = LAFSI(ino_from_sb(lai->vfs_inode.i_sb));
+ lai = LAFSI(lai->filesys);
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(ino_from_sb(ino->i_sb));
+ lai = LAFSI(LAFSI(ino)->filesys);
spin_lock(&lai->vfs_inode.i_lock);
if (lai->md.fs.blocks_allowed &&
diff > 0 &&
u32 fsid;
u32 *fsuuid;
struct fs *fs = fs_from_inode(de->d_inode);
- struct lafs_inode *fsroot = LAFSI(ino_from_sb(de->d_inode->i_sb));
+ struct lafs_inode *fsroot = LAFSI(LAFSI(de->d_inode)->filesys);
struct lafs_inode *laroot = LAFSI(fs->ss[0].root);
fsid = 0;