]> Zhao Yanbai Git Server - minix.git/commitdiff
libfsdriver: preinitialize stat.st_ino 05/3005/1
authorDavid van Moolenbroek <david@minix3.org>
Sun, 21 Jun 2015 17:50:22 +0000 (17:50 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Tue, 23 Jun 2015 14:38:04 +0000 (14:38 +0000)
The stat.st_ino field must always be filled with the inode number
given as part of the fdr_stat request anyway, so libfsdriver can
simply fill in the number and allow the file system not to bother.

Change-Id: Ia7a849d0b23dfc83010df0d48fa26e4225427694

lib/libpuffs/stadir.c
minix/fs/ext2/stadir.c
minix/fs/mfs/stadir.c
minix/fs/pfs/pfs.c
minix/lib/libfsdriver/call.c
minix/lib/libsffs/stat.c
minix/lib/libvtreefs/stadir.c

index 6d1d14d07e9d5c20b1ff8d005d70cb7e28405d4d..c617bc4bfbeaac2db617199fc6c76a9823e61a5b 100644 (file)
@@ -45,7 +45,6 @@ int fs_stat(ino_t ino_nr, struct stat *statbuf)
   /* true iff special */
   s = (mo == I_CHAR_SPECIAL || mo == I_BLOCK_SPECIAL);
 
-  statbuf->st_ino = va.va_fileid;
   statbuf->st_mode = va.va_mode;
   statbuf->st_nlink = va.va_nlink;
   statbuf->st_uid = va.va_uid;
index 720b7389e7aa3be55c8b07e10e3b3dbbe4689e43..8045a53f74ef0e31b508ec5ad9c9dd4fd3e2f20e 100644 (file)
@@ -31,8 +31,6 @@ int fs_stat(ino_t ino_nr, struct stat *statbuf)
   /* true iff special */
   s = (mo == I_CHAR_SPECIAL || mo == I_BLOCK_SPECIAL);
 
-  statbuf->st_dev = rip->i_dev;
-  statbuf->st_ino = rip->i_num;
   statbuf->st_mode = rip->i_mode;
   statbuf->st_nlink = rip->i_links_count;
   statbuf->st_uid = rip->i_uid;
index 91be2280a1ad87f8a57048a5795e67229a34f2b7..2d161cdbd1bd92b82f88844a083ea5b6fb8b537f 100644 (file)
@@ -59,8 +59,6 @@ int fs_stat(ino_t ino_nr, struct stat *statbuf)
   /* true iff special */
   s = (mo == I_CHAR_SPECIAL || mo == I_BLOCK_SPECIAL);
 
-  statbuf->st_dev = rip->i_dev;
-  statbuf->st_ino = (ino_t) rip->i_num;
   statbuf->st_mode = (mode_t) rip->i_mode;
   statbuf->st_nlink = (nlink_t) rip->i_nlinks;
   statbuf->st_uid = rip->i_uid;
index f73adb6fd7ce30573d5cee57c70d0a0db7f0a3e6..050edd1532f652a8b2cbeecb45fce918ea95a146 100644 (file)
@@ -338,7 +338,6 @@ pfs_stat(ino_t ino_nr, struct stat * statbuf)
 
        /* Fill the stat buffer. */
        statbuf->st_dev = rip->i_rdev;  /* workaround for old socketpair bug */
-       statbuf->st_ino = rip->i_num;
        statbuf->st_mode = rip->i_mode;
        statbuf->st_nlink = 0;
        statbuf->st_uid = rip->i_uid;
index 1f6189da18824a7946cf0354ced2b805e94cd289..7b43673968c26d7e61a987e8444d2223f150ced3 100644 (file)
@@ -726,6 +726,7 @@ fsdriver_stat(const struct fsdriver * __restrict fdp,
 
        memset(&buf, 0, sizeof(buf));
        buf.st_dev = fsdriver_device;
+       buf.st_ino = ino_nr;
 
        if ((r = fdp->fdr_stat(ino_nr, &buf)) == OK)
                r = sys_safecopyto(m_in->m_source, grant, 0, (vir_bytes)&buf,
index 330afbf086776eb47a76c1a7404c00fd10506a0a..1fce5675cce6c1d23d67786ed845259b9024c51f 100644 (file)
@@ -56,7 +56,6 @@ int do_stat(ino_t ino_nr, struct stat *stat)
   if ((r = verify_inode(ino, path, &attr)) != OK)
        return r;
 
-  stat->st_ino = ino_nr;
   stat->st_mode = get_mode(ino, attr.a_mode);
   stat->st_uid = sffs_params->p_uid;
   stat->st_gid = sffs_params->p_gid;
index 3f0d17df79e0eddf6932da211829ce122794bab4..5a4a5e5c8c6563d47c8ae386ab09727c8209f95e 100644 (file)
@@ -17,7 +17,6 @@ fs_stat(ino_t ino_nr, struct stat * buf)
                return EINVAL;
 
        /* Fill in the basic info. */
-       buf->st_ino = get_inode_number(node);
        buf->st_mode = node->i_stat.mode;
        buf->st_nlink = !is_inode_deleted(node);
        buf->st_uid = node->i_stat.uid;