Bug #16983
Updated by Patrick Donnelly almost 8 years ago
Randy Orr reported an assertion failure on the ceph-users list: <pre> mds/Locker.cc: In function 'bool Locker::check_inode_max_size(CInode*, bool, bool, uint64_t, bool, uint64_t, utime_t)' thread 7fc305b83700 time 2016-08-09 18:51:50.626630 mds/Locker.cc: 2190: FAILED assert(in->is_file()) ceph version 10.2.1 (3a66dd4f30852819c1bdaa8ec23c795d4ad77269) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x8b) [0x563d1e0a2d3b] 2: (Locker::check_inode_max_size(CInode*, bool, bool, unsigned long, bool, unsigned long, utime_t)+0x15e3) [0x563d1de506a3] 3: (Server::handle_client_open(std::shared_ptr<MDRequestImpl>&)+0x1061) [0x563d1dd386a1] 4: (Server::dispatch_client_request(std::shared_ptr<MDRequestImpl>&)+0xa0b) [0x563d1dd5709b] 5: (Server::handle_client_request(MClientRequest*)+0x47f) [0x563d1dd5768f] 6: (Server::dispatch(Message*)+0x3bb) [0x563d1dd5b8db] 7: (MDSRank::handle_deferrable_message(Message*)+0x80c) [0x563d1dce1f8c] 8: (MDSRank::_dispatch(Message*, bool)+0x1e1) [0x563d1dceb081] 9: (MDSRankDispatcher::ms_dispatch(Message*)+0x15) [0x563d1dcec1d5] 10: (MDSDaemon::ms_dispatch(Message*)+0xc3) [0x563d1dcd3f83] 11: (DispatchQueue::entry()+0x78b) [0x563d1e1996cb] 12: (DispatchQueue::DispatchThread::entry()+0xd) [0x563d1e08862d] 13: (()+0x8184) [0x7fc30bd7c184] 14: (clone()+0x6d) [0x7fc30a2d337d] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this. </pre> -Needs Needs a check for directory opens with O_WRONLY/O_RDWR added with EISDIR returned. I'm working on a fix.- This looks like an issue with opens on symlinks. Related to: http://tracker.ceph.com/issues/16013 fix.