From d38920afefd403ce5e367a2203df5ee196792c9f Mon Sep 17 00:00:00 2001 From: Mikhail Pershin Date: Wed, 17 Mar 2010 10:06:25 +0300 Subject: [PATCH] b=19208 osd_inode_setattr : ldiskfs needs flags set in inode->i_flags i=adilger i=wangdi --- lustre/osd/osd_handler.c | 8 ++------ lustre/tests/sanity.sh | 4 ++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/lustre/osd/osd_handler.c b/lustre/osd/osd_handler.c index 302923c..535d829 100644 --- a/lustre/osd/osd_handler.c +++ b/lustre/osd/osd_handler.c @@ -1305,12 +1305,8 @@ static int osd_inode_setattr(const struct lu_env *env, if (bits & LA_RDEV) inode->i_rdev = attr->la_rdev; - if (bits & LA_FLAGS) { - struct ldiskfs_inode_info *li = LDISKFS_I(inode); - - li->i_flags = (li->i_flags & ~LDISKFS_FL_USER_MODIFIABLE) | - (attr->la_flags & LDISKFS_FL_USER_MODIFIABLE); - } + if (bits & LA_FLAGS) + inode->i_flags = ll_ext_to_inode_flags(attr->la_flags); return 0; } diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh index c93d168..88e73ff 100644 --- a/lustre/tests/sanity.sh +++ b/lustre/tests/sanity.sh @@ -2564,7 +2564,7 @@ test_52a() { link $DIR/d52a/foo $DIR/d52a/foo_link 2>/dev/null && error "link worked" echo foo >> $DIR/d52a/foo || error "append foo failed" mrename $DIR/d52a/foo $DIR/d52a/foo_ren && error "rename worked" - lsattr $DIR/d52a/foo | egrep -q "^-+[ae]-+ $DIR/d52a/foo" || error "lsattr" + lsattr $DIR/d52a/foo | egrep -q "^-+a[-e]+ $DIR/d52a/foo" || error "lsattr" chattr -a $DIR/d52a/foo || error "chattr -a failed" cp -r $DIR/d52a /tmp/ rm -fr $DIR/d52a || error "cleanup rm failed" @@ -2584,7 +2584,7 @@ test_52b() { mrename $DIR/d52b/foo $DIR/d52b/foo_ren && error "rename worked" [ -f $DIR/d52b/foo ] || error [ -f $DIR/d52b/foo_ren ] && error - lsattr $DIR/d52b/foo | egrep -q "^-+[ie]-+ $DIR/d52b/foo" || error "lsattr" + lsattr $DIR/d52b/foo | egrep -q "^-+i[-e]+ $DIR/d52b/foo" || error "lsattr" chattr -i $DIR/d52b/foo || error "chattr failed" rm -fr $DIR/d52b || error -- 1.8.3.1