- xattr_len = getxattr(file_path, "trusted.fid",
- (void *)&parent_fid,
- sizeof(parent_fid));
-
- if (xattr_len == -1 || xattr_len < sizeof(parent_fid))
- /*
- * Its very much possible that we dont find fid
- * on precreated files, LAST_ID
- */
- continue;
+ xattr_len = getxattr(file_path, "trusted.lma",
+ (void *)&lma, sizeof(lma));
+ if (xattr_len == -1 || xattr_len < sizeof(lma)) {
+ struct filter_fid_old ff;
+
+ /* try old filter_fid EA */
+ xattr_len = getxattr(file_path, "trusted.fid",
+ (void *)&ff, sizeof(ff));
+ if (xattr_len == -1 || xattr_len < sizeof(ff)) {
+ /*
+ * Its very much possible that we dont find fid
+ * on precreated files, LAST_ID
+ */
+ continue;
+ }
+ ff_seq = le64_to_cpu(ff.ff_seq);
+ ff_objid = le64_to_cpu(ff.ff_objid);
+ } else {
+ ff_seq = le64_to_cpu(lma.lma_self_fid.f_seq);
+ ff_objid = le32_to_cpu(lma.lma_self_fid.f_oid);
+ }