From: Vlad Apostolov <vapo@sgi.com>
To: jgl@johngroves.net
Cc: linux-xfs@oss.sgi.com, John Groves <John@Groves.net>,
Dean Roehrich <roehrich@sgi.com>
Subject: Re: XFS dmapi: dm_path_to_handle fails if the path is a directory
Date: Fri, 03 Nov 2006 13:41:47 +1100 [thread overview]
Message-ID: <454AAC6B.7010406@sgi.com> (raw)
In-Reply-To: <454A94A6.6040907@johngroves.net>
John Groves wrote:
> Thanks for your replies, Vlad, although I don't find anything so far
> that helps with my problem (my paths are not long, and my calls to
> dm_path_to_handle have been running in production environments for a
> couple of years). As far as I can see, dm_path_to_handle does not
> work on a directory (?), although it works perfectly on a file. I
> will try to dig deeper into this over the next few days, but here is a
> somewhat clearer explanation of the behavior I am seeing.
>
> I have updated to the latest kernel from SGI's CVS server, but the
> problem is still there. I am tracing through kernel code, and will be
> happy to pull together some test code that demonstrates the problem,
> or to post a patch if I figure it out, but this will take a few days.
>
> The sequence in which I find this problem is:
>
> 1. Receive a pre-rename event
> 2. Use the first handle parameter to resolve the pre-rename parent
> directory path (not via dm_handle_to_path -- I had to roll my own
> mechanisms for turning handles into paths).
> 3. Concatenate the first name parameter to the first parent
> directory path, to get the relative path from mount point to actual
> file being renamed.
> 4. Call dm_path_to_handle on that path, hoping to get the handle of
> the file-being-renamed.
>
> If the renamed-thing is a file, this works. If it's a directory,
> dm_path_to_handle fails.
>
> With my dmapi event handler installed and running, I can reproduce it
> by doing the following in the root directory of the filesystem:
>
> mkdir -p x/y/z
> mv x/y x/w
>
> In the pre-rename event, prior to responding to the event, my handler
> correctly determines that x/y is being renamed to x/w, but
> dm_path_to_handle does not return the handle of x/y. My post-rename
> event handler also correctly resolves the paths, but dm_path_to_handle
> does not return the handle of x/w.
>
> If x/y is a file (rather than a directory) it all works properly.
>
> Let me know if you can think of anything specific I should look at, or
> of a different way of getting the handle of the renamed thingy.
Hi John,
I did try this on my dmapi filesystem:
emu:/mnt/scratch1/dmapi_test # mkdir -p x/y/z
emu:/mnt/scratch1/dmapi_test #
/home/vapo/isms/xfs-cmds/xfstests/dmapi/src/suite1/cmd/path_to_handle x/y
5d1111a90e4800000e00000003000000d903400000000000
emu:/mnt/scratch1/dmapi_test # mv x/y x/w
emu:/mnt/scratch1/dmapi_test #
/home/vapo/isms/xfs-cmds/xfstests/dmapi/src/suite1/cmd/path_to_handle x/w
5d1111a90e4800000e00000003000000d903400000000000
emu:/mnt/scratch1/dmapi_test #
I also tried path_to_handle with relative path to a directory it worked
fine too. When you say
dm_path_to_handle fails, what is the error returned?
Regards,
Vlad
next prev parent reply other threads:[~2006-11-03 2:42 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-31 23:21 XFS dmapi: dm_path_to_handle fails if the path is a directory John Groves
2006-11-01 0:44 ` Vlad Apostolov
2006-11-01 0:57 ` Vlad Apostolov
2006-11-03 1:00 ` John Groves
2006-11-03 2:41 ` Vlad Apostolov [this message]
2006-11-03 2:53 ` John Groves
2006-11-03 2:59 ` Vlad Apostolov
2006-11-03 14:57 ` John Groves
2006-11-05 22:37 ` Vlad Apostolov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=454AAC6B.7010406@sgi.com \
--to=vapo@sgi.com \
--cc=John@Groves.net \
--cc=jgl@johngroves.net \
--cc=linux-xfs@oss.sgi.com \
--cc=roehrich@sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.