From: Alexander Viro Date: Thu, 4 Jul 2002 15:54:08 +0000 (-0700) Subject: [PATCH] ->i_dev switched to dev_t X-Git-Tag: v2.5.25~13^2^2 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=88cc0d3e8fc80880372e6900712a6f3f8172286a;p=history.git [PATCH] ->i_dev switched to dev_t * ->i_dev followed the example of ->s_dev - it's dev_t now. All remaining uses of ->i_dev either outright want dev_t (stat()) or couldn't care less (printing major:minor in /proc//maps, etc.) --- diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.c index 743a2eed2cd5..7dfb666b685a 100644 --- a/arch/sparc/kernel/signal.c +++ b/arch/sparc/kernel/signal.c @@ -1090,7 +1090,7 @@ static inline void syscall_restart(unsigned long orig_i0, struct pt_regs *regs, #ifdef DEBUG_SIGNALS_MAPS -#define MAPS_LINE_FORMAT "%08lx-%08lx %s %08lx %s %lu " +#define MAPS_LINE_FORMAT "%08lx-%08lx %s %08lx %02x:%02x %lu " static inline void read_maps (void) { @@ -1107,7 +1107,7 @@ static inline void read_maps (void) char *line; char str[5], *cp = str; int flags; - kdev_t dev; + dev_t dev; unsigned long ino; /* @@ -1132,7 +1132,7 @@ static inline void read_maps (void) buffer, PAGE_SIZE); } printk(MAPS_LINE_FORMAT, map->vm_start, map->vm_end, str, map->vm_pgoff << PAGE_SHIFT, - kdevname(dev), ino); + MAJOR(dev), MINOR(dev), ino); if (map->vm_file != NULL) printk("%s\n", line); else diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c index 3edaef15cc9e..9cc20dc19033 100644 --- a/arch/sparc64/kernel/signal.c +++ b/arch/sparc64/kernel/signal.c @@ -633,7 +633,7 @@ static inline void syscall_restart(unsigned long orig_i0, struct pt_regs *regs, #ifdef DEBUG_SIGNALS_MAPS -#define MAPS_LINE_FORMAT "%016lx-%016lx %s %016lx %s %lu " +#define MAPS_LINE_FORMAT "%016lx-%016lx %s %016lx %02x:%02x %lu " static inline void read_maps (void) { @@ -650,7 +650,7 @@ static inline void read_maps (void) char *line; char str[5], *cp = str; int flags; - kdev_t dev; + dev_t dev; unsigned long ino; /* @@ -675,7 +675,7 @@ static inline void read_maps (void) buffer, PAGE_SIZE); } printk(MAPS_LINE_FORMAT, map->vm_start, map->vm_end, str, map->vm_pgoff << PAGE_SHIFT, - kdevname(dev), ino); + MAJOR(dev), MINOR(dev), ino); if (map->vm_file != NULL) printk("%s\n", line); else diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c index 4a49af3a33ba..47246310aa15 100644 --- a/arch/sparc64/kernel/signal32.c +++ b/arch/sparc64/kernel/signal32.c @@ -1319,7 +1319,7 @@ static inline void syscall_restart32(unsigned long orig_i0, struct pt_regs *regs #ifdef DEBUG_SIGNALS_MAPS -#define MAPS_LINE_FORMAT "%016lx-%016lx %s %016lx %s %lu " +#define MAPS_LINE_FORMAT "%016lx-%016lx %s %016lx %02x:%02x %lu " static inline void read_maps (void) { @@ -1336,7 +1336,7 @@ static inline void read_maps (void) char *line; char str[5], *cp = str; int flags; - kdev_t dev; + dev_t dev; unsigned long ino; /* @@ -1361,7 +1361,7 @@ static inline void read_maps (void) buffer, PAGE_SIZE); } printk(MAPS_LINE_FORMAT, map->vm_start, map->vm_end, str, map->vm_pgoff << PAGE_SHIFT, - kdevname(dev), ino); + MAJOR(dev), MINOR(dev), ino); if (map->vm_file != NULL) printk("%s\n", line); else diff --git a/fs/block_dev.c b/fs/block_dev.c index 34f88ef66b0f..3ee4d14491bc 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -299,7 +299,6 @@ struct block_device *bdget(dev_t dev) new_bdev->bd_inode = inode; inode->i_mode = S_IFBLK; inode->i_rdev = kdev; - inode->i_dev = kdev; inode->i_bdev = new_bdev; inode->i_data.a_ops = &def_blk_aops; inode->i_data.gfp_mask = GFP_USER; diff --git a/fs/inode.c b/fs/inode.c index a3b2cd4e8a3c..d0e6bda9772a 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -101,7 +101,7 @@ static struct inode *alloc_inode(struct super_block *sb) struct address_space * const mapping = &inode->i_data; inode->i_sb = sb; - inode->i_dev = to_kdev_t(sb->s_dev); + inode->i_dev = sb->s_dev; inode->i_blkbits = sb->s_blocksize_bits; inode->i_flags = 0; atomic_set(&inode->i_count, 1); diff --git a/fs/locks.c b/fs/locks.c index 1e58f91263c5..bb32d1516343 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1751,9 +1751,12 @@ static void lock_get_status(char* out, struct file_lock *fl, int id, char *pfx) ? (fl->fl_type & F_UNLCK) ? "UNLCK" : "READ " : (fl->fl_type & F_WRLCK) ? "WRITE" : "READ "); } + /* + * NOTE: it should be inode->i_sb->s_id, not kdevname(...). + */ out += sprintf(out, "%d %s:%ld ", fl->fl_pid, - inode ? kdevname(inode->i_dev) : "", + inode ? kdevname(to_kdev_t(inode->i_dev)) : "", inode ? inode->i_ino : 0); out += sprintf(out, "%Ld ", fl->fl_start); if (fl->fl_end == OFFSET_MAX) diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c index 89d1f99ef77c..71279e639ba3 100644 --- a/fs/nfsd/nfs3xdr.c +++ b/fs/nfsd/nfs3xdr.c @@ -219,7 +219,7 @@ encode_saved_post_attr(struct svc_rqst *rqstp, u32 *p, struct svc_fh *fhp) && (fhp->fh_export->ex_flags & NFSEXP_FSID)) p = xdr_encode_hyper(p, (u64) fhp->fh_export->ex_fsid); else - p = xdr_encode_hyper(p, (u64) kdev_t_to_nr(inode->i_dev)); + p = xdr_encode_hyper(p, (u64) inode->i_dev); p = xdr_encode_hyper(p, (u64) inode->i_ino); p = encode_time3(p, fhp->fh_post_atime); p = encode_time3(p, fhp->fh_post_mtime); diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 02419edd0250..56cd76ef5c57 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -66,7 +66,7 @@ struct raparms { struct raparms *p_next; unsigned int p_count; ino_t p_ino; - kdev_t p_dev; + dev_t p_dev; struct file_ra_state p_ra; }; @@ -527,14 +527,14 @@ nfsd_sync_dir(struct dentry *dp) static spinlock_t ra_lock = SPIN_LOCK_UNLOCKED; static inline struct raparms * -nfsd_get_raparms(kdev_t dev, ino_t ino) +nfsd_get_raparms(dev_t dev, ino_t ino) { struct raparms *ra, **rap, **frap = NULL; int depth = 0; spin_lock(&ra_lock); for (rap = &raparm_cache; (ra = *rap); rap = &ra->p_next) { - if (ra->p_ino == ino && kdev_same(ra->p_dev, dev)) + if (ra->p_ino == ino && ra->p_dev == dev) goto found; depth++; if (ra->p_count == 0) @@ -691,8 +691,8 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, } if (err >= 0 && stable) { - static unsigned long last_ino; - static kdev_t last_dev = NODEV; + static ino_t last_ino; + static dev_t last_dev = 0; /* * Gathered writes: If another process is currently @@ -708,7 +708,7 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, */ if (EX_WGATHER(exp)) { if (atomic_read(&inode->i_writecount) > 1 - || (last_ino == inode->i_ino && kdev_same(last_dev, inode->i_dev))) { + || (last_ino == inode->i_ino && last_dev == inode->i_dev)) { dprintk("nfsd: write defer %d\n", current->pid); set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout((HZ+99)/100); diff --git a/fs/proc/array.c b/fs/proc/array.c index ff74e5098ea7..218e20e62701 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -538,11 +538,11 @@ int proc_pid_statm(struct task_struct *task, char * buffer) * + (index into the line) */ /* for systems with sizeof(void*) == 4: */ -#define MAPS_LINE_FORMAT4 "%08lx-%08lx %s %08lx %s %lu" +#define MAPS_LINE_FORMAT4 "%08lx-%08lx %s %08lx %02x:%02x %lu" #define MAPS_LINE_MAX4 49 /* sum of 8 1 8 1 4 1 8 1 5 1 10 1 */ /* for systems with sizeof(void*) == 8: */ -#define MAPS_LINE_FORMAT8 "%016lx-%016lx %s %016lx %s %lu" +#define MAPS_LINE_FORMAT8 "%016lx-%016lx %s %016lx %02x:%02x %lu" #define MAPS_LINE_MAX8 73 /* sum of 16 1 16 1 4 1 16 1 5 1 10 1 */ #define MAPS_LINE_FORMAT (sizeof(void*) == 4 ? MAPS_LINE_FORMAT4 : MAPS_LINE_FORMAT8) @@ -554,7 +554,7 @@ static int proc_pid_maps_get_line (char *buf, struct vm_area_struct *map) char *line; char str[5]; int flags; - kdev_t dev; + dev_t dev; unsigned long ino; int len; @@ -566,7 +566,7 @@ static int proc_pid_maps_get_line (char *buf, struct vm_area_struct *map) str[3] = flags & VM_MAYSHARE ? 's' : 'p'; str[4] = 0; - dev = NODEV; + dev = 0; ino = 0; if (map->vm_file != NULL) { dev = map->vm_file->f_dentry->d_inode->i_dev; @@ -584,7 +584,7 @@ static int proc_pid_maps_get_line (char *buf, struct vm_area_struct *map) len = sprintf(line, MAPS_LINE_FORMAT, map->vm_start, map->vm_end, str, map->vm_pgoff << PAGE_SHIFT, - kdevname(dev), ino); + MAJOR(dev), MINOR(dev), ino); if(map->vm_file) { int i; diff --git a/fs/stat.c b/fs/stat.c index 3f87e0e823ec..bce88512b2b5 100644 --- a/fs/stat.c +++ b/fs/stat.c @@ -17,7 +17,7 @@ void generic_fillattr(struct inode *inode, struct kstat *stat) { - stat->dev = kdev_t_to_nr(inode->i_dev); + stat->dev = inode->i_dev; stat->ino = inode->i_ino; stat->mode = inode->i_mode; stat->nlink = inode->i_nlink; diff --git a/include/linux/fs.h b/include/linux/fs.h index 1292fc4474cc..647d2e20ce52 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -359,7 +359,7 @@ struct inode { struct list_head i_dentry; unsigned long i_ino; atomic_t i_count; - kdev_t i_dev; + dev_t i_dev; umode_t i_mode; nlink_t i_nlink; uid_t i_uid; diff --git a/include/linux/kdev_t.h b/include/linux/kdev_t.h index 2c61fc5161b6..1721915141c7 100644 --- a/include/linux/kdev_t.h +++ b/include/linux/kdev_t.h @@ -36,8 +36,7 @@ typedef struct { unsigned short major, minor; } kdev_t; Admissible operations on an object of type kdev_t: - passing it along - comparing it for equality with another such object -- storing it in inode->i_dev, inode->i_rdev, req->rq_dev, de->dc_dev, -- tty->device +- storing it in inode->i_rdev, req->rq_dev, de->dc_dev, tty->device - using its bit pattern as argument in a hash function - finding its major and minor - complaining about it diff --git a/net/socket.c b/net/socket.c index bed470afb5ed..798eeab2f47c 100644 --- a/net/socket.c +++ b/net/socket.c @@ -465,7 +465,7 @@ struct socket *sock_alloc(void) if (!inode) return NULL; - inode->i_dev = NODEV; + inode->i_dev = 0; sock = SOCKET_I(inode); inode->i_mode = S_IFSOCK|S_IRWXUGO;