- if (vx_debug_dlimit)
- printk("FREE (%p,#%d)%c inode @ %s:%d\n",
- sb, xid, __dlimit_char(dli), file, line);
+ vxlprintk(VXD_CBIT(dlim, 0),
+ "FREE (%p,#%d)%c inode",
+ sb, tag, __dlimit_char(dli), _file, _line);
+}
+
+static inline void __dl_adjust_block(struct super_block *sb, tag_t tag,
+ unsigned long long *free_blocks, unsigned long long *root_blocks,
+ const char *_file, int _line)
+{
+ struct dl_info *dli;
+ uint64_t broot, bfree;
+
+ dli = locate_dl_info(sb, tag);
+ if (!dli)
+ return;
+
+ spin_lock(&dli->dl_lock);
+ broot = (dli->dl_space_total -
+ (dli->dl_space_total >> 10) * dli->dl_nrlmult)
+ >> sb->s_blocksize_bits;
+ bfree = (dli->dl_space_total - dli->dl_space_used)
+ >> sb->s_blocksize_bits;
+ spin_unlock(&dli->dl_lock);
+
+ vxlprintk(VXD_CBIT(dlim, 2),
+ "ADJUST: %lld,%lld on %lld,%lld [mult=%d]",
+ (long long)bfree, (long long)broot,
+ *free_blocks, *root_blocks, dli->dl_nrlmult,
+ _file, _line);
+ if (free_blocks) {
+ if (*free_blocks > bfree)
+ *free_blocks = bfree;
+ }
+ if (root_blocks) {
+ if (*root_blocks > broot)
+ *root_blocks = broot;
+ }
+ put_dl_info(dli);