Nicolas Williams wrote:
> On Wed, Dec 10, 2008 at 11:13:21AM -0800, Jay Anderson wrote:
>> The casesensitivity option is just like utf8only and normalization, it
>> can only be set at creation time. The result from attempting to change
>> it on an existing filesystem:
>>
>>     # zfs set casesensitivity=mixed pool0/data1
>>     cannot set property for 'pool0/data1': 'casesensitivity' is readonly
>>
>> >From the ZFS Administration Guide 
>> >(http://docs.sun.com/app/docs/doc/817-2271/6mhupg6lc?a=view#indexterm-319):
> 
> The manpage I looked at didn't mention that, though it did for
> normalization and utf8only, so I foolishly stopped there.  Sounds like a
> manpage bug.  My apologies for the confusion.
> 

The manpage reads:

      The following three properties cannot be changed  after  the
      file  system  is  created, and therefore, should be set when
      the file system is created. If the properties  are  not  set
      with the "zfs create" or "zpool create" commands, these pro-
      perties are inherited from the parent dataset. If the parent
      dataset  lacks  these  properties due to having been created
      prior to these features being supported, the new file system
      will have the default values for these properties.

      casesensitivity = sensitive | insensitive | mixed

        ...

      normalization =none | formD | formKCf

        ...

      utf8only =on | off

        ...

We reiterate that the property cannot be changed in the paragraphs 
describing the second two, perhaps we should do so for the first as well.

> I would think only the casesensitivity=mixed should have to be set at
> creation time, that casesensitivity=insensitive could be set at any
> time.  Hmmm.
> 

We don't allow this for a couple of reasons.  If the file system was 
case-sensitive or mixed and you suddenly make it insensitive, you 
potentially create name conflicts:

% ls
Readme README readme

if we make this case-insensitive all of sudden you've got two files that 
can no longer be looked up.

The other reason is performance.  Knowing beforehand that we need to 
track or disallow case conflicts helps us to optimize to keep lookups fast.

-tim

> Nico

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to