Whamcloud - gitweb
LU-2875 mdt: use lu_name for rr_name and rr_tgt
[fs/lustre-release.git] / lustre / include / lu_object.h
index 94c0b47..e5a977f 100644 (file)
@@ -1289,6 +1289,19 @@ struct lu_name {
         int            ln_namelen;
 };
 
+static inline bool lu_name_is_valid(const struct lu_name *ln)
+{
+       return ln->ln_name != NULL &&
+              ln->ln_namelen > 0 &&
+              ln->ln_name[0] != '\0' &&
+              ln->ln_name[ln->ln_namelen] == '\0';
+}
+
+#define DNAME "%.*s"
+#define PNAME(ln)                                      \
+       (lu_name_is_valid(ln) ? (ln)->ln_namelen : 0),  \
+       (lu_name_is_valid(ln) ? (ln)->ln_name : "")
+
 /**
  * Common buffer structure to be passed around for various xattr_{s,g}et()
  * methods.