mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Modifying XATTRs doesnt change the ctime
Changing any metadata, should modify the ctime. Reviewed-by: Chunwei Chen <tuxoko@gmail.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: gaurkuma <gauravk.18@gmail.com> Closes #3644 Closes #6586
This commit is contained in:
committed by
Brian Behlendorf
parent
b1490dd43e
commit
0107f69898
+11
-2
@@ -248,8 +248,17 @@ zfs_sa_set_xattr(znode_t *zp)
|
||||
if (error) {
|
||||
dmu_tx_abort(tx);
|
||||
} else {
|
||||
VERIFY0(sa_update(zp->z_sa_hdl, SA_ZPL_DXATTR(zfsvfs),
|
||||
obj, size, tx));
|
||||
int count = 0;
|
||||
sa_bulk_attr_t bulk[2];
|
||||
uint64_t ctime[2];
|
||||
|
||||
zfs_tstamp_update_setup(zp, STATE_CHANGED, NULL, ctime);
|
||||
SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_DXATTR(zfsvfs),
|
||||
NULL, obj, size);
|
||||
SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CTIME(zfsvfs),
|
||||
NULL, &ctime, 16);
|
||||
VERIFY0(sa_bulk_update(zp->z_sa_hdl, bulk, count, tx));
|
||||
|
||||
dmu_tx_commit(tx);
|
||||
}
|
||||
out_free:
|
||||
|
||||
@@ -495,6 +495,12 @@ zpl_xattr_set_dir(struct inode *ip, const char *name, const void *value,
|
||||
error = wrote;
|
||||
|
||||
out:
|
||||
|
||||
if (error == 0) {
|
||||
ip->i_ctime = current_time(ip);
|
||||
zfs_mark_inode_dirty(ip);
|
||||
}
|
||||
|
||||
if (vap)
|
||||
kmem_free(vap, sizeof (vattr_t));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user