User Details
- User Since
- Jan 13 2015, 10:58 PM (542 w, 6 h)
Yesterday
Mon, Jun 2
Are you sure? I didn't think the krpc used rpcbind.
Fri, May 30
Tue, May 27
Mon, May 26
Sun, May 25
The main change is to zfs_readdir(), so that it skips over
forbidden names for a named attribute directory.
Sat, May 24
Fri, May 23
Good questions! Maybe they need to be asked on a mailing
list for FreeBSD, but at least I'd like to hear your thoughts.
Sat, May 17
Fri, May 16
Sat, May 10
Tue, May 6
Added support for _PC_HAS_NAMEDATTR, which is
mainly a new function called zfs_has_namedattr().
Mon, May 5
May 5 2025
May 4 2025
It seems to do so. Solaris calls it _PC_XATTR_EXISTS.
It seems to work for local files on Solaris, but returns random junk for an NFSv4 mount.
(Since things look correct on the wire, I think this is just a Solaris bug?)
May 3 2025
Clarified when named attributes and named attribute
directories are created.
May 1 2025
Apr 25 2025
Apr 23 2025
Replaced the copyright notice with the new recommended
short one, as suggested by ziaee@.
Removed the "." after my name in the copyright.
Added chdir(2) to the SEE ALSO section of the runat.1.
Marked inline comments as done.
Updated the copyrights, as suggested by ziaa@.
Looks fine to me, rick
Apr 22 2025
Note that O_CLOEXEC is set in "fmode" near the top of main()
for the second open.
Marked inline comments as done.
Missed a couple of cases for .Ar file. Fixed now.
Updated man page with changes suggested by ziaa@.
Updated the man page to reflect the use of /bin/sh.
This version just does an execl() as suggested by kib@.
Oops, missed the last suggested change from kib@
the last time. It is here now.
Updated runat.c to apply kib@'s suggestions.
For some reason (don't know where I got it) I
thought that fchdir() directory change would
affect more than the process, which was why I
did the fork(). (I think it came from ancient
recollections of how 6th Edition worked in the
1970s. I'm gettin old;-)
Re-written to conform to the more Solaris-like
semantics of O_NAMEDATTR that is now implemented
in main.
Apr 21 2025
Update runat.c to use the up to date more Solaris-like
O_NAMEDATTR flag.
I misinterpreted the Solaris documentation for O_XATTR.
It is used for an openat() where the path is for a file in
the file system's namespace, to open a named attribute
for the file, not a named attribute directory.
Apr 20 2025
Apr 19 2025
Cleaned up the "if" as suggested by kib@.
Added a helper function, as suggested by kib@.
I now realize that the check for non-named attribute is in
ZFS's VOP_LOOKUP(), so this patch is not really needed,
but I think it is a good "safety belt" to put in.
Apr 18 2025
Oops, this is a bit embarrassing. I took another look
at the Solaris doc (which is confusing, too) and realized
I hadn't implemented what they did for their O_XATTR.
Attempt #2 at explaining the use of O_NAMEDATTR
when opening a named attribute.
Added a sentence trying to explain the use
of O_NAMEDATTR for the openat() of a named
attribute. For this case, it performs a sanity check
to ensure the successful open is that of a named
attribute.
Rework the description for O_NAMEDATTR to try
and explain how it is used to open named attributes,
as suggested by kib@.
Apr 16 2025
Apr 15 2025
Tried to clarify when O_NAMEDATTR is used.
I am now convinced that the check in zfs_freebsd_open()
for O_NAMEDATTR being set is not necessary at all.
Apr 14 2025
Checking for VIRF_NAMEDATTR in zfs_freebsd_open()
was not needed and broke the runat(1) utility I am writing.
Apr 11 2025
Add a missing '.' at the end of a statement.
Apr 10 2025
Oops. I didn't see emaste@'s comment until after
doing the commit.
Apr 9 2025
Removed the sentence w.r.t. the specific error, since
it is covered in the ERROR section. Also, moved the
ENOATTR entries so that they are in alphabetical order,
as suggested by ziaee@.
Moved the MNT_NAMEDATTR entry up, to maintain
alphabetical ordering, as suggested by ziaee@.
Just to clarify what the previous comment was talking about.
Without this patch:
fhopen(&fh, O_RDONLY | O_NAMEDATTR | O_PATH) works
but
fhopen(&fh, O_EXEC | O_NAMEDATTR | O_PATH) fails with EINVAL
(You can basically ignore the O_NAMEDATTR. I just did the tests with
some test code I had lying about for O_NAMEDATTR.)
Without this patch:
kern_fhopen() requires FREAD or FWRITE.
It checks for these and fails with EINVAL if neither are set.