From 49578be40dac60c7e4d7ea88061267685a6c2031 Mon Sep 17 00:00:00 2001
From: johann <johann>
Date: Tue, 30 Oct 2007 21:20:45 +0000
Subject: [PATCH] Branch b1_6

b=14007
i=nathan
i=tappro

check for MDS_OPEN_OWNEROVERRIDE in attr_pack()/attr_unpack()
since it is used in mds_fix_attr() (see bug 5781) for NFS.
---
 lustre/mdc/mdc_lib.c | 3 +++
 lustre/mds/mds_lib.c | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/lustre/mdc/mdc_lib.c b/lustre/mdc/mdc_lib.c
index 864f1971f0..40c734312c 100644
--- a/lustre/mdc/mdc_lib.c
+++ b/lustre/mdc/mdc_lib.c
@@ -215,6 +215,9 @@ static inline __u64 attr_pack(unsigned int ia_valid) {
                 sa_valid |= MDS_ATTR_CTIME_SET;
         if (ia_valid & ATTR_FROM_OPEN)
                 sa_valid |= MDS_ATTR_FROM_OPEN;
+        if (ia_valid & MDS_OPEN_OWNEROVERRIDE)
+                /* NFSD hack (see bug 5781) */
+                sa_valid |= MDS_OPEN_OWNEROVERRIDE;
         return sa_valid;
 }
 
diff --git a/lustre/mds/mds_lib.c b/lustre/mds/mds_lib.c
index e0ce2e0fac..640d11ea96 100644
--- a/lustre/mds/mds_lib.c
+++ b/lustre/mds/mds_lib.c
@@ -125,6 +125,8 @@ static inline unsigned int attr_unpack(__u64 sa_valid) {
                 ia_valid |= ATTR_CTIME_SET;
         if (sa_valid & MDS_ATTR_FROM_OPEN)
                 ia_valid |= ATTR_FROM_OPEN;
+        if (sa_valid & MDS_OPEN_OWNEROVERRIDE)
+                ia_valid |= MDS_OPEN_OWNEROVERRIDE;
         return ia_valid;
 }
 
-- 
GitLab