Skip to contentSkip to conversation

Export get_sb_pseudo()?

PATCH New Al Viro 3 participants 3 messages Jan 8, 2005 1 message not in the archive VFS

lore
Share & tools
lore

Al Viro

author
#1 lore raw
In reply to a message not in the archive
Quoted 5 lines · Roland Dreier

I'm planning on implementing some modular driver code and I think it makes sense to have a non-mountable pseudofs. Especially with the recent MVFS controversy, it seems prudent to find out whether this usage would merit exporting get_sb_pseudo(), so I'll describe my current plans below.

No objections; it certainly falls under "general-purpose library helper". Moreover, in this case I _insist_ on use of normal export; it is a convenience helper that
a) can be trivially reimplemented by anyone who cares; any
number of filesystems is open-coding far more than that in their ->get_sb(), so there's nothing to protect here.
b) can be trivially simulated by simple_fill_super() followed
by a bit of tweaking the result.
c) does not shove any pitchforks into the kernel guts - resulting
superblock does not require any special treatment.

So feel free to go ahead and export it; as the matter of fact, if you don't do it, I will. And that puppy is my code except for one line from Andi Kleen (sb->s_time_gran = 1; ;-). Since we both are OK with full export (I'd just asked him), anybody who has objections to that can take 'em and shove 'em...

#2 lore raw
Quoted 7 lines · Al Viro
Quoted 5 lines · Roland Dreier

I'm planning on implementing some modular driver code and I think it makes sense to have a non-mountable pseudofs. Especially with the recent MVFS controversy, it seems prudent to find out whether this usage would merit exporting get_sb_pseudo(), so I'll describe my current plans below.

Quoted 10 lines

No objections; it certainly falls under "general-purpose library helper". Moreover, in this case I _insist_ on use of normal export; it is a convenience helper that
a) can be trivially reimplemented by anyone who cares; any
number of filesystems is open-coding far more than that in their ->get_sb(), so there's nothing to protect here.
b) can be trivially simulated by simple_fill_super() followed
by a bit of tweaking the result.
c) does not shove any pitchforks into the kernel guts - resulting
superblock does not require any special treatment.

Agreed.

#3 lore raw

PATCH 1/1 Export get_sb_pseudo()

In reply to Al Viro

Al> So feel free to go ahead and export it; as the matter of fact, Al> if you don't do it, I will.

Thanks, here's the trivial patch.

Export get_sb_pseudo() so that modules can create unmountable pseudo-filesystems cleanly.

fs/libfs.c +1 -0
Index: linux-bk/fs/libfs.c
===================================================================
@@ -522,6 +522,7 @@
 EXPORT_SYMBOL(dcache_dir_open);
 EXPORT_SYMBOL(dcache_readdir);
 EXPORT_SYMBOL(generic_read_dir);
+EXPORT_SYMBOL(get_sb_pseudo);
 EXPORT_SYMBOL(simple_commit_write);
 EXPORT_SYMBOL(simple_dir_inode_operations);
 EXPORT_SYMBOL(simple_dir_operations);