9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Giacomo Tesio <giacomo@tesio.it>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: [9fans] wstat and atomic directory change
Date: Fri, 30 Jan 2015 12:21:05 +0100	[thread overview]
Message-ID: <CAHL7psEN06kE=uUPSz9WjkVLcuknXcdBsznmgTv9Wky4iSCc=w@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1504 bytes --]

Hi, I'm wondering about the validity of an interpretation of intro(5) and
stat(5) that could allow a server to atomically change the directory of a
file.

>From intro(5) <http://man.cat-v.org/9front/5/intro>

The notation
string[s] (using a literal s character) is shorthand for
s[2] followed by s bytes of UTF-8 text.  (Systems may choose
to reduce the set of legal characters to reduce syntactic
problems, for example to remove slashes from name compo-
nents, *but the protocol has no such restriction*.  Plan 9
names may contain any printable character (that is, any
character outside hexadecimal 00-1F and 80-9F) except
slash.).


 wstat(5) <http://man.cat-v.org/9front/5/stat> on the other hand does not
say much about the name field of Fcall:

The name can be changed by anyone with write
permission in the parent directory; it is an error to change
the name to that of an existing file.

Now, since the protocol does not restrict names (even if Plan 9 does it),
I'm wondering if setting the name to a full path starting from root could
be used to change atomically the directory of a file (given the write
permission on both original and target directory).

Obviously I'm not referring to Plan 9 file servers (I guess this would be a
non retrocompatbile change), but I'm considering if such interpretation
would be wrong (according to the official specifications).

A server supporting such behaviour could be considered a 9p2000 conformant
server?


Giacomo

[-- Attachment #2: Type: text/html, Size: 1982 bytes --]

             reply	other threads:[~2015-01-30 11:21 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-30 11:21 Giacomo Tesio [this message]
2015-01-30 14:13 ` erik quanstrom
2015-01-30 15:59   ` Giacomo Tesio
2015-01-30 20:19     ` Joel C. Salomon
2015-01-30 22:49     ` Anthony Sorace
2015-02-03  8:53       ` Giacomo Tesio
2015-02-03  9:04         ` Quintile
2015-02-04  3:51           ` erik quanstrom
2015-02-04  8:28             ` Giacomo Tesio
2015-02-04 14:06               ` erik quanstrom
2015-02-04 14:29                 ` Giacomo Tesio
2015-02-04 16:30                   ` Skip Tavakkolian
2015-02-04 19:23                     ` erik quanstrom
2015-02-04 21:24                       ` Giacomo Tesio
2015-02-05  4:13                         ` lucio
2015-02-05  8:21                           ` Giacomo Tesio
2015-02-05  8:37                             ` Giacomo Tesio
2015-02-05  8:59                               ` lucio
2015-02-05  8:54                             ` lucio
2015-02-05 16:13                               ` erik quanstrom
2015-02-05  4:15                         ` lucio
2015-02-05 16:20                         ` erik quanstrom
2015-02-05 16:46                           ` Giacomo Tesio
2015-02-05 17:22                             ` Skip Tavakkolian
2015-02-05 17:20                           ` Bakul Shah
2015-02-05  4:26 sl
2015-02-05  4:26 sl
2015-02-05  8:08 ` Giacomo Tesio

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='CAHL7psEN06kE=uUPSz9WjkVLcuknXcdBsznmgTv9Wky4iSCc=w@mail.gmail.com' \
    --to=giacomo@tesio.it \
    --cc=9fans@9fans.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).