diff --git a/lustre/mdc/mdc_lib.c b/lustre/mdc/mdc_lib.c index 864f1971f015abe8cc293c12d3e6555d9bf3cd73..40c734312c805dee549694f55b630e3d7bd3832d 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 e0ce2e0fac6e9abfe3b8f3eec56f154e50deacb5..640d11ea966fe2063b47c314345a156a02972925 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; }