On Mon, Mar 07, 2016 at 06:25:13AM -0500, Sage Weil wrote:
> That looks okay, but changing d_rehash to d_add still means you're doing
> te d_instantiate(dn, NULL) in the d_unhashed case; is there a reason you
> changed that line? Is the dentry_rcuwalk_invalidate in __d_instantiate is
>
On Mon, Mar 07, 2016 at 06:25:13AM -0500, Sage Weil wrote:
> That looks okay, but changing d_rehash to d_add still means you're doing
> te d_instantiate(dn, NULL) in the d_unhashed case; is there a reason you
> changed that line? Is the dentry_rcuwalk_invalidate in __d_instantiate is
>
On Mon, 7 Mar 2016, Al Viro wrote:
> On Wed, Mar 02, 2016 at 11:00:01AM +0800, Yan, Zheng wrote:
>
> > > This code dates back to when Ceph was originally upstreamed, so the
> > > history is murky, but I expect at that point I wanted to avoid hashing in
> > > the no-lease case. But I don't
On Mon, 7 Mar 2016, Al Viro wrote:
> On Wed, Mar 02, 2016 at 11:00:01AM +0800, Yan, Zheng wrote:
>
> > > This code dates back to when Ceph was originally upstreamed, so the
> > > history is murky, but I expect at that point I wanted to avoid hashing in
> > > the no-lease case. But I don't
On Wed, Mar 02, 2016 at 11:00:01AM +0800, Yan, Zheng wrote:
> > This code dates back to when Ceph was originally upstreamed, so the
> > history is murky, but I expect at that point I wanted to avoid hashing in
> > the no-lease case. But I don't think it matters. We should just remove
> > the
On Wed, Mar 02, 2016 at 11:00:01AM +0800, Yan, Zheng wrote:
> > This code dates back to when Ceph was originally upstreamed, so the
> > history is murky, but I expect at that point I wanted to avoid hashing in
> > the no-lease case. But I don't think it matters. We should just remove
> > the
> On Mar 1, 2016, at 22:50, Sage Weil wrote:
>
> Hi Al,
>
> On Fri, 26 Feb 2016, Al Viro wrote:
>> You have, modulo printks and BUG_ON(),
>> {
>>struct dentry *realdn;
>>/* dn must be unhashed */
>>if (!d_unhashed(dn))
>>d_drop(dn);
>>
> On Mar 1, 2016, at 22:50, Sage Weil wrote:
>
> Hi Al,
>
> On Fri, 26 Feb 2016, Al Viro wrote:
>> You have, modulo printks and BUG_ON(),
>> {
>>struct dentry *realdn;
>>/* dn must be unhashed */
>>if (!d_unhashed(dn))
>>d_drop(dn);
>>realdn =
Hi Al,
On Fri, 26 Feb 2016, Al Viro wrote:
> You have, modulo printks and BUG_ON(),
> {
> struct dentry *realdn;
> /* dn must be unhashed */
> if (!d_unhashed(dn))
> d_drop(dn);
> realdn = d_splice_alias(in, dn);
> if (IS_ERR(realdn)) {
>
Hi Al,
On Fri, 26 Feb 2016, Al Viro wrote:
> You have, modulo printks and BUG_ON(),
> {
> struct dentry *realdn;
> /* dn must be unhashed */
> if (!d_unhashed(dn))
> d_drop(dn);
> realdn = d_splice_alias(in, dn);
> if (IS_ERR(realdn)) {
>
You have, modulo printks and BUG_ON(),
{
struct dentry *realdn;
/* dn must be unhashed */
if (!d_unhashed(dn))
d_drop(dn);
realdn = d_splice_alias(in, dn);
if (IS_ERR(realdn)) {
if (prehash)
*prehash =
You have, modulo printks and BUG_ON(),
{
struct dentry *realdn;
/* dn must be unhashed */
if (!d_unhashed(dn))
d_drop(dn);
realdn = d_splice_alias(in, dn);
if (IS_ERR(realdn)) {
if (prehash)
*prehash =
12 matches
Mail list logo