diff mbox

[ceph-commit] ceph-client.git branch master updated. v2.6.34-20640-ge99fe63

Message ID 14C7F4F06DB5814AB0DE29716C4F6D671720BA1D@FRMRSSXCHMBSB1.dc-m.alcatel-lucent.com (mailing list archive)
State New, archived
Headers show

Commit Message

Smets, Jan (Jan) Nov. 18, 2010, 10:03 a.m. UTC
None
diff mbox

Patch

diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c
index 5f67728..7d447af 100644
--- a/fs/ceph/dir.c
+++ b/fs/ceph/dir.c
@@ -358,18 +358,22 @@  more:
 		u64 pos = ceph_make_fpos(frag, off);
 		struct ceph_mds_reply_inode *in =
 			rinfo->dir_in[off - fi->offset].in;
+		struct ceph_vino vino;
+		ino_t ino;
+
 		dout("readdir off %d (%d/%d) -> %lld '%.*s' %p\n",
 		     off, off - fi->offset, rinfo->dir_nr, pos,
 		     rinfo->dir_dname_len[off - fi->offset],
 		     rinfo->dir_dname[off - fi->offset], in);
 		BUG_ON(!in);
 		ftype = le32_to_cpu(in->mode) >> 12;
+		vino.ino = le64_to_cpu(in->ino);
+		vino.snap = le64_to_cpu(in->snapid);
+		ino = ceph_vino_to_ino(vino);
 		if (filldir(dirent,
 			    rinfo->dir_dname[off - fi->offset],
 			    rinfo->dir_dname_len[off - fi->offset],
-			    pos,
-			    le64_to_cpu(in->ino),
-			    ftype) < 0) {
+			    pos, ino, ftype) < 0) {
 			dout("filldir stopping us...\n");
 			return 0;
 		}