Closed GoogleCodeExporter closed 8 years ago
I don't think you would be seeing "Operation not supported" -- you are likely
seeing "Operation not supported on socket",
isn't it? Well, you're seeing it because ntfs-3g is saying so:
/* ntfs-3g source */
ntfs_fuse_setxattr(...)
{
...
if (ctx->streams != NF_STREAMS_INTERFACE_XATTR)
return -EOPNOTSUPP;
...
}
On a side note, EOPNOTSUPP isn't the most appropriate error for ntfs-3g to
return here. (EOPNOTSUPP is often mixed up
with ENOTSUP.) EOPNOTSUPP is specifically for sockets. One exception is that of
lchown(), where POSIX allows for
EOPNOTSUPP even though you're not dealing with a socket.
All that said, your crash could be a valid issue. However, based on what you
wrote, I cannot reproduce your problem. Can
you double-check your instructions and/or be more precise on how to reproduce
this?
Original comment by si...@gmail.com
on 2 Mar 2008 at 11:35
We didn't mix EOPNOTSUPP with ENOTSUP.
Linux has no ENOTSUP, it's a glibc alias to EOPNOTSUPP because Linus didn't
accept
patches a decade ago which fixed this issue to conform to SuS.
So, if it's an alias then why NTFS-3G uses EOPNOTSUPP instead of ENOTSUP? It's
history.
NTFS-3G's code base is being developed on Linux for eight years. User space was
always a playground before the same code went into the kernel. But ENOTSUP is
"banned" in the kernel, just like typically those "confusing" macros which hide
portability/debugging/whatever details what some developers, who don't use those
code, don't like.
To keep the kernel driver and the user space code as close to each other as
possible,
we decided to use EOPNOTSUPP because on Linux it's irrelevant and the kernel
required
that one without redefinition of something else.
Then why isn't it renamed now? Because no guarantee that the driver won't move
back
to the kernel. Actually the plan is just the opposite. Though I think the above
restiction was relaxed somewhat at some point in this decade.
The best way to fix this is to implement the ENOTSUP cases (there are only 25
and I
don't think most needs more than several months of intensive work).
This case probably could be workarounded by the streams_interface=xattr mount
option.
Though its current implementation isn't the perfect one either because it won't
allow
bigger than 64 kB extended attributes. XATTR and ADS handling also needs a
rethought
and reimplementation.
Original comment by sz...@ntfs-3g.org
on 4 Mar 2008 at 3:29
Still can't reproduce your issue.
Original comment by si...@gmail.com
on 26 Mar 2008 at 8:46
Original issue reported on code.google.com by
stumpfs...@gmail.com
on 21 Feb 2008 at 1:07