Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.7.0
-
3
-
16632
Description
If the command is IOC_MDC_GETFILEINFO then ll_dir_ioctl() should be returning the ino derived from the body but is instead returning the ino of the parent.
skip_lmm: if (cmd == IOC_MDC_GETFILEINFO || cmd == LL_IOC_MDC_GETINFO) { struct lov_user_mds_data __user *lmdp; lstat_t st = { 0 }; st.st_dev = inode->i_sb->s_dev; st.st_mode = body->mbo_mode; st.st_nlink = body->mbo_nlink; st.st_uid = body->mbo_uid; st.st_gid = body->mbo_gid; st.st_rdev = body->mbo_rdev; st.st_size = body->mbo_size; st.st_blksize = PAGE_CACHE_SIZE; st.st_blocks = body->mbo_blocks; st.st_atime = body->mbo_atime; st.st_mtime = body->mbo_mtime; st.st_ctime = body->mbo_ctime; st.st_ino = inode->i_ino; lmdp = (struct lov_user_mds_data __user *)arg; if (copy_to_user(&lmdp->lmd_st, &st, sizeof(st))) GOTO(out_req, rc = -EFAULT); }
We should always return the ino derived from the body.