Anna Schumaker 2ef47eb1ae NFS: Fix use of nfs_attr_use_mounted_on_fileid()
This function call was being optimized out during nfs_fhget(), leading
to situations where we have a valid fileid but still want to use the
mounted_on_fileid.  For example, imagine we have our server configured
like this:

server % df
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       9.1G  6.5G  1.9G  78% /
/dev/vdb1       487M  2.3M  456M   1% /exports
/dev/vdc1       487M  2.3M  456M   1% /exports/vol1
/dev/vdd1       487M  2.3M  456M   1% /exports/vol2

If our client mounts /exports and tries to do a "chown -R" across the
entire mountpoint, we will get a nasty message warning us about a circular
directory structure.  Running chown with strace tells me that each directory
has the same device and inode number:

newfstatat(AT_FDCWD, "/nfs/", {st_dev=makedev(0, 38), st_ino=2, ...}) = 0
newfstatat(4, "vol1", {st_dev=makedev(0, 38), st_ino=2, ...}) = 0
newfstatat(4, "vol2", {st_dev=makedev(0, 38), st_ino=2, ...}) = 0

With this patch the mounted_on_fileid values are used for st_ino, so the
directory loop warning isn't reported.

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2015-01-21 17:15:41 -05:00
..
2014-11-19 13:01:20 -05:00
2014-11-19 13:01:20 -05:00
2014-12-13 12:42:51 -08:00
2014-08-08 15:57:24 -07:00
2014-11-19 13:01:20 -05:00
2014-11-19 13:01:20 -05:00
2014-12-14 16:10:09 -08:00
2015-01-06 10:45:35 +01:00
2014-12-18 19:08:10 -08:00
2014-08-07 14:40:09 -04:00
2014-11-28 18:23:44 -08:00
2015-01-09 15:51:08 -08:00
2014-11-19 13:01:20 -05:00
2014-12-14 16:10:09 -08:00
2014-12-21 22:42:37 +01:00
2014-12-12 09:48:17 -08:00
2014-08-07 14:40:09 -04:00
2014-11-19 13:01:20 -05:00
2014-12-08 20:39:29 -05:00
2014-10-24 00:14:38 +02:00
2014-12-10 21:31:59 -05:00
2014-12-18 11:22:02 -08:00
2014-08-26 09:35:56 +02:00
2014-11-10 10:06:18 +01:00
2014-11-19 13:01:25 -05:00
2014-11-19 13:01:26 -05:00