Commit 994706ac authored by Stephen Lord's avatar Stephen Lord

[XFS] use dev_t less in xfs

SGI Modid: 2.5.x-xfs:slinx:158772a
parent 4ef99242
......@@ -315,8 +315,8 @@ xfs_setsize_buftarg(
if (set_blocksize(btp->pbr_bdev, sectorsize)) {
printk(KERN_WARNING
"XFS: Cannot set_blocksize to %u on device 0x%lx\n",
sectorsize, (unsigned long)btp->pbr_dev);
"XFS: Cannot set_blocksize to %u on device %s\n",
sectorsize, XFS_BUFTARG_NAME(btp));
}
}
......
......@@ -87,9 +87,9 @@
STATIC void xfs_qm_dqflush_done(xfs_buf_t *, xfs_dq_logitem_t *);
#ifdef DEBUG
dev_t xfs_dqerror_dev = 0;
int xfs_do_dqerror = 0;
int xfs_dqreq_num = 0;
xfs_buftarg_t *xfs_dqerror_target;
int xfs_do_dqerror;
int xfs_dqreq_num;
int xfs_dqerror_mod = 33;
#endif
......@@ -911,7 +911,7 @@ xfs_qm_dqget(
#ifdef DEBUG
if (xfs_do_dqerror) {
if ((xfs_dqerror_dev == mp->m_dev) &&
if ((xfs_dqerror_target == mp->m_ddev_targp) &&
(xfs_dqreq_num++ % xfs_dqerror_mod) == 0) {
cmn_err(CE_DEBUG, "Returning error in dqget");
return (EIO);
......
......@@ -194,7 +194,10 @@ extern inline xfs_caddr_t xfs_buf_offset(page_buf_t *bp, size_t offset)
(bp)->pb_target = (target)
#define XFS_BUF_TARGET(bp) ((bp)->pb_target)
#define XFS_BUF_TARGET_DEV(bp) ((bp)->pb_target->pbr_dev)
#define XFS_BUFTARG_NAME(target) \
({ char __b[BDEVNAME_SIZE]; bdevname((target->pbr_bdev), __b); __b; })
#define XFS_BUF_SET_VTYPE_REF(bp, type, ref)
#define XFS_BUF_SET_VTYPE(bp, type)
#define XFS_BUF_SET_REF(bp, ref)
......
......@@ -1007,7 +1007,7 @@ xfs_buf_iodone_callbacks(
{
xfs_log_item_t *lip;
static ulong lasttime;
static dev_t lastdev;
static xfs_buftarg_t *lasttarg;
xfs_mount_t *mp;
ASSERT(XFS_BUF_FSPRIVATE(bp, void *) != NULL);
......@@ -1045,15 +1045,15 @@ xfs_buf_iodone_callbacks(
return;
}
if ((XFS_BUF_TARGET_DEV(bp) != lastdev) ||
if ((XFS_BUF_TARGET(bp) != lasttarg) ||
(time_after(jiffies, (lasttime + 5*HZ)))) {
lasttime = jiffies;
prdev("XFS write error in file system meta-data "
"block 0x%Lx in %s",
XFS_BUF_TARGET_DEV(bp),
XFS_BUF_TARGET(bp),
XFS_BUF_ADDR(bp), mp->m_fsname);
}
lastdev = XFS_BUF_TARGET_DEV(bp);
lasttarg = XFS_BUF_TARGET(bp);
if (XFS_BUF_ISASYNC(bp)) {
/*
......
......@@ -2450,7 +2450,7 @@ xfs_da_buf_make(int nbuf, xfs_buf_t **bps, inst_t *ra)
dabuf->dirty = 0;
#ifdef XFS_DABUF_DEBUG
dabuf->ra = ra;
dabuf->dev = XFS_BUF_TARGET_DEV(bps[0]);
dabuf->target = XFS_BUF_TARGET(bps[0]);
dabuf->blkno = XFS_BUF_ADDR(bps[0]);
#endif
if (nbuf == 1) {
......@@ -2480,7 +2480,7 @@ xfs_da_buf_make(int nbuf, xfs_buf_t **bps, inst_t *ra)
s = mutex_spinlock(&xfs_dabuf_global_lock);
for (p = xfs_dabuf_global_list; p; p = p->next) {
ASSERT(p->blkno != dabuf->blkno ||
p->dev != dabuf->dev);
p->target != dabuf->target);
}
dabuf->prev = NULL;
if (xfs_dabuf_global_list)
......
......@@ -212,7 +212,7 @@ typedef struct xfs_dabuf {
inst_t *ra; /* return address of caller to make */
struct xfs_dabuf *next; /* next in global chain */
struct xfs_dabuf *prev; /* previous in global chain */
dev_t dev; /* device for buffer */
struct xfs_buftarg *target; /* device for buffer */
xfs_daddr_t blkno; /* daddr first in bps[0] */
#endif
struct xfs_buf *bps[1]; /* actually nbuf of these */
......
......@@ -32,8 +32,8 @@
#ifndef __XFS_ERROR_H__
#define __XFS_ERROR_H__
#define prdev(fmt,dev,args...) \
printk("XFS: device 0x%x- " fmt "\n", (unsigned)dev, ## args)
#define prdev(fmt,targ,args...) \
printk("XFS: device %s- " fmt "\n", XFS_BUFTARG_NAME(targ), ## args)
#define XFS_ERECOVER 1 /* Failure to recover log */
#define XFS_ELOGSTAT 2 /* Failure to stat log in user space */
......
......@@ -408,8 +408,9 @@ xfs_itobp(
if (unlikely(XFS_TEST_ERROR(!di_ok, mp, XFS_ERRTAG_ITOBP_INOTOBP,
XFS_RANDOM_ITOBP_INOTOBP))) {
#ifdef DEBUG
prdev("bad inode magic/vsn daddr 0x%llx #%d (magic=%x)",
mp->m_dev, (unsigned long long)imap.im_blkno, i,
prdev("bad inode magic/vsn daddr %lld #%d (magic=%x)",
mp->m_ddev_targp,
(unsigned long long)imap.im_blkno, i,
INT_GET(dip->di_core.di_magic, ARCH_CONVERT));
#endif
XFS_CORRUPTION_ERROR("xfs_itobp", XFS_ERRLEVEL_HIGH,
......
......@@ -65,7 +65,7 @@ STATIC int xlog_bdstrat_cb(struct xfs_buf *);
STATIC int xlog_commit_record(xfs_mount_t *mp, xlog_ticket_t *ticket,
xlog_in_core_t **, xfs_lsn_t *);
STATIC xlog_t * xlog_alloc_log(xfs_mount_t *mp,
dev_t log_dev,
xfs_buftarg_t *log_target,
xfs_daddr_t blk_offset,
int num_bblks);
STATIC int xlog_space_left(xlog_t *log, int cycle, int bytes);
......@@ -155,7 +155,7 @@ int xlog_error_mod = 33;
*/
#if defined(XLOG_NOLOG) || defined(DEBUG)
int xlog_debug = 1;
dev_t xlog_devt = 0;
xfs_buftarg_t *xlog_target;
#endif
#if defined(XFS_LOG_TRACE)
......@@ -274,7 +274,7 @@ xfs_log_done(xfs_mount_t *mp,
xfs_lsn_t lsn = 0;
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (! xlog_debug && xlog_devt == log->l_dev)
if (!xlog_debug && xlog_target == log->l_targ)
return 0;
#endif
......@@ -339,7 +339,7 @@ xfs_log_force(xfs_mount_t *mp,
xlog_t *log = mp->m_log;
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (! xlog_debug && xlog_devt == log->l_dev)
if (!xlog_debug && xlog_target == log->l_targ)
return 0;
#endif
......@@ -378,7 +378,7 @@ xfs_log_notify(xfs_mount_t *mp, /* mount of partition */
int abortflg, spl;
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (! xlog_debug && xlog_devt == log->l_dev)
if (!xlog_debug && xlog_target == log->l_targ)
return 0;
#endif
cb->cb_next = 0;
......@@ -436,7 +436,7 @@ xfs_log_reserve(xfs_mount_t *mp,
int retval;
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (! xlog_debug && xlog_devt == log->l_dev)
if (!xlog_debug && xlog_target == log->l_targ)
return 0;
#endif
retval = 0;
......@@ -472,7 +472,7 @@ xfs_log_reserve(xfs_mount_t *mp,
* Mount a log filesystem
*
* mp - ubiquitous xfs mount point structure
* log_dev - device number of on-disk log device
* log_target - buftarg of on-disk log device
* blk_offset - Start block # where block size is 512 bytes (BBSIZE)
* num_bblocks - Number of BBSIZE blocks in on-disk log
*
......@@ -480,7 +480,7 @@ xfs_log_reserve(xfs_mount_t *mp,
*/
int
xfs_log_mount(xfs_mount_t *mp,
dev_t log_dev,
xfs_buftarg_t *log_target,
xfs_daddr_t blk_offset,
int num_bblks)
{
......@@ -493,11 +493,11 @@ xfs_log_mount(xfs_mount_t *mp,
ASSERT(XFS_MTOVFS(mp)->vfs_flag & VFS_RDONLY);
}
mp->m_log = xlog_alloc_log(mp, log_dev, blk_offset, num_bblks);
mp->m_log = xlog_alloc_log(mp, log_target, blk_offset, num_bblks);
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (! xlog_debug) {
cmn_err(CE_NOTE, "log dev: 0x%x", log_dev);
if (!xlog_debug) {
cmn_err(CE_NOTE, "log dev: %s", XFS_BUFTARG_NAME(log_target));
return 0;
}
#endif
......@@ -605,7 +605,7 @@ xfs_log_unmount_write(xfs_mount_t *mp)
} magic = { XLOG_UNMOUNT_TYPE, 0, 0 };
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (! xlog_debug && xlog_devt == log->l_dev)
if (!xlog_debug && xlog_target == log->l_targ)
return 0;
#endif
......@@ -733,9 +733,9 @@ xfs_log_write(xfs_mount_t * mp,
{
int error;
xlog_t *log = mp->m_log;
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (! xlog_debug && xlog_devt == log->l_dev) {
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (!xlog_debug && xlog_target == log->l_targ) {
*start_lsn = 0;
return 0;
}
......@@ -760,7 +760,7 @@ xfs_log_move_tail(xfs_mount_t *mp,
SPLDECL(s);
#if defined(DEBUG) || defined(XLOG_NOLOG)
if (!xlog_debug && xlog_devt == log->l_dev)
if (!xlog_debug && xlog_target == log->l_targ)
return;
#endif
/* XXXsup tmp */
......@@ -1058,14 +1058,14 @@ xlog_get_iclog_buffer_size(xfs_mount_t *mp,
/*
* When logbufs == 0, someone has disabled the log from the FSTAB
* file. This is not a documented feature. We need to set xlog_debug
* to zero (this deactivates the log) and set xlog_devt to the
* to zero (this deactivates the log) and set xlog_target to the
* appropriate dev_t. Only one filesystem may be affected as such
* since this is just a performance hack to test what we might be able
* to get if the log were not present.
*/
if (mp->m_logbufs == 0) {
xlog_debug = 0;
xlog_devt = log->l_dev;
xlog_target = log->l_targ;
log->l_iclog_bufs = XLOG_MIN_ICLOGS;
} else
#endif
......@@ -1088,8 +1088,8 @@ xlog_get_iclog_buffer_size(xfs_mount_t *mp,
#if defined(DEBUG) || defined(XLOG_NOLOG)
/* We are reactivating a filesystem after it was active */
if (log->l_dev == xlog_devt) {
xlog_devt = 1;
if (log->l_targ == xlog_target) {
xlog_target = 1; /* XXX(hch): WTF? */
xlog_debug = 1;
}
#endif
......@@ -1175,7 +1175,7 @@ xlog_get_iclog_buffer_size(xfs_mount_t *mp,
*/
STATIC xlog_t *
xlog_alloc_log(xfs_mount_t *mp,
dev_t log_dev,
xfs_buftarg_t *log_target,
xfs_daddr_t blk_offset,
int num_bblks)
{
......@@ -1190,7 +1190,7 @@ xlog_alloc_log(xfs_mount_t *mp,
log = (xlog_t *)kmem_zalloc(sizeof(xlog_t), KM_SLEEP);
log->l_mp = mp;
log->l_dev = log_dev;
log->l_targ = log_target;
log->l_logsize = BBTOB(num_bblks);
log->l_logBBstart = blk_offset;
log->l_logBBsize = num_bblks;
......
......@@ -153,10 +153,10 @@ xfs_lsn_t xfs_log_done(struct xfs_mount *mp,
int xfs_log_force(struct xfs_mount *mp,
xfs_lsn_t lsn,
uint flags);
int xfs_log_mount(struct xfs_mount *mp,
dev_t log_dev,
xfs_daddr_t start_block,
int num_bblocks);
int xfs_log_mount(struct xfs_mount *mp,
struct xfs_buftarg *log_target,
xfs_daddr_t start_block,
int num_bblocks);
int xfs_log_mount_finish(struct xfs_mount *mp, int);
void xfs_log_move_tail(struct xfs_mount *mp,
xfs_lsn_t tail_lsn);
......
......@@ -504,7 +504,7 @@ typedef struct log {
struct xfs_mount *l_mp; /* mount point */
struct xfs_buf *l_xbuf; /* extra buffer for log
* wrapping */
dev_t l_dev; /* dev_t of log */
struct xfs_buftarg *l_targ; /* buftarg of log */
xfs_daddr_t l_logBBstart; /* start block of log */
int l_logsize; /* size of log in bytes */
int l_logBBsize; /* size of log in BB chunks */
......
......@@ -2179,8 +2179,8 @@ xlog_recover_do_buffer_trans(
break;
default:
xfs_fs_cmn_err(CE_ALERT, log->l_mp,
"xfs_log_recover: unknown buffer type 0x%x, dev 0x%x",
buf_f->blf_type, log->l_dev);
"xfs_log_recover: unknown buffer type 0x%x, dev %s",
buf_f->blf_type, XFS_BUFTARG_NAME(log->l_targ));
XFS_ERROR_REPORT("xlog_recover_do_buffer_trans",
XFS_ERRLEVEL_LOW, log->l_mp);
return XFS_ERROR(EFSCORRUPTED);
......@@ -3889,9 +3889,8 @@ xlog_recover(
}
cmn_err(CE_NOTE,
"Starting XFS recovery on filesystem: %s (dev: %d/%d)",
log->l_mp->m_fsname, MAJOR(log->l_dev),
MINOR(log->l_dev));
"Starting XFS recovery on filesystem: %s (dev: %s)",
log->l_mp->m_fsname, XFS_BUFTARG_NAME(log->l_targ));
error = xlog_do_recover(log, head_blk, tail_blk);
log->l_flags |= XLOG_RECOVERY_NEEDED;
......@@ -3940,9 +3939,7 @@ xlog_recover_finish(
cmn_err(CE_NOTE,
"Ending XFS recovery on filesystem: %s (dev: %d/%d)",
log->l_mp->m_fsname, MAJOR(log->l_dev),
MINOR(log->l_dev));
log->l_mp->m_fsname, XFS_BUFTARG_NAME(log->l_targ));
log->l_flags &= ~XLOG_RECOVERY_NEEDED;
} else {
cmn_err(CE_DEBUG,
......
......@@ -949,7 +949,7 @@ xfs_mountfs(
* log's mount-time initialization. Perform 1st part recovery if needed
*/
if (likely(sbp->sb_logblocks > 0)) { /* check for volume case */
error = xfs_log_mount(mp, mp->m_logdev_targp->pbr_dev,
error = xfs_log_mount(mp, mp->m_logdev_targp,
XFS_FSB_TO_DADDR(mp, sbp->sb_logstart),
XFS_FSB_TO_BB(mp, sbp->sb_logblocks));
if (error) {
......@@ -980,7 +980,7 @@ xfs_mountfs(
if (unlikely((rip->i_d.di_mode & IFMT) != IFDIR)) {
cmn_err(CE_WARN, "XFS: corrupted root inode");
prdev("Root inode %llu is not a directory",
mp->m_dev, (unsigned long long)rip->i_ino);
mp->m_ddev_targp, (unsigned long long)rip->i_ino);
xfs_iunlock(rip, XFS_ILOCK_EXCL);
XFS_ERROR_REPORT("xfs_mountfs_int(2)", XFS_ERRLEVEL_LOW,
mp);
......
......@@ -260,10 +260,10 @@ xfs_ioerror_alert(
xfs_daddr_t blkno)
{
cmn_err(CE_ALERT,
"I/O error in filesystem (\"%s\") meta-data dev 0x%x block 0x%llx"
"I/O error in filesystem (\"%s\") meta-data dev %s block 0x%llx"
" (\"%s\") error %d buf count %u",
(!mp || !mp->m_fsname) ? "(fs name not set)" : mp->m_fsname,
XFS_BUF_TARGET_DEV(bp),
XFS_BUFTARG_NAME(bp->pb_target),
(__uint64_t)blkno,
func,
XFS_BUF_GETERROR(bp),
......
......@@ -264,7 +264,7 @@ xfs_trans_getsb(xfs_trans_t *tp,
}
#ifdef DEBUG
dev_t xfs_error_dev = 0;
xfs_buftarg_t *xfs_error_target;
int xfs_do_error;
int xfs_req_num;
int xfs_error_mod = 33;
......@@ -322,7 +322,7 @@ xfs_trans_read_buf(
}
#ifdef DEBUG
if (xfs_do_error && (bp != NULL)) {
if (xfs_error_dev == target->pbr_dev) {
if (xfs_error_target == target) {
if (((xfs_req_num++) % xfs_error_mod) == 0) {
xfs_buf_relse(bp);
printk("Returning error!\n");
......@@ -425,7 +425,7 @@ xfs_trans_read_buf(
}
#ifdef DEBUG
if (xfs_do_error && !(tp->t_flags & XFS_TRANS_DIRTY)) {
if (xfs_error_dev == target->pbr_dev) {
if (xfs_error_target == target) {
if (((xfs_req_num++) % xfs_error_mod) == 0) {
xfs_force_shutdown(tp->t_mountp,
XFS_METADATA_IO_ERROR);
......
......@@ -1774,7 +1774,6 @@ xfs_showargs(
};
struct proc_xfs_info *xfs_infop;
struct xfs_mount *mp = XFS_BHVTOM(bhv);
char b[BDEVNAME_SIZE];
for (xfs_infop = xfs_info; xfs_infop->flag; xfs_infop++) {
if (mp->m_flags & xfs_infop->flag)
......@@ -1790,14 +1789,13 @@ xfs_showargs(
if (mp->m_logbsize > 0)
seq_printf(m, "," MNTOPT_LOGBSIZE "=%d", mp->m_logbsize);
if (mp->m_ddev_targp->pbr_dev != mp->m_logdev_targp->pbr_dev)
if (mp->m_ddev_targp != mp->m_logdev_targp)
seq_printf(m, "," MNTOPT_LOGDEV "=%s",
bdevname(mp->m_logdev_targp->pbr_bdev, b));
XFS_BUFTARG_NAME(mp->m_logdev_targp));
if (mp->m_rtdev_targp &&
mp->m_ddev_targp->pbr_dev != mp->m_rtdev_targp->pbr_dev)
if (mp->m_rtdev_targp && mp->m_ddev_targp != mp->m_rtdev_targp)
seq_printf(m, "," MNTOPT_RTDEV "=%s",
bdevname(mp->m_rtdev_targp->pbr_bdev, b));
XFS_BUFTARG_NAME(mp->m_rtdev_targp));
if (mp->m_dalign > 0)
seq_printf(m, "," MNTOPT_SUNIT "=%d",
......
......@@ -3737,8 +3737,9 @@ xfsidbg_xdabuf(xfs_dabuf_t *dabuf)
kdb_printf(" %d:0x%p", i, dabuf->bps[i]);
kdb_printf("\n");
#ifdef XFS_DABUF_DEBUG
kdb_printf(" ra 0x%x prev 0x%x next 0x%x dev 0x%x blkno 0x%x\n",
dabuf->ra, dabuf->prev, dabuf->next, dabuf->dev, dabuf->blkno);
kdb_printf(" ra 0x%x prev 0x%x next 0x%x dev %s blkno 0x%x\n",
dabuf->ra, dabuf->prev, dabuf->next,
XFS_BUFTARG_NAME(dabuf->dev), dabuf->blkno);
#endif
}
......@@ -4266,8 +4267,8 @@ xfsidbg_xlog(xlog_t *log)
xfsidbg_get_cstate(log->l_covered_state));
kdb_printf("flags: ");
printflags(log->l_flags, t_flags,"log");
kdb_printf(" dev: 0x%x logBBstart: %lld logsize: %d logBBsize: %d\n",
log->l_dev, (long long) log->l_logBBstart,
kdb_printf(" dev: %s logBBstart: %lld logsize: %d logBBsize: %d\n",
XFS_BUFTARG_NAME(log->l_targ), (long long) log->l_logBBstart,
log->l_logsize,log->l_logBBsize);
kdb_printf("curr_cycle: %d prev_cycle: %d curr_block: %d prev_block: %d\n",
log->l_curr_cycle, log->l_prev_cycle, log->l_curr_block,
......@@ -4642,11 +4643,14 @@ xfsidbg_xmount(xfs_mount_t *mp)
XFS_MTOVFS(mp), mp->m_tid, &mp->m_ail_lock, &mp->m_ail);
kdb_printf("ail_gen 0x%x &sb 0x%p\n",
mp->m_ail_gen, &mp->m_sb);
kdb_printf("sb_lock 0x%p sb_bp 0x%p dev 0x%x logdev 0x%x rtdev 0x%x\n",
kdb_printf("sb_lock 0x%p sb_bp 0x%p dev %s logdev %s rtdev %s\n",
&mp->m_sb_lock, mp->m_sb_bp,
mp->m_ddev_targp ? mp->m_ddev_targp->pbr_dev : 0,
mp->m_logdev_targp ? mp->m_logdev_targp->pbr_dev : 0,
mp->m_rtdev_targp ? mp->m_rtdev_targp->pbr_dev : 0);
mp->m_ddev_targp ?
XFS_BUFTARG_NAME(mp->m_ddev_targp) : "none",
mp->m_logdev_targp ?
XFS_BUFTARG_NAME(mp->m_logdev_targp) : "none",
mp->m_rtdev_targp ?
XFS_BUFTARG_NAME(mp->m_rtdev_targp) : "none");
kdb_printf("bsize %d agfrotor %d agirotor %d ihash 0x%p ihsize %d\n",
mp->m_bsize, mp->m_agfrotor, mp->m_agirotor,
mp->m_ihash, mp->m_ihsize);
......@@ -4817,8 +4821,8 @@ xfsidbg_xnode(xfs_inode_t *ip)
ip->i_mnext,
ip->i_mprev,
XFS_ITOV_NULL(ip));
kdb_printf("dev %x ino %s\n",
ip->i_mount->m_dev,
kdb_printf("dev %s ino %s\n",
XFS_BUFTARG_NAME(ip->i_mount->m_ddev_targp),
xfs_fmtino(ip->i_ino, ip->i_mount));
kdb_printf("blkno 0x%llx len 0x%x boffset 0x%x\n",
(long long) ip->i_blkno,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment