Details
-
Bug
-
Resolution: Fixed
-
Critical
-
Lustre 2.6.0, Lustre 2.5.1, Lustre 2.4.3
-
3
-
13855
Description
This is easy to reproduce:
- lfs setstripe -c 1 -i 0 /mnt/lustre/a
- dd if=/dev/zero of=/mnt/lustre/a bs=1M count=1 conv=notrunc
- chown $ID /mnt/lustre/a
The uid on OST object will not be changed after chown.
Look into the code osp_attr_set():
/* new object, the very first ->attr_set() * initializing attributes needs no logging * all subsequent one are subject to the * logging and synchronization with OST */ if (o->opo_new) { o->opo_new = 0; RETURN(0); }
I don't quite see why this is necessary, but seems it'll break chown in above situation: OST object is created in 'dd' operation, and the first attr_set operation after create is the 'chown', and it's skipped.
Attachments
Issue Links
- is related to
-
LU-5951 sanity test_39k: mtime is lost on close
-
- Resolved
-
Niu Yawei (yawei.niu@intel.com) uploaded a new patch: http://review.whamcloud.com/14774
Subject:
LU-5006mdd: don't call attr_set on object createProject: fs/lustre-release
Branch: b2_4
Current Patch Set: 1
Commit: d0a2067981a16a1d536db3801d58328fbad2ff7e