Skip to content

Commit

Permalink
ceph: disable use of dcache for readdir etc.
Browse files Browse the repository at this point in the history
Ceph attempts to use the dcache to satisfy negative lookups and readdir
when the entire directory contents are in cache.  Disable this behavior
until lingering bugs in this code are shaken out; we'll re-enable these
hooks once things are fully stable.

Signed-off-by: Sage Weil <[email protected]>
  • Loading branch information
liewegas committed Dec 29, 2011
1 parent 9d5a09e commit a4d4636
Showing 1 changed file with 3 additions and 26 deletions.
29 changes: 3 additions & 26 deletions fs/ceph/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -1094,42 +1094,19 @@ static int ceph_snapdir_d_revalidate(struct dentry *dentry,
/*
* Set/clear/test dir complete flag on the dir's dentry.
*/
static struct dentry * __d_find_any_alias(struct inode *inode)
{
struct dentry *alias;

if (list_empty(&inode->i_dentry))
return NULL;
alias = list_first_entry(&inode->i_dentry, struct dentry, d_alias);
return alias;
}

void ceph_dir_set_complete(struct inode *inode)
{
struct dentry *dentry = __d_find_any_alias(inode);

if (dentry && ceph_dentry(dentry)) {
dout(" marking %p (%p) complete\n", inode, dentry);
set_bit(CEPH_D_COMPLETE, &ceph_dentry(dentry)->flags);
}
/* not yet implemented */
}

void ceph_dir_clear_complete(struct inode *inode)
{
struct dentry *dentry = __d_find_any_alias(inode);

if (dentry && ceph_dentry(dentry)) {
dout(" marking %p (%p) NOT complete\n", inode, dentry);
clear_bit(CEPH_D_COMPLETE, &ceph_dentry(dentry)->flags);
}
/* not yet implemented */
}

bool ceph_dir_test_complete(struct inode *inode)
{
struct dentry *dentry = __d_find_any_alias(inode);

if (dentry && ceph_dentry(dentry))
return test_bit(CEPH_D_COMPLETE, &ceph_dentry(dentry)->flags);
/* not yet implemented */
return false;
}

Expand Down

0 comments on commit a4d4636

Please sign in to comment.