Export get_sb_pseudo()?
A message that is not in the archive (sent off-list or not yet received): [email protected]
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...
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 bysimple_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.
PATCH 1/1 Export get_sb_pseudo()
In reply to Al ViroAl> 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
@@ -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);