Hide Forgot
Attached NFS Server Log file [nfs-server.log.gz] in dev.gluster.com:/share/tickets/845 directory.
Getting Following Error When trying to execute following command on nfs share. TestCase1 : 4Dist-Repl-chown1m MountPoint =========== ec2-204-236-214-10.compute-1.amazonaws.com:/statprefetch on /mnt/TestCase1 type nfs (rw,addr=10.194.170.4) Test Comman Ran ================ [root@ip-10-195-95-65 TestCase1]# cd [root@ip-10-195-95-65 ~]# for i in $(seq 1 1000000); do touch /mnt/TestCase1/$i; done Done Without Error [Took Long Time. Approx. 12 Hrs] [root@ip-10-195-95-65 ~]# chown -R 500:500 /mnt/TestCase1/ chown: changing ownership of `/mnt/TestCase1/': Invalid argument
The cause of the problem is the following error return from stat prefetch: [2010-04-22 02:46:48] D [nfs3-helpers.c:2058:nfs3_log_common_call] nfs-nfsv3: XID: 66a6e2cd, SETATTR: args: FH: hashcount 0, xlid 0, gen 0, ino 1 [2010-04-22 02:46:48] E [stat-prefetch.c:2113:sp_setattr] statprefetch: invalid argument: loc->parent [2010-04-22 02:46:48] D [nfs3-helpers.c:2190:nfs3_log_common_res] nfs-nfsv3: XID: 66a6e2cd, SETATTR: NFS: 22(Invalid argument for operation), POSIX: 22(Invalid argument)
sp does a lot of the checks below: GF_VALIDATE_OR_GOTO_WITH_ERROR (this->name, loc->parent, out, op_errno, EINVAL); There is no reason for sp to be checking for loc->parent because it can be NULL in case the loc->inode is the root inode. For nfs-beta branch I am going to simply remove these checks and leave a proper fix up to Raghu. Change needs to be backported in case we need to move NFS xlator to release-3.o branch.
PATCH: http://patches.gluster.com/patch/3157 in master (stat-prefetch: Remove checks for loc->parent)
Those checks are redundant ones. Hence patch submitted is ok.