This patch series add a new xattr system.reparse for querying reparse point buffer from userspace, fixes errnos related to reparse points and do not attempt to use reparse points when server does not support them. Add new reparse point or changing/deleting existing reparse point is not implemented yet, can be done in the future via setxattr()/removexattr(). Pali Rohár (4): cifs: Split parse_reparse_point callback to functions: get buffer and parse buffer cifs: Add a new xattr system.reparse for querying repase point from SMB server cifs: Change translation of STATUS_NOT_A_REPARSE_POINT to -ENODATA cifs: Check if server supports reparse points before using them fs/smb/client/cifsglob.h | 6 ++--- fs/smb/client/cifssmb.c | 3 +++ fs/smb/client/inode.c | 11 +++++---- fs/smb/client/link.c | 3 ++- fs/smb/client/netmisc.c | 7 ++++++ fs/smb/client/nterr.c | 1 + fs/smb/client/nterr.h | 1 + fs/smb/client/reparse.c | 15 ++++-------- fs/smb/client/reparse.h | 5 +--- fs/smb/client/smb1ops.c | 17 +++++-------- fs/smb/client/smb2inode.c | 8 +++++++ fs/smb/client/smb2maperror.c | 2 +- fs/smb/client/smb2ops.c | 12 +++++----- fs/smb/client/xattr.c | 46 ++++++++++++++++++++++++++++++++++++ 14 files changed, 96 insertions(+), 41 deletions(-) -- 2.20.1