aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNikolay Borisov <[email protected]>2016-05-22 14:15:57 +0300
committerBrian Behlendorf <[email protected]>2016-07-25 13:21:49 -0700
commit2c6abf15ff5bcc979653eef0131f90d4f0fede21 (patch)
tree29bc74006a16d50335196ccd1e7459b569e48b57 /include
parent82a1b2d6289f9ceae0bee6f1e71d3bc29a8c5d16 (diff)
Remove znode's z_uid/z_gid member
Remove duplicate z_uid/z_gid member which are also held in the generic vfs inode struct. This is done by first removing the members from struct znode and then using the KUID_TO_SUID/KGID_TO_SGID macros to access the respective member from struct inode. In cases where the uid/gids are being marshalled from/to disk, use the newly introduced zfs_(uid|gid)_(read|write) functions to properly save the uids rather than the internal kernel representation. Signed-off-by: Nikolay Borisov <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #4685 Issue #227
Diffstat (limited to 'include')
-rw-r--r--include/sys/trace_acl.h31
-rw-r--r--include/sys/zfs_znode.h2
2 files changed, 16 insertions, 17 deletions
diff --git a/include/sys/trace_acl.h b/include/sys/trace_acl.h
index db4334951..bd19c5a16 100644
--- a/include/sys/trace_acl.h
+++ b/include/sys/trace_acl.h
@@ -31,6 +31,7 @@
#define _TRACE_ACL_H
#include <linux/tracepoint.h>
+#include <linux/vfs_compat.h>
#include <sys/types.h>
/*
@@ -56,8 +57,6 @@ DECLARE_EVENT_CLASS(zfs_ace_class,
__field(uint64_t, z_mapcnt)
__field(uint64_t, z_size)
__field(uint64_t, z_pflags)
- __field(uint64_t, z_uid)
- __field(uint64_t, z_gid)
__field(uint32_t, z_sync_cnt)
__field(mode_t, z_mode)
__field(boolean_t, z_is_sa)
@@ -65,6 +64,8 @@ DECLARE_EVENT_CLASS(zfs_ace_class,
__field(boolean_t, z_is_ctldir)
__field(boolean_t, z_is_stale)
+ __field(uint32_t, i_uid)
+ __field(uint32_t, i_gid)
__field(unsigned long, i_ino)
__field(unsigned int, i_nlink)
__field(u64, i_version)
@@ -91,8 +92,6 @@ DECLARE_EVENT_CLASS(zfs_ace_class,
__entry->z_mapcnt = zn->z_mapcnt;
__entry->z_size = zn->z_size;
__entry->z_pflags = zn->z_pflags;
- __entry->z_uid = zn->z_uid;
- __entry->z_gid = zn->z_gid;
__entry->z_sync_cnt = zn->z_sync_cnt;
__entry->z_mode = zn->z_mode;
__entry->z_is_sa = zn->z_is_sa;
@@ -100,6 +99,8 @@ DECLARE_EVENT_CLASS(zfs_ace_class,
__entry->z_is_ctldir = zn->z_is_ctldir;
__entry->z_is_stale = zn->z_is_stale;
+ __entry->i_uid = zfs_uid_read(ZTOI(zn));
+ __entry->i_gid = zfs_gid_read(ZTOI(zn));
__entry->i_ino = zn->z_inode.i_ino;
__entry->i_nlink = zn->z_inode.i_nlink;
__entry->i_version = zn->z_inode.i_version;
@@ -118,22 +119,22 @@ DECLARE_EVENT_CLASS(zfs_ace_class,
TP_printk("zn { id %llu unlinked %u atime_dirty %u "
"zn_prefetch %u moved %u blksz %u seq %u "
"mapcnt %llu size %llu pflags %llu "
- "uid %llu gid %llu sync_cnt %u mode 0x%x is_sa %d "
+ "sync_cnt %u mode 0x%x is_sa %d "
"is_mapped %d is_ctldir %d is_stale %d inode { "
- "ino %lu nlink %u version %llu size %lli blkbits %u "
- "bytes %u mode 0x%x generation %x } } ace { type %u "
- "flags %u access_mask %u } mask_matched %u",
+ "uid %u gid %u ino %lu nlink %u version %llu size %lli "
+ "blkbits %u bytes %u mode 0x%x generation %x } } "
+ "ace { type %u flags %u access_mask %u } mask_matched %u",
__entry->z_id, __entry->z_unlinked, __entry->z_atime_dirty,
__entry->z_zn_prefetch, __entry->z_moved, __entry->z_blksz,
__entry->z_seq, __entry->z_mapcnt, __entry->z_size,
- __entry->z_pflags, __entry->z_uid,
- __entry->z_gid, __entry->z_sync_cnt, __entry->z_mode,
+ __entry->z_pflags, __entry->z_sync_cnt, __entry->z_mode,
__entry->z_is_sa, __entry->z_is_mapped,
- __entry->z_is_ctldir, __entry->z_is_stale, __entry->i_ino,
- __entry->i_nlink, __entry->i_version, __entry->i_size,
- __entry->i_blkbits, __entry->i_bytes, __entry->i_mode,
- __entry->i_generation, __entry->z_type, __entry->z_flags,
- __entry->z_access_mask, __entry->mask_matched)
+ __entry->z_is_ctldir, __entry->z_is_stale, __entry->i_uid,
+ __entry->i_gid, __entry->i_ino, __entry->i_nlink,
+ __entry->i_version, __entry->i_size, __entry->i_blkbits,
+ __entry->i_bytes, __entry->i_mode, __entry->i_generation,
+ __entry->z_type, __entry->z_flags, __entry->z_access_mask,
+ __entry->mask_matched)
);
#define DEFINE_ACE_EVENT(name) \
diff --git a/include/sys/zfs_znode.h b/include/sys/zfs_znode.h
index bf03c1530..a12675d6f 100644
--- a/include/sys/zfs_znode.h
+++ b/include/sys/zfs_znode.h
@@ -188,8 +188,6 @@ typedef struct znode {
uint64_t z_dnodesize; /* dnode size */
uint64_t z_size; /* file size (cached) */
uint64_t z_pflags; /* pflags (cached) */
- uint64_t z_uid; /* uid fuid (cached) */
- uint64_t z_gid; /* gid fuid (cached) */
uint32_t z_sync_cnt; /* synchronous open count */
mode_t z_mode; /* mode (cached) */
kmutex_t z_acl_lock; /* acl data lock */