Add some protocol definitions, including max field lengths, flag defs and
an XDR-encoded UUID def.

Signed-off-by: David Howells <dhowe...@redhat.com>
---

 fs/afs/afs.h    |   25 ++++++++++++++++++++-----
 fs/afs/afs_vl.h |    6 +++++-
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/fs/afs/afs.h b/fs/afs/afs.h
index 93053115bcfc..0d837bddbf7d 100644
--- a/fs/afs/afs.h
+++ b/fs/afs/afs.h
@@ -14,11 +14,14 @@
 
 #include <linux/in.h>
 
-#define AFS_MAXCELLNAME        64              /* maximum length of a cell 
name */
-#define AFS_MAXVOLNAME 64              /* maximum length of a volume name */
-#define AFSNAMEMAX     256             /* maximum length of a filename plus 
NUL */
-#define AFSPATHMAX     1024            /* maximum length of a pathname plus 
NUL */
-#define AFSOPAQUEMAX   1024            /* maximum length of an opaque field */
+#define AFS_MAXCELLNAME                64      /* Maximum length of a cell 
name */
+#define AFS_MAXVOLNAME         64      /* Maximum length of a volume name */
+#define AFS_MAXNSERVERS                8       /* Maximum servers in a basic 
volume record */
+#define AFS_NMAXNSERVERS       13      /* Maximum servers in a N/U-class 
volume record */
+#define AFS_MAXTYPES           3       /* Maximum number of volume types */
+#define AFSNAMEMAX             256     /* Maximum length of a filename plus 
NUL */
+#define AFSPATHMAX             1024    /* Maximum length of a pathname plus 
NUL */
+#define AFSOPAQUEMAX           1024    /* Maximum length of an opaque field */
 
 typedef unsigned                       afs_volid_t;
 typedef unsigned                       afs_vnodeid_t;
@@ -176,4 +179,16 @@ struct afs_volume_status {
 
 #define AFS_BLOCK_SIZE 1024
 
+/*
+ * XDR encoding of UUID in AFS.
+ */
+struct afs_uuid__xdr {
+       __be32          time_low;
+       __be32          time_mid;
+       __be32          time_hi_and_version;
+       __be32          clock_seq_hi_and_reserved;
+       __be32          clock_seq_low;
+       __be32          node[6];
+};
+
 #endif /* AFS_H */
diff --git a/fs/afs/afs_vl.h b/fs/afs/afs_vl.h
index 800f607ffaf5..5b7cd9d7e9e6 100644
--- a/fs/afs/afs_vl.h
+++ b/fs/afs/afs_vl.h
@@ -74,11 +74,15 @@ struct afs_vldbentry {
                struct in_addr  addr;           /* server address */
                unsigned        partition;      /* partition ID on this server 
*/
                unsigned        flags;          /* server specific flags */
-#define AFS_VLSF_NEWREPSITE    0x0001  /* unused */
+#define AFS_VLSF_NEWREPSITE    0x0001  /* Ignore all 'non-new' servers */
 #define AFS_VLSF_ROVOL         0x0002  /* this server holds a R/O instance of 
the volume */
 #define AFS_VLSF_RWVOL         0x0004  /* this server holds a R/W instance of 
the volume */
 #define AFS_VLSF_BACKVOL       0x0008  /* this server holds a backup instance 
of the volume */
+#define AFS_VLSF_UUID          0x0010  /* This server is referred to by its 
UUID */
+#define AFS_VLSF_DONTUSE       0x0020  /* This server ref should be ignored */
        } servers[8];
 };
 
+#define AFS_VLDB_MAXNAMELEN 65
+
 #endif /* AFS_VL_H */

Reply via email to