Project

General

Profile

Bug #678 ยป ceph-period.patch

Paul Komkoff, 01/01/2011 05:04 AM

View differences:

src/mds/MDCache.cc
assert(in->last == CEPH_NOSNAP);
}
uint64_t period = in->inode.layout.fl_object_size * in->inode.layout.fl_stripe_count;
uint64_t cur_max_size = in->inode.get_max_size();
uint64_t to = MAX(in->inode.size, cur_max_size);
uint64_t num = (to + period - 1) / period;
dout(10) << "purge_stray 0~" << to << " objects 0~" << num << " snapc " << snapc << " on " << *in << dendl;
if (to)
const uint64_t cur_max_size = in->inode.get_max_size();
const uint64_t to = MAX(in->inode.size, cur_max_size);
if (to) {
const uint64_t period = in->inode.layout.fl_object_size * in->inode.layout.fl_stripe_count;
assert(period);
const uint64_t num = (to + period - 1) / period;
dout(10) << "purge_stray 0~" << to << " objects 0~" << num << " snapc " << snapc << " on " << *in << dendl;
mds->filer->purge_range(in->inode.ino, &in->inode.layout, *snapc,
0, num, g_clock.now(), 0,
new C_MDC_PurgeStrayPurged(this, dn));
else
} else {
dout(10) << "purge_stray 0~0 objects 0~0 snapc " << snapc << " on " << *in << dendl;
_purge_stray_purged(dn);
}
}
class C_MDC_PurgeStrayLogged : public Context {
    (1-1/1)