Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2019 18:37:45 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r344288 - stable/11/stand/libsa
Message-ID:  <201902191837.x1JIbjSo021213@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Tue Feb 19 18:37:45 2019
New Revision: 344288
URL: https://svnweb.freebsd.org/changeset/base/344288

Log:
  MFC r334868: Add st_mtime, st_ino and st_dev for ufs_stat

Modified:
  stable/11/stand/libsa/ufs.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/stand/libsa/ufs.c
==============================================================================
--- stable/11/stand/libsa/ufs.c	Tue Feb 19 18:35:49 2019	(r344287)
+++ stable/11/stand/libsa/ufs.c	Tue Feb 19 18:37:45 2019	(r344288)
@@ -124,6 +124,7 @@ struct file {
 	ufs2_daddr_t	f_buf_blkno;	/* block number of data block */
 	char		*f_buf;		/* buffer for data block */
 	size_t		f_buf_size;	/* size of data block */
+	int		f_inumber;	/* inumber */
 };
 #define DIP(fp, field) \
 	((fp)->f_fs->fs_magic == FS_UFS1_MAGIC ? \
@@ -185,6 +186,7 @@ read_inode(inumber, f)
 		fp->f_buf_blkno = -1;
 	}
 	fp->f_seekp = 0;
+	fp->f_inumber = inumber;
 out:
 	free(buf);
 	return (rc);	 
@@ -831,6 +833,20 @@ ufs_stat(f, sb)
 	sb->st_uid = DIP(fp, di_uid);
 	sb->st_gid = DIP(fp, di_gid);
 	sb->st_size = DIP(fp, di_size);
+	sb->st_mtime = DIP(fp, di_mtime);
+	/*
+	 * The items below are ufs specific!
+	 * Other fs types will need their own solution
+	 * if these fields are needed.
+	 */
+	sb->st_ino = fp->f_inumber;
+	/*
+	 * We need something to differentiate devs.
+	 * fs_id is unique but 64bit, we xor the two
+	 * halves to squeeze it into 32bits.
+	 */
+	sb->st_dev = (dev_t)(fp->f_fs->fs_id[0] ^ fp->f_fs->fs_id[1]);
+
 	return (0);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201902191837.x1JIbjSo021213>