Linked by Thom Holwerda on Thu 4th Nov 2010 22:40 UTC, submitted by rhyder
Linux "For a fairly scruffy looking guy, I have a surprisingly healthy approach to organising my files. However, I'm constantly pushing up against the limitations of a system that is based around directories. I'm convinced that Linux needs to make greater use of tagging, but I'm also beginning to wonder if desktop Linux could abandon the hierarchical directory structure entirely."
Thread beginning with comment 448676
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Not just tagging
by phoenix on Fri 5th Nov 2010 16:32 UTC in reply to "Not just tagging"
phoenix
Member since:
2005-07-11

First, we need transactional file systems.


Only if by "we" you mean Linux. ;) Non-Linux systems have had transactional filesystems for years now (ZFS, HAMMERFS), and support for versioning in the filesystem (VMS).

There is really no good reason not to have a transactional file system. It would make things like updates, installations, and removals much simpler.


You're right, it does. ;) ZFS snapshot your filesystem(s), do your updates. If it fails, roll-back the snapshot and carry on. If it succeeds, you either keep the snapshot just-in-case, or you delete it. Works beautifully, even across full OS upgrades.

Second, we need indexing of extended attributes. BFS got this right. My music should just be a folder with a bunch of files that have metadata. There should be no database.


Uhm, what do you call your index, if not a database?

Personally, I believe tagging is secondary to all of this. My mind naturally categorizes things hierarchically, but I have had times when I wished a file could be in two folders.


Some kind of tagging or EA system would be nice, for just this reason. After using GMail and Zimbra for the past couple of years, it's nice being able to physically store messages in a hierarchical manner, but also access them via multiple "folders"/tags where appropriate. And having saved searches (virtual folders) that refresh each time you go into them is absolutely wonderful; something I've missed from GUI file managers like Dolphin.

Reply Parent Score: 3

RE[2]: Not just tagging
by jonas.kirilla on Fri 5th Nov 2010 22:26 in reply to "RE: Not just tagging"
jonas.kirilla Member since:
2005-07-11

When people think "database", they might think of a userland process, some kind of metadata storage on -top- of a traditional filesystem and some periodic indexing process. BFS indices (in BeOS and in Haiku) are an integral part of the filesystem. Indexing happens in the filesystem (is done by the filesystem) at the exact time when attributes are created/altered. There is no periodic indexing process, and there is no separate metadata storage. (Which could potentially get out of sync with the target files.)

Reply Parent Score: 2

RE[3]: Not just tagging
by phoenix on Fri 5th Nov 2010 23:08 in reply to "RE[2]: Not just tagging"
phoenix Member since:
2005-07-11

Ah, gotcha. That makes sense.

Reply Parent Score: 2

RE[2]: Not just tagging
by Zifre on Sat 6th Nov 2010 20:20 in reply to "RE: Not just tagging"
Zifre Member since:
2009-10-04

Only if by "we" you mean Linux. Non-Linux systems have had transactional filesystems for years now (ZFS, HAMMERFS), and support for versioning in the filesystem (VMS).

Nope, that's an entirely different type of transaction. The only "real" transactional file systems (i.e. allow multiple user-level transactions that can be cancelled individually) that I am aware of are TxF for Windows Vista/7, and TxOS for Linux: http://www.cs.utexas.edu/~porterde/txos/

You're right, it does. ZFS snapshot your filesystem(s), do your updates. If it fails, roll-back the snapshot and carry on. If it succeeds, you either keep the snapshot just-in-case, or you delete it. Works beautifully, even across full OS upgrades.

That works fine when you only need to do one transaction at a time. There is no reason why a file manager shouldn't be able to do atomic copies or atomic unpacking of archives. Snapshotting the entire file system is not a very general or elegant way to solve the problem.

Uhm, what do you call your index, if not a database?

It is a database, but it's part of the file system (i.e. not updated by applications). Look at BFS on Haiku or BeOS.

Reply Parent Score: 2