public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [REVIEW 0/2] Case insensitive support for XFS
@ 2008-01-18  4:43 Barry Naujok
  2008-01-18 18:05 ` Martin Steigerwald
  2008-01-19  5:48 ` Eric Sandeen
  0 siblings, 2 replies; 8+ messages in thread
From: Barry Naujok @ 2008-01-18  4:43 UTC (permalink / raw)
  To: xfs@oss.sgi.com; +Cc: xfs-dev


In the following two emails is contains patches for
case-insensitive and Unicode support for XFS in Linux.
It implements case-insensitivity utilising a Unicode
case folding table stored on disk generated from
http://www.unicode.org/Public/UNIDATA/CaseFolding.txt

As the filesystem stores names as Unicode (UTF-8), the "nls"
mount option has been added to support systems not utilising
UTF-8 natively. If the nls mount option is not used, it will
use the default NLS defined in the kernel's config.

To allow case-insensitivity to be a mount option rather than
a mkfs option, the hashes stored on disk are always case-folded.
This is indicated by the new "unicode" bit in the superblock.
This bit also associated with the presence of the case-folding
table on disk. This affects both directory and extended
attribute names.

With the case-folding table on disk, it allows us to upgrade
the table in the future while retaining backwards and forwards
compatibility. It also allows special case tables such as
Turkic case which is supported in this patch set.

There are two mount options for enabling case-insensitivity
on a Unicode XFS filesystem:
   - "ci" - enables case-insensitivity for file names
   - "ciattr" - enables case-insensitivity for extended
                attributes.

xfs_repair and xfs_db are fully aware of the case-folding
table. xfs_db has a basic "cft" command which can show
the table's header.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [REVIEW 0/2] Case insensitive support for XFS
  2008-01-18  4:43 [REVIEW 0/2] Case insensitive support for XFS Barry Naujok
@ 2008-01-18 18:05 ` Martin Steigerwald
  2008-01-20 22:30   ` Nathan Scott
  2008-01-21  0:52   ` Barry Naujok
  2008-01-19  5:48 ` Eric Sandeen
  1 sibling, 2 replies; 8+ messages in thread
From: Martin Steigerwald @ 2008-01-18 18:05 UTC (permalink / raw)
  To: linux-xfs


Hi Barry!

Am Freitag 18 Januar 2008 schrieb Barry Naujok:

> There are two mount options for enabling case-insensitivity
> on a Unicode XFS filesystem:
>    - "ci" - enables case-insensitivity for file names
>    - "ciattr" - enables case-insensitivity for extended
>                 attributes.

How do I know that I am on an Unicode XFS filesystem. Could I see this 
with xfs_db -r -c 'sb 0' -c p <device>? Hmm, nothing unicode related in 
there as far as I can see. The fs was created with 2.6.23, mkfs.xfs 2.9.4 
and the mkfs options that David suggested.

Do I need to backup / mkfs / restore to switch to one? I understand that I 
can switch between enable / disable case-insensitivity via a mount 
option. Would I be able to enable unicode via xfs_db version command or 
something like it?

Just curious.

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [REVIEW 0/2] Case insensitive support for XFS
  2008-01-18  4:43 [REVIEW 0/2] Case insensitive support for XFS Barry Naujok
  2008-01-18 18:05 ` Martin Steigerwald
@ 2008-01-19  5:48 ` Eric Sandeen
  1 sibling, 0 replies; 8+ messages in thread
From: Eric Sandeen @ 2008-01-19  5:48 UTC (permalink / raw)
  To: Barry Naujok; +Cc: xfs@oss.sgi.com, xfs-dev

Barry Naujok wrote:
> In the following two emails is contains patches for
> case-insensitive and Unicode support for XFS in Linux.
> It implements case-insensitivity utilising a Unicode
> case folding table stored on disk generated from
> http://www.unicode.org/Public/UNIDATA/CaseFolding.txt

FWIW, I wanted to play with this a bit, and rolled the patches into
Fedora Rawhide rpm builds for kernel & userspace:

http://people.fedoraproject.org/~sandeen/xfs-ci/

it's not *in* rawhide; those are scratch builds based on rawhide, with
the xfs CI stuff applied.

-Eric

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [REVIEW 0/2] Case insensitive support for XFS
  2008-01-18 18:05 ` Martin Steigerwald
@ 2008-01-20 22:30   ` Nathan Scott
  2008-01-21  1:05     ` Barry Naujok
  2008-01-21  0:52   ` Barry Naujok
  1 sibling, 1 reply; 8+ messages in thread
From: Nathan Scott @ 2008-01-20 22:30 UTC (permalink / raw)
  To: Martin Steigerwald; +Cc: linux-xfs

On Fri, 2008-01-18 at 19:05 +0100, Martin Steigerwald wrote:
> Hi Barry!
> 
> Am Freitag 18 Januar 2008 schrieb Barry Naujok:
> 
> > There are two mount options for enabling case-insensitivity
> > on a Unicode XFS filesystem:
> >    - "ci" - enables case-insensitivity for file names
> >    - "ciattr" - enables case-insensitivity for extended
> >                 attributes.
> 
> How do I know that I am on an Unicode XFS filesystem. Could I see this 
> with xfs_db -r -c 'sb 0' -c p <device>? Hmm, nothing unicode related in 
> there as far as I can see. The fs was created with 2.6.23, mkfs.xfs 2.9.4 
> and the mkfs options that David suggested.

You'd have created it with the magic (new) mkfs option, and the
xfs_db "version" command would tell you it was enabled.

> Do I need to backup / mkfs / restore to switch to one? I understand that I 

Yes.

> can switch between enable / disable case-insensitivity via a mount 
> option.

No.

>  Would I be able to enable unicode via xfs_db version command or 
> something like it?

Not as far as I know.  It would be more likely implemented as an
extension to xfs_repair I think, if it were ever done (the xfs_db
version command definately wont have the right kind of logic to
enable/disable this).

cheers.

-- 
Nathan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [REVIEW 0/2] Case insensitive support for XFS
  2008-01-18 18:05 ` Martin Steigerwald
  2008-01-20 22:30   ` Nathan Scott
@ 2008-01-21  0:52   ` Barry Naujok
  1 sibling, 0 replies; 8+ messages in thread
From: Barry Naujok @ 2008-01-21  0:52 UTC (permalink / raw)
  To: Martin Steigerwald, linux-xfs

On Sat, 19 Jan 2008 05:05:04 +1100, Martin Steigerwald  
<Martin@Lichtvoll.de> wrote:

>
> Hi Barry!
>
> Am Freitag 18 Januar 2008 schrieb Barry Naujok:
>
>> There are two mount options for enabling case-insensitivity
>> on a Unicode XFS filesystem:
>>    - "ci" - enables case-insensitivity for file names
>>    - "ciattr" - enables case-insensitivity for extended
>>                 attributes.
>
> How do I know that I am on an Unicode XFS filesystem. Could I see this
> with xfs_db -r -c 'sb 0' -c p <device>? Hmm, nothing unicode related in
> there as far as I can see. The fs was created with 2.6.23, mkfs.xfs 2.9.4
> and the mkfs options that David suggested.

Good point, xfs_info should report this info.

> Do I need to backup / mkfs / restore to switch to one? I understand that  
> I
> can switch between enable / disable case-insensitivity via a mount
> option. Would I be able to enable unicode via xfs_db version command or
> something like it?
>
> Just curious.

Strictly speaking you do need to do backup/mkfs/restore to get utf8.
But, with xfs_db hackery and xfs_repair, you can actually switch between
them without mkfsing (I never said that ;) )

Once your filesystem is unicode, ci is a mount option that can be turned
on/off.

Barry.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [REVIEW 0/2] Case insensitive support for XFS
  2008-01-20 22:30   ` Nathan Scott
@ 2008-01-21  1:05     ` Barry Naujok
  2008-01-21  1:12       ` Nathan Scott
  0 siblings, 1 reply; 8+ messages in thread
From: Barry Naujok @ 2008-01-21  1:05 UTC (permalink / raw)
  To: nscott, Martin Steigerwald; +Cc: linux-xfs

On Mon, 21 Jan 2008 09:30:14 +1100, Nathan Scott <nscott@aconex.com> wrote:

> On Fri, 2008-01-18 at 19:05 +0100, Martin Steigerwald wrote:
>
>> can switch between enable / disable case-insensitivity via a mount
>> option.
>
> No.

Umm, that's a yes :)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [REVIEW 0/2] Case insensitive support for XFS
  2008-01-21  1:05     ` Barry Naujok
@ 2008-01-21  1:12       ` Nathan Scott
  2008-01-21  1:23         ` Barry Naujok
  0 siblings, 1 reply; 8+ messages in thread
From: Nathan Scott @ 2008-01-21  1:12 UTC (permalink / raw)
  To: Barry Naujok; +Cc: Martin Steigerwald, linux-xfs

On Mon, 2008-01-21 at 12:05 +1100, Barry Naujok wrote:
> 
> 
> 
> 
> On Mon, 21 Jan 2008 09:30:14 +1100, Nathan Scott <nscott@aconex.com>
> wrote:
> 
> > On Fri, 2008-01-18 at 19:05 +0100, Martin Steigerwald wrote:
> >
> >> can switch between enable / disable case-insensitivity via a mount
> >> option.
> >
> > No.
> 
> Umm, that's a yes :)

Ahem, you snipped the context precending that question!
Surely you can't switch, unless the case-insensitive mkfs option was
used initially...?  (unlike, say attr2, which can be enabled on-the-fly
with a mount option, on existing attr1 filesystems).

cheers.

-- 
Nathan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [REVIEW 0/2] Case insensitive support for XFS
  2008-01-21  1:12       ` Nathan Scott
@ 2008-01-21  1:23         ` Barry Naujok
  0 siblings, 0 replies; 8+ messages in thread
From: Barry Naujok @ 2008-01-21  1:23 UTC (permalink / raw)
  To: nscott; +Cc: Martin Steigerwald, linux-xfs

On Mon, 21 Jan 2008 12:12:21 +1100, Nathan Scott <nscott@aconex.com> wrote:

> On Mon, 2008-01-21 at 12:05 +1100, Barry Naujok wrote:
>>
>>
>>
>>
>> On Mon, 21 Jan 2008 09:30:14 +1100, Nathan Scott <nscott@aconex.com>
>> wrote:
>>
>> > On Fri, 2008-01-18 at 19:05 +0100, Martin Steigerwald wrote:
>> >
>> >> can switch between enable / disable case-insensitivity via a mount
>> >> option.
>> >
>> > No.
>>
>> Umm, that's a yes :)
>
> Ahem, you snipped the context precending that question!
> Surely you can't switch, unless the case-insensitive mkfs option was
> used initially...?  (unlike, say attr2, which can be enabled on-the-fly
> with a mount option, on existing attr1 filesystems).

You mkfs with unicode/utf8, ci is indeed a mount option which can be turned
on and off on the fly. True, you can't just do it on any existing
filesystem (except the undocumented/unrecommended xfs_db/xfs_repair  
method).

Barry.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-01-21  1:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-18  4:43 [REVIEW 0/2] Case insensitive support for XFS Barry Naujok
2008-01-18 18:05 ` Martin Steigerwald
2008-01-20 22:30   ` Nathan Scott
2008-01-21  1:05     ` Barry Naujok
2008-01-21  1:12       ` Nathan Scott
2008-01-21  1:23         ` Barry Naujok
2008-01-21  0:52   ` Barry Naujok
2008-01-19  5:48 ` Eric Sandeen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox