Bug #20287
rgw_file: assert upon setattr on bucket
0%
Description
1. export root /
2. mount localhost:/rgw /mnt
3. mkdir /mnt/b1
4. chmod o-x /mnt/b1 <-- assert
trace:
ceph version 12.0.3-1609-ge8b53b8 (e8b53b8094b3ad7391f6b7578952f020cc80c3ce) luminous (dev)
1: (()+0x44368f) [0x7f381090168f]
2: (()+0xf370) [0x7f389e19e370]
3: (gsignal()+0x37) [0x7f389d7961d7]
4: (abort()+0x148) [0x7f389d7978c8]
5: (()+0x2e146) [0x7f389d78f146]
6: (()+0x2e1f2) [0x7f389d78f1f2]
7: (RGWObjectCtxImpl<rgw_obj, RGWObjState>::set_atomic(rgw_obj&)+0x248) [0x7f38106fafb8]
8: (RGWSetAttrs::execute()+0x84) [0x7f38106d0ec4]
9: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*, rgw::RGWLibIO*)+0x498) [0x7f381061d058]
10: (rgw::RGWLibProcess::process_request(rgw::RGWLibRequest*)+0xfd) [0x7f381061df8d]
11: (rgw::RGWLibFS::setattr(rgw::RGWFileHandle*, stat*, unsigned int, unsigned int)+0x36f) [0x7f381062646f]
because we tried to do set_atomic() on a bucket, but set_atomic() is only for object, then we hit the assert(!obj.empty())
History
#1 Updated by Hecheng Gui almost 7 years ago
#2 Updated by Ramana Raja almost 7 years ago
- Project changed from CephFS to rgw
#3 Updated by Matt Benjamin over 6 years ago
- Status changed from New to Resolved