Re: [PATCH v2 0/5] ceph: fixes for nfs export

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 7 Mar 2014, Yan, Zheng wrote:
> Changes since v1:
>  make ceph_fh_to_parent() use LOOKUPPARENT to find parent dentry.
>  if LOOKUPPARENT fails, retry finding the dentry that corresponds
>  to the 'parent_ino'

Okay, all of these changes finally make sense to me now (Thanks, Zheng and 
Christoph).

My only concern now is that the way that get_name is using LOOKUPINO feels 
like it is overloading the existing operation in an awkward way.  Normally 
LOOKUPINO is used when we have an ino but no reference/cap, and returns 
just the cap for the ino.  LOOKUPPARENT works similarly now where it 
returns just a cap for the parent directory but no connecting dentry; that 
makes sense now too.

In the case of get_name, though, if I am following, we have both a cap on 
the directory and the child inode and just need the connecting dentry.  It 
seems like we are better off with a new MDS op that does exactly that 
instead of making LOOKUPINO's behavior change wildly due to a flag (as in

https://github.com/ceph/ceph/commit/3cb6168b0285acfa39c1895bc4dcf6fee408ae4b#diff-eecf840e09d7481f7b8f415789852c7dR2386

).  We should make the client get_name handle EOPNOTSUPP by translating 
to ESTALE, probably, in case the MDS is old.

This a bit more work, but I think it'll keep the semantics for all of 
these ops cleaner.  What do you think?

(And sorry I'm still catching up here!  This would have been more useful 
feedback 2 days ago.)

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux