summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/xattr.c
diff options
context:
space:
mode:
authorjoyce mcintosh <Joyce.McIntosh@Sun.COM>2010-08-11 16:48:54 -0700
committerjoyce mcintosh <Joyce.McIntosh@Sun.COM>2010-08-11 16:48:54 -0700
commitfd9ee8b58485b20072eeef1310a88ff348d5e7fa (patch)
tree74e8f3fc5f5409cdc6be3dae5631f8d0c672260a /usr/src/uts/common/fs/xattr.c
parente2c5185af3c50d9510e5df68aa37abdc6c0d3aac (diff)
downloadillumos-joyent-fd9ee8b58485b20072eeef1310a88ff348d5e7fa.tar.gz
6972305 Preferred DC not selected after setting pdc via sharectl
6971047 smbd hang during FVT regression test 6711195 Sparc:Get error "Windows Explorer has stopped working" once click on Details fr Properties on Vista PSARC/2009/464 Offline attribute 6972515 Offline attribute - PSARC 2009/464 PSARC/2010/037 Windows Sparse Attribute 6972519 Windows Sparse Attribute - PSARC 2010/037 6719444 [CLI] - idmap help's output is not consistent with man pages's 6975449 idmap test suite needs idmap_cache_get_data() from libidmap 6974351 OpenSSL still taking smbd down --HG-- rename : usr/src/lib/libidmap/common/idmap_priv.h => usr/src/cmd/idmap/idmap/namemaps.h
Diffstat (limited to 'usr/src/uts/common/fs/xattr.c')
-rw-r--r--usr/src/uts/common/fs/xattr.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/usr/src/uts/common/fs/xattr.c b/usr/src/uts/common/fs/xattr.c
index 1657f25549..a1173e69f5 100644
--- a/usr/src/uts/common/fs/xattr.c
+++ b/usr/src/uts/common/fs/xattr.c
@@ -228,6 +228,12 @@ xattr_fill_nvlist(vnode_t *vp, xattr_view_t xattr_view, nvlist_t *nvlp,
case F_GEN:
XVA_SET_REQ(&xvattr, XAT_GEN);
break;
+ case F_OFFLINE:
+ XVA_SET_REQ(&xvattr, XAT_OFFLINE);
+ break;
+ case F_SPARSE:
+ XVA_SET_REQ(&xvattr, XAT_SPARSE);
+ break;
default:
break;
}
@@ -320,6 +326,16 @@ xattr_fill_nvlist(vnode_t *vp, xattr_view_t xattr_view, nvlist_t *nvlp,
attr_to_name(F_GEN),
xoap->xoa_generation) == 0);
}
+ if (XVA_ISSET_RTN(&xvattr, XAT_OFFLINE)) {
+ VERIFY(nvlist_add_boolean_value(nvlp,
+ attr_to_name(F_OFFLINE),
+ xoap->xoa_offline) == 0);
+ }
+ if (XVA_ISSET_RTN(&xvattr, XAT_SPARSE)) {
+ VERIFY(nvlist_add_boolean_value(nvlp,
+ attr_to_name(F_SPARSE),
+ xoap->xoa_sparse) == 0);
+ }
}
/*
* Check for optional ownersid/groupsid
@@ -697,6 +713,14 @@ xattr_file_write(vnode_t *vp, uio_t *uiop, int ioflag, cred_t *cr,
XVA_SET_REQ(&xvattr, XAT_REPARSE);
xoap->xoa_reparse = value;
break;
+ case F_OFFLINE:
+ XVA_SET_REQ(&xvattr, XAT_OFFLINE);
+ xoap->xoa_offline = value;
+ break;
+ case F_SPARSE:
+ XVA_SET_REQ(&xvattr, XAT_SPARSE);
+ xoap->xoa_sparse = value;
+ break;
default:
break;
}
@@ -838,6 +862,8 @@ xattr_copy(vnode_t *sdvp, char *snm, vnode_t *tdvp, char *tnm,
XVA_SET_REQ(&xvattr, XAT_AV_QUARANTINED);
XVA_SET_REQ(&xvattr, XAT_CREATETIME);
XVA_SET_REQ(&xvattr, XAT_REPARSE);
+ XVA_SET_REQ(&xvattr, XAT_OFFLINE);
+ XVA_SET_REQ(&xvattr, XAT_SPARSE);
pdvp = gfs_file_parent(sdvp);
error = VOP_GETATTR(pdvp, &xvattr.xva_vattr, 0, cr, ct);