[SCM] Samba Shared Repository - branch master updated

Christof Schmitt cs at samba.org
Mon Oct 5 20:07:03 UTC 2020


The branch, master has been updated
       via  5cfc9271e4e third_party: Update gpfs.h to 5.0.5.3 version
      from  83ab59d929a Revert "vfs_ceph: drop fdopendir handler"

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 5cfc9271e4ec67c4ec2ec67d3989b8a96b6d621f
Author: Christof Schmitt <cs at samba.org>
Date:   Fri Oct 2 13:07:37 2020 -0700

    third_party: Update gpfs.h to 5.0.5.3 version
    
    4.2.3 went out of support, so update the header file to the oldest
    currently supported GPFS version. Going forward, this will allow usage
    of newer API calls.
    
    Signed-off-by: Christof Schmitt <cs at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>
    
    Autobuild-User(master): Christof Schmitt <cs at samba.org>
    Autobuild-Date(master): Mon Oct  5 20:06:04 UTC 2020 on sn-devel-184

-----------------------------------------------------------------------

Summary of changes:
 third_party/gpfs/gpfs.h | 79 +++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 63 insertions(+), 16 deletions(-)


Changeset truncated at 500 lines:

diff --git a/third_party/gpfs/gpfs.h b/third_party/gpfs/gpfs.h
index acafe12c2e7..0ebfa958653 100644
--- a/third_party/gpfs/gpfs.h
+++ b/third_party/gpfs/gpfs.h
@@ -28,7 +28,7 @@
 /* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF       */
 /* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                                   */
 /*                                                                              */
-/* @(#)42       1.1.12.3  src/avs/fs/mmfs/ts/util/gpfs.h, mmfs, avs_rttn423, rttn423s001a 4/10/17 10:46:33 */
+/* @(#)42       1.1.15.1  src/avs/fs/mmfs/ts/util/gpfs.h, mmfs, avs_rtac505, rtac5052017d.b 4/7/20 08:36:44 */
 /*
  *  Library calls for GPFS interfaces
  */
@@ -44,7 +44,7 @@
    end of this header. */
 /* #define GPFS_64BIT_INODES 1 */
 
-#define NFS_IP_SIZE 32
+#define NFS_IP_SIZE 46
 
 #ifdef __cplusplus
 extern "C" {
@@ -334,6 +334,11 @@ gpfs_getacl(const char *pathname,
             int flags,
             void *acl);
 
+int GPFS_API
+gpfs_getacl_fd(gpfs_file_t fileDesc,
+               int flags,
+               void *acl);
+
 
 /* NAME:        gpfs_putacl()
  *
@@ -355,6 +360,11 @@ gpfs_putacl(const char *pathname,
             int flags,
             void *acl);
 
+int GPFS_API
+gpfs_putacl_fd(gpfs_file_t fileDesc,
+               int flags,
+               void *acl);
+
 
 /* NAME:        gpfs_prealloc()
  *
@@ -919,6 +929,8 @@ typedef struct gpfs_direntx64
 #define GPFS_DEFLAG_IJUNCTION 0x0002 /* DirEnt is a inode space junction */
 #define GPFS_DEFLAG_ORPHAN    0x0004 /* DirEnt is an orphan (pcache) */
 #define GPFS_DEFLAG_CLONE     0x0008 /* DirEnt is a clone child */
+#define GPFS_DEFLAG_OBJECT    0x0010 /* DirEnt is for an AFM Object */
+#define GPFS_DEFLAG_OBJECT_DIR 0x0020 /* DirEnt is for an AFM Object directory */
 
 /* Define a version number for the iattr data to allow future changes
    in this structure. Careful callers should also use the ia_reclen field
@@ -1033,11 +1045,11 @@ typedef struct gpfs_iattr64
 
 #define GPFS_IAFLAG_APPENDONLY      0x00400000 /* AppendOnly only */
 #define GPFS_IAFLAG_DELETED         0x00800000 /* inode has been deleted */
-#ifdef ZIP
 #define GPFS_IAFLAG_ILLCOMPRESSED   0x01000000 /* may not be properly compressed */
-#endif
 #define GPFS_IAFLAG_FPOILLPLACED    0x02000000 /* may not be properly placed per
                                                   FPO attributes (bgf, wad, wadfg) */
+#define GPFS_IAFLAG_OBJECT          0x04000000 /* Object directory entry */
+#define GPFS_IAFLAG_OBJECT_DIR      0x08000000 /* Object directory */
 
 /* Define flags for window's attributes */
 #define GPFS_IWINFLAG_ARCHIVE       0x0001 /* Archive */
@@ -1117,9 +1129,8 @@ typedef struct gpfs_fssnap_id
 #define GPFS_ATTRFLAG_INCL_ENCR          0x0040  /* Include encryption attributes */
 #define GPFS_ATTRFLAG_SKIP_CLONE         0x0080  /* Skip clone attributes */
 #define GPFS_ATTRFLAG_MODIFY_CLONEPARENT 0x0100  /* Allow modification on clone parent */
-#ifdef ZIP
 #define GPFS_ATTRFLAG_NO_COMPRESSED      0x0200  /* exclude "compressed" attribute */
-#endif
+#define GPFS_ATTRFLAG_SKIP_COMPRESSION   0x0400  /* Skip compression attribute */
 
 /* Define structure used by gpfs_statfspool */
 typedef struct gpfs_statfspool_s
@@ -2447,6 +2458,35 @@ gpfs_iputattrsx(gpfs_ifile_t *ifile,
                 void *buffer,
                 const char *pathName);
 
+/* NAME:        gpfs_igetcompressionlib()
+ *
+ * FUNCTION:    Retrieves the selected compression library from ifile which has been
+ *              open by gpfs_iopen().
+ *
+ * Input:       ifile:      pointer to gpfs_ifile_t from gpfs_iopen
+ *              buffer:     pointer to buffer for key and returned extended
+ *                          attribute value
+ *              bufferSize: size of buffer, should be enough to save attribute value
+ *              attrSize:   ptr to key length as input and ptr to the returned
+ *                          size of attributes as putput.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure and errno is set
+ *
+ * Errno:       ENOSYS  function not available
+ *              EPERM   caller must have superuser priviledges
+ *              ESTALE  cached fs information was invalid
+ *              ENOSPC  buffer too small to return all attributes
+ *                      *attrSize will be set to the size necessary
+ *              EINVAL  buffer is NULL
+ *              EIO     selected compression library is corrupted or not available
+ *              GPFS_E_INVAL_IFILE bad ifile parameters
+ */
+int GPFS_API
+gpfs_igetcompressionlib(gpfs_ifile_t *ifile,
+                        void *buffer,
+                        int bufferSize,
+                        int *attrSize);
 
 /* NAME:        gpfs_igetfilesetname()
  *
@@ -3183,8 +3223,14 @@ typedef enum
   GPFS_LWE_EVENT_FILEOPEN_WRITE  = 15, /* Open with Writing privileges - EVENT 'OPEN_WRITE' - deprecated, use 'OPEN' */
 
   GPFS_LWE_EVENT_FILEPOOL_CHANGE = 16, /* Open with Writing privileges - EVENT 'OPEN_WRITE' - deprecated, use 'OPEN' */
-
-  GPFS_LWE_EVENT_MAX = 17, /* 1 greater than any of the above */
+  GPFS_LWE_EVENT_XATTR_CHANGE = 17, /* EAs of file are changed */
+  GPFS_LWE_EVENT_ACL_CHANGE = 18, /* ACLs (both GPFS ACLs and Posix permissions) of a file are changed */
+  GPFS_LWE_EVENT_CREATE = 19, /* create, including mkdir, symlink, special file */
+  GPFS_LWE_EVENT_GPFSATTR_CHANGE = 20, /* ts-specific attributes of file are changed */
+  GPFS_LWE_EVENT_FILETRUNCATE    = 21, /* "File Truncate Event" 'TRUNCATE' */
+  GPFS_LWE_EVENT_FS_UNMOUNT_ALL = 22, /* FS is not externally mounted anywhere */
+
+  GPFS_LWE_EVENT_MAX = 23, /* 1 greater than any of the above */
 } gpfs_lwe_eventtype_t;
 
 
@@ -3223,6 +3269,7 @@ typedef enum
 #define LWE_DATA_BYTES_WRITTEN    0x00100000  /* "bytesWritten" */
 #define LWE_DATA_CLUSTER_NAME     0x00200000  /* "clusterName" */
 #define LWE_DATA_NODE_NAME        0x00400000  /* "nodeName" */
+#define LWE_DATA_LWESEND          0x00800000  /* "lweSend" */
 
 /*
  * Define light weight events
@@ -3292,10 +3339,12 @@ static const gpfs_lwe_token_t  _gpfs_lwe_invalid_token = { 0, 1 };
 
 /* LWE data events are generated from user access
  * to a LWE managed region. */
-#define GPFS_LWE_DATAEVENT_NONE     (0x0)
-#define GPFS_LWE_DATAEVENT_READ     (0x1)
-#define GPFS_LWE_DATAEVENT_WRITE    (0x2)
-#define GPFS_LWE_DATAEVENT_TRUNCATE (0x4)
+#define GPFS_LWE_DATAEVENT_NONE               (0x0)
+#define GPFS_LWE_DATAEVENT_READ               (0x1)
+#define GPFS_LWE_DATAEVENT_WRITE              (0x2)
+#define GPFS_LWE_DATAEVENT_TRUNCATE           (0x4)
+#define GPFS_LWE_ATTRCHANGEEVENT_IMMUTABILITY (0x8)
+#define GPFS_LWE_ATTRCHANGEEVENT_APPENDONLY   (0x10)
 
 
 
@@ -3753,8 +3802,6 @@ gpfs_lwe_putattrs(gpfs_lwe_sessid_t  sid,
                   void              *buffer,
                   const char        *pathName);
 
-
-
 const char* GPFS_API
 gpfs_get_fspathname_from_fsname(const char* fsname_or_path);
 /* Check that fsname_or_path refers to a GPFS file system and find the path to its root
@@ -3801,7 +3848,7 @@ int GPFS_API
 gpfs_qos_get(
              const char *fspathname,
 	     int  *classnumP,
-             char  classname[18], /* "gold", "silver", or .. "1" or "2" .. */
+             char  classname[GPFS_MAXNAMLEN+1], /* "gold", "silver", or .. "1" or "2" .. */
              int   id,        /* process id or  pgrp or userid */
              int   which,    /* process, pgrp or user */
              double* qshareP); /* return the share, percentage or when negative IOP limit */
@@ -3825,7 +3872,7 @@ int GPFS_API
 gpfs_qos_lkupVal(
                   const char *fspathname,
 		  int        val,
-                  char    classname[18],
+                  char    classname[GPFS_MAXNAMLEN+1],
                   double* qshareP);
 
 int GPFS_API


-- 
Samba Shared Repository



More information about the samba-cvs mailing list