char *strblk(struct block *b)
{
static char ans[400];
+ unsigned long ino = 0;
if (!b) return "(NULL block)";
+ if (b->inode)
+ ino = b->inode->i_ino;
if (test_bit(B_PhysValid, &b->flags))
- sprintf(ans, "[%p]%lu/%lu(%llu)r%d%c:%s", b,b->inode->i_ino, b->fileaddr,
+ sprintf(ans, "[%p]%lu/%lu(%llu)r%d%c:%s", b, ino, b->fileaddr,
b->physaddr, atomic_read(&b->refcnt),
list_empty(&b->lru) ? 'E':'F',
strflags(b));
else
- sprintf(ans, "[%p]%lu/%lu(NoPhysAddr)r%d%c:%s", b,b->inode->i_ino, b->fileaddr,
+ sprintf(ans, "[%p]%lu/%lu(NoPhysAddr)r%d%c:%s", b, ino, b->fileaddr,
atomic_read(&b->refcnt),
list_empty(&b->lru) ? 'E':'F',
strflags(b));