<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Thomas,
<div class="">thanks for working on this functionality and raising this question.</div>
<div class=""><br class="">
</div>
<div class="">As you know, I'm inclined toward the <tt class="">user.job</tt> xattr, but I think it is never a good idea to unilaterally make policy decisions in the kernel that cannot be changed.</div>
<div class="">
<p class="">As such, it probably makes sense to have a tunable parameter like "<tt class="">mdt.*.job_xattr=user.job</tt>" and then this could be changed in the future if there is some conflict (e.g. some site already uses the "<tt class="">user.job</tt>" xattr
 for some other purpose).</p>
<p class="">I don't think the <tt class="">job_xattr</tt> should allow totally arbitrary values (e.g. overwriting
<tt class="">trusted.lov</tt> or <tt class="">trusted.lma</tt> or <tt class="">security.*</tt> would be bad). One option is to only allow a limited selection of valid xattr namespaces, and possibly names:</p>
<ul class="alternate" type="square">
<li class=""><tt class="">NONE</tt> to turn this feature off</li><li class=""><tt class="">user</tt>, or <tt class="">trusted</tt> or <tt class="">
system</tt> (if admin wants to restrict the ability of regular users to change this value?), with "<tt class="">.job</tt>" added automatically</li><li class=""><tt class="">user.*</tt> (or <tt class="">trusted.*</tt> or <tt class="">
system.*</tt>) to also allow specifying the xattr name</li></ul>
<p class="">If we allow the xattr name portion to be specified (which I'm not sure about, but putting it out for completeness), it should have some reasonable limits:</p>
<ul class="alternate" type="square">
<li class=""><= 7 characters long to avoid wasting valuable xattr space in the inode</li><li class="">should not conflict with other known xattrs, which is tricky if we allow the name to be arbitrary. Possibly if in
<tt class="">trusted</tt> (and <tt class="">system</tt>?) it should only allow <tt class="">
trusted.job</tt> to avoid future conflicts?</li><li class="">maybe restrict it to contain "<tt class="">job</tt>" (or maybe "<tt class="">pbs</tt>", "<tt class="">slurm</tt>", ...) to reduce the chance of namespace clashes in
<tt class="">user</tt> or <tt class="">system</tt>? However, I'm reluctant to restrict names in
<tt class="">user</tt> since this <em class="">shouldn't</em> have any fatal side effects (e.g. data corruption like in
<tt class="">trusted</tt> or <tt class="">system</tt>), and the admin is supposed to know what they are doing...</li></ul>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On May 4, 2023, at 15:53, Bertschinger, Thomas Andrew Hjorth via lustre-discuss <<a href="mailto:lustre-discuss@lists.lustre.org" class="">lustre-discuss@lists.lustre.org</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Hello Lustre Users,<br class="">
<br class="">
There has been interest in a proposed feature <a href="https://jira.whamcloud.com/browse/LU-13031" class="">
https://jira.whamcloud.com/browse/LU-13031</a> to store the jobid with each Lustre file at create time, in an extended attribute. An open question is which xattr namespace is to use between "user", the Lustre-specific namespace "lustre", "trusted", or even
 perhaps "system".<br class="">
<br class="">
The correct namespace likely depends on how this xattr will be used. For example, will interoperability with other filesystems be important? Different namespaces have their own limitations so the correct choice depends on the use cases.<br class="">
<br class="">
I'm looking for feedback on applications for this feature. If you have thoughts on how you could use this, please feel free to share them so that we design it in a way that meets your needs.<br class="">
<br class="">
Thanks!<br class="">
<br class="">
Tom Bertschinger<br class="">
LANL<br class="">
_______________________________________________<br class="">
lustre-discuss mailing list<br class="">
<a href="mailto:lustre-discuss@lists.lustre.org" class="">lustre-discuss@lists.lustre.org</a><br class="">
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
<div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div>Cheers, Andreas</div>
<div>--</div>
<div>Andreas Dilger</div>
<div>Lustre Principal Architect</div>
<div>Whamcloud</div>
<div><br class="">
</div>
<div><br class="">
</div>
<div><br class="">
</div>
</div>
</div>
</div>
</div>
</div>
<br class="Apple-interchange-newline">
</div>
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
</div>
<br class="">
</div>
</body>
</html>