- ip->i_uid = INOXID_UID(XID_TAG(ip), uid, gid);
- ip->i_gid = INOXID_GID(XID_TAG(ip), uid, gid);
- ip->i_xid = INOXID_XID(XID_TAG(ip), uid, gid, 0);
+ ip->i_tag = INOTAG_TAG(DX_TAG(ip), uid, gid, 0);
+
+ jfs_ip->saved_uid = INOTAG_UID(DX_TAG(ip), uid, gid);
+ if (sbi->uid == -1)
+ ip->i_uid = jfs_ip->saved_uid;
+ else {
+ ip->i_uid = sbi->uid;
+ }
+
+ jfs_ip->saved_gid = INOTAG_GID(DX_TAG(ip), uid, gid);
+ if (sbi->gid == -1)
+ ip->i_gid = jfs_ip->saved_gid;
+ else {
+ ip->i_gid = sbi->gid;
+ }