rishi agrawal | 31 Dec 13:41
Picon

Core Utils

Hello Everyone,

Where can i find the latest source code for coreutils

i checked this one tp://ftp.gnu.org/gnu/coreutils/

but is shows the latest released as 6/01/08

is any new version available

basically i want the source codes of copy and move

--

-- 
Regards,
Rishi B. Agrawal

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis <at> nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ

rishi agrawal | 31 Dec 12:13
Picon

Freezing File Systems

Hello everyone,

I want to freeze a file system. I have seen a field in vfs superblock s_frozen.

But i am clue less about freezing the file system using that.

--

-- 
Regards,
Rishi B. Agrawal

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis <at> nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ

Jeff Mahoney | 16 Dec 19:13

[PATCH] ext3: ext3_commit_super should always mark super uptodate


 After a superblock write failure, the buffer_head is marked !uptodate.
 Since the superblock is something of an exception -- read once and
 a reference kept for the duration of the mount -- it is by definition
 always uptodate.

 This is somewhat academic for the most part until we encounter error
 conditions. For example, if a disk goes away in a SAN environment, the
 write failure will occur and it will be followed by others. ext3_error
 wants to mark the superblock dirty via ext3_commit_super, but once
 the first write fails, the subsequent mark_buffer_dirty calls will
 issue warnings because the buffer is not uptodate.

 This patch silences those warnings by marking it uptodate in
 ext3_commit_super before calling mark_buffer_dirty. This doesn't really
 change anything other than silencing the warning in mark_buffer_dirty.
 If the write succeeds, good. Otherwise, it will just have uptodate
 cleared again.

Signed-off-by: Jeff Mahoney <jeffm <at> suse.com>
---
 fs/ext3/super.c |    7 +++++++
 1 file changed, 7 insertions(+)

--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -2291,6 +2291,13 @@ static void ext3_commit_super (struct su
 	es->s_free_blocks_count = cpu_to_le32(ext3_count_free_blocks(sb));
 	es->s_free_inodes_count = cpu_to_le32(ext3_count_free_inodes(sb));
 	BUFFER_TRACE(sbh, "marking dirty");
(Continue reading)

rishi agrawal | 27 Jul 10:19
Picon

Porting Zfs features to ext2/3

Hello everybody,

I wanted to know that has any work been done on porting some Zfs features to ext2/3.

--
Regards,
Rishi B. Agrawal

Daniel Phillips | 21 Jul 23:11

[RFC] A better solution to the HTree telldir problem

Hi Ted,

After all these years, I may have finally noticed a better approach to
the NFS directory cookie problem in HTree.

Let me summarize the issue for those not privy to its horrors:

 * The Single Unix Specification defines semantics for directory
   traversal whereby it is permitted to create and delete directory
   entries simultaneously with a process that reads the directory
   entries and does something with them.

 * SUS specifies that a sequence of all the files in a directory will
   be returned by the readdir call, and though it leaves unspecified
   whether a simultaneously deleted or created directory entry will
   appear in the sequence, it does seem to require that no entry appear
   more than once and that no entry that existed before the during the
   entire directory traversal be omitted.  (This is not directly stated,
   but can be inferred from the definition of directory stream.)
   http://www.opengroup.org/onlinepubs/009695399/functions/readdir.html

The implied requirement that no pre-existing directory entry be returned 
multiple times or be omitted poses problems for modern btree directory 
indexing schemes, which like to move batches of entries around on disk 
as new entries are created or old ones deleted.  Whatever the indexing 
scheme, it is necessary to come up with some stable enumeration of 
directory entries that satisfies the (implied) SUS requirement.  Enter 
NFS with a monumental design blunder that makes this exceptionally 
difficult to achieve for any modern directory indexing scheme.  You
summarize the issues authoritavely here:

   http://lkml.org/lkml/2007/4/7/159

One nit: NFS v2 provides 31 bits worth of telldir cookie, not 32.  (But
you knew that)

I see that you have been busy explaining the gory details to Chris, as
you once explained them to me:

   http://oss.oracle.com/pipermail/btrfs-devel/2008-January/000460.html

The code to deal with the telldir cookie problem in HTree was written by 
one Theodore Y Ts'o in 2002, and consists of some hundreds of lines of 
clever RB tree hacking that miraculously works so reliably that none of 
the tens of millions of Ext3 users has had any complaint for years.  Now 
six years after the fact, I think there is a nicer way.

This is something of a duh: if HTree refrains from splitting leaves 
while a directory traversal is in progress then a simple linear 
traversal can be used in classic Ext2/UFS fashion, with the logical 
file address of each directory entry serving as the telldir cookie.

The idea is to disable leaf splitting during directory traversal and use 
an alternate leaf overflow mechanism in its place.  To handle a create 
into a full leaf when splitting is disabled, a new leaf block is 
created having the same hash index as the current one and inserted 
before the full leaf in the hash tree to hold the new entry and any 
subsequent creates into the same hash bucket.  The lookup probe has to 
be modified slightly to traverse all leaves with the same hash index.
Or maybe this already works.

HTree could opportunistically re-distribute the entries later when no 
directory listing is in progress, or it could just leave things as they 
are.  The fallback is quite unlikely to occur in practice, and the 
alternative storage format is only very slightly less efficient to 
process on lookup, and does not consume any extra space.

A possible heuristic for disabling node splitting: disable on each 
opendir until a matching number of closedirs are received, unless there 
was a telldir in which case it stays disabled until a following readdir
returns NULL, followed by matching closedirs.

A new feature bit would be needed should the new overflow code path ever 
be hit for a given directory (unlikely...) in which case an older 
HTree-enabled ext3 would fall back to linear scan if somebody manages 
to write a volume under an ungraded kernel then reboot to an older 
kernel.  There would also be a flag in the HTree index root block that
does not affect the volume as a whole.  I think that the way we did it,
any unknown HTRee flag just causes a fallback to linear scan.  (If so,
this would be a nice example of forward compatibility gone right.)

Now the sticky bit where the brain damaged NFS semantics really get to
take their best kick at us.  This mechanism has to work across NFS server
reboots.  We can notice from the flag in the Htree index root block that 
a particular directory went into an "NFS mode" that was never properly
completed.  But how can we know when to take the directory out of NFS
mode and get on with a slightly more efficient version of life?  Well.

There are two kinds of NFS servers available on Linux: 1) kernel and
2) userspace.  The kernel version is... part of the kernel, and so we
can always know when it has mounted our volume.  We could give it a
minute or two to reconnect to the client that was doing the readdir,
then assume the readdir will never resume.  Otherwise, if the readdir
does resume in that time, the client will get exactly the SUS semantics
and things will work properly even if the server reboots again.

The user space server is another story.  I have no idea how to detect
its presence, and I doubt we need to care, because it already suffers
from fatal flaws such as:

  "some awkwardnesses in the semantics (for instance, moving a file
  to a different directory will render its file handle invalid)"
  http://packages.debian.org/sid/nfs-user-server

Nobody should use this server, and if they do, they simply risk
dropouts and repeated filenames in a directory listing if they go out
of their way to abuse it.  What you would have to do to break the above
heuristic for the user space NFS server:

  * NFS client starts a directory listing
  * Server reboots after retrieving some dirents
  * NFS client creates some new files in the directory, splitting a
    btree block
  * Client side ls omits or repeats a few names.  Sob.
  * Moral of the story is: use knfsd if you want your NFS server to
    respect reboot semantics properly, or to operate properly at all.

If the new semantics are acceptable, the payoff for adopting this simpler
method is:

  * Can use a more efficient HTree hash because we do not need to be so
    paranoid about bucket levelling to avoid rare cases that might break
    the RB tree approach.

  * We get to use the nice shiny alternative hash mechanism that we put
    considerable effort into building but so far have never used.

  * Considerably more efficient directory traversal.

  * Delete will now happen in physical create order and therefore not
    thrash the inode table, which is a problem that HTree can currently
    hit with large directories ant tight cache.

  * Several hundred lines of special purpose code removed.  (Replaced by
    maybe 50 different lines of special purpose code.)

Drawbacks:

  * Adds a new feature to knfsd to force it to advertise its presence
    to filesystems.  On the other hand, this might be seen as a feature
    useful to other filesystems (btrfs and jfs come to mind).

  * Breaks the user space NFS server worse than it already is.  But it
    is already fatally broken, so do we care?

Regards,

Daniel
Bernie Innocenti | 18 May 17:36
Favicon
Gravatar

ext3_dx_add_entry: Directory index full!

On 2.6.24.4-64.fc8, I createed and mounted a filesystem like this:

  mke2fs -m0 -b 1024 -R stride=64 -I 128 -i 2048 -j  -L mail -O dir_index,sparse_super -v /dev/sdc1
  mount -t ext3 -o noatime,data=writeback,nosuid,usrquota /dev/sdc1 /mail

Then I copied a directory with 200K small files into it:

  cp -a home/simone/Maildir/YouHaveJunkSir /mail/
  [...]
  cp: cannot create regular file
`/mnt/YouHaveJunkSir/1174170042.20731_2.trinity.develer.com:2,b': No space left on device
  cp: cannot create regular file `/mnt/YouHaveJunkSir/1186341042.8337_2.trinity.develer.com:2,':
No space left on device
  cp: cannot create regular file `/mnt/YouHaveJunkSir/1209101786.3888_2.trinity.develer.com:2,':
No space left on device

The kernel logs are also scary:

  EXT3-fs warning (device sdc1): ext3_dx_add_entry: Directory index full!
  EXT3-fs warning (device sdc1): ext3_dx_add_entry: Directory index full!
  [...]

The failing check looks like this:

        if (levels && (dx_get_count(frames->entries) ==
                   dx_get_limit(frames->entries))) {
            ext3_warning(sb, __FUNCTION__,
                     "Directory index full!");
            err = -ENOSPC;
            goto cleanup;
        }

The limit is set in make_indexed_dir():

  dx_set_limit (entries, dx_root_limit(dir, sizeof(root->info)));

with this helper function:

  static inline unsigned dx_root_limit (struct inode *dir, unsigned infosize)
  {
      unsigned entry_space = dir->i_sb->s_blocksize - EXT3_DIR_REC_LEN(1) -
          EXT3_DIR_REC_LEN(2) - infosize;
      return 0? 20: entry_space / sizeof(struct dx_entry);
  }

Am I reading the above code correctly?  Why does it always return
20 no matter what?

Some background: I'm moving users' Maildirs to a separate filesystem tuned
for small files to increase performance.  One of our users intentionally
collected spam for 5 years in one folder and likes it this way.
We could easily work it around, but first I'd like to understand whether
the particular parameters we used trigger a bug in ext3 or if we're just
hitting a (possibly undocumented) limit.

--

-- 
   \___/
  _| X |  Bernie Innocenti - http://www.codewiz.org/
  \|_O_|  "It's an education project, not a laptop project!"
Favicon

[ANNOUNCEMENT] Linux POSIX file system test suite


Hello file system developers,

There are several POSIX file system test suites: closed source, commercial, 
one which needs reading 174 pages installation guide, etc. Because of these 
frustrations when Pawel Jakub Dawidek ported ZFS to FreeBSD, he also wrote 
such a test suite quickly.

Last year the NTFS-3G team ported it to Linux/ext3 and Linux/NTFS-3G to 
validate Jean-Pierre Andre's full file permissions and ownership support 
for NTFS-3G. We sent our patches to Pawel for integration but this doesn't 
seem to happen him (he didn't see problems but is busy).

Since this topic regularly appears on several lists, we are also often 
asked about it and NTFS-3G does need it to be maintained, hence we decided 
to release it and if nobody else would like to maintain it then we will do 
so.

The test suite mostly checks POSIX compliance and works for FreeBSD, 
Solaris, and Linux with UFS, ZFS, ext3, and NTFS-3G file systems. The list 
of system calls tested is: chmod, chown, link, mkdir, mkfifo, open, rename, 
rmdir, symlink, truncate, unlink. There are currently 1950 regression 
tests.

Availability:

	http://ntfs3g.org/sw/qa/pjd-fstest-20080402.tgz

  and in the NTFS-3G CVS as pjd-fstest module:

	http://sourceforge.net/cvs/?group_id=181143

The usage is extremely simple:

  # tar czf pjd-fstest-20080402.tgz
  # cd pjd-fstest-20080402
  # vi tests/conf
  Change 'fs' to file system type you want to test (UFS, ZFS, ext3, ntfs-3g).
  # make
  It will compile fstest utility which is used by regression tests.
  # cd /path/to/file/system/you/want/to/test/
  The test must be run as root user and requires a few basic Perl modules.
  # prove -r /path/to/fstest/

It's also possible to run individual set of tests:

  # /path/to/fstest/tests/chown/00.t

Or make single system call tests:

  # fstest mkdir foo 0750
  0
  # fstest mkdir foo 0750
  mkdir returned -1
  EEXIST

The test suite is easy to understand, modify and extend. For instance doing 
a test cases for the above examples is only

  expect 0 fstest mkdir foo 0750
  expect EEXIST fstest mkdir foo 0750

The default file system type is ext3 and it passes all tests.

NTFS-3G also passes all the tests if the latest PERMISSION_HANDLING_BRANCH 
CVS branch is used with the below UserMapping file placed in the .NTFS-3G 
control directory:

--------------------------------------------------------------->
:500:S-1-5-21-2271520284-214583110-2989893066-513
500::S-1-5-21-2271520284-214583110-2989893066-1007
# default mapping pattern
::S-1-5-21-2271520284-214583110-2989893066-10000
<--------------------------------------------------------------

Many thanks to Pawel Jakub Dawidek for writing this fantastic test suite, 
to Jean-Pierre Andre for tirelessly working on the port and fixing 
countless file system problems over the last half year and to Szeredi 
Miklos for his exceptionally rapid FUSE fixes.

Enjoy,
	    Szaka

--
NTFS-3G:  http://ntfs-3g.org

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
Norbert Preining | 27 Sep 12:31
Picon
Favicon

kernel Oops in ext3 code

Hi all!

(Please Cc)

kernel 2.6.23-rc6
Debian/sid

kernel ooops:

BUG: unable to handle kernel paging request at virtual address 1000004b
 printing eip:
 c0195bd3
 *pde = 00000000
 Oops: 0000 [#1]
 PREEMPT SMP 
 Modules linked in: vboxdrv binfmt_misc fuse coretemp hwmon gspca videodev v4l2_common v4l1_compat
iwl3945 mac80211 tifm_7xx1 tifm_core joydev irda crc_ccitt 8250_pnp 8250 serial_core firewire_ohci
firewire_core crc_itu_t
 CPU:    0
 EIP:    0060:[<c0195bd3>]    Not tainted VLI
 EFLAGS: 00010206   (2.6.23-rc6 #1)
 EIP is at ext3_discard_reservation+0x18/0x4d
 eax: dff23800   ebx: 10000033   ecx: dfc15ec0   edx: ffffffff
 esi: c0007c44   edi: 10000033   ebp: dfc2bef4   esp: dfc2beac
 ds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068
 Process kswapd0 (pid: 261, ti=dfc2a000 task=dfcac570 task.ti=dfc2a000)
 Stack: c0007ba4 c0007c44 10000033 c019ec51 c0007c44 c0007d8c 0000002c c0171b1b 
        0000002c c0007c44 c0007c4c c0171da2 c050880c 00000000 00000080 00000080 
        c0171fb8 00000080 c0007e48 df9e3910 00007404 c03f5634 00000080 000000d0 
 Call Trace:
  [<c019ec51>] ext3_clear_inode+0x5d/0x76
  [<c0171b1b>] clear_inode+0x6b/0xb9
  [<c0171da2>] dispose_list+0x48/0xc9
  [<c0171fb8>] shrink_icache_memory+0x195/0x1bd
  [<c014f5ec>] shrink_slab+0xe2/0x159
  [<c014f9a0>] kswapd+0x2d3/0x431
  [<c0132520>] autoremove_wake_function+0x0/0x33
  [<c014f6cd>] kswapd+0x0/0x431
  [<c0132453>] kthread+0x38/0x5d
  [<c013241b>] kthread+0x0/0x5d
  [<c0104b73>] kernel_thread_helper+0x7/0x10
  =======================
 Code: 83 f8 01 19 c0 f7 d0 83 e0 08 89 42 0c 89 56 b4 5b 5e c3 57 56 89 c6 53 8b 58 b4 8b 80 a4 00 00 00 85 db 8b 80 78 01 00 00 74
30 <83> 7b 18 00 74 2a 8d b8 00 03 00 00 89 f8 e8 b8 ca 1a 00 83 7b 
 EIP: [<c0195bd3>] ext3_discard_reservation+0x18/0x4d SS:ESP 0068:dfc2beac

Sysrq did work, so the oops was saved. Good.

Any ideas?

Best wishes

Norbert

-------------------------------------------------------------------------------
Dr. Norbert Preining <preining <at> logic.at>        Vienna University of Technology
Debian Developer <preining <at> debian.org>                         Debian TeX Group
gpg DSA: 0x09C5B094      fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
As he came into the light they could see his black and
gold uniform on which the buttons were so highly polished
that they shone with an intensity that would have made an
approaching motorist flash his lights in annoyance.
                 --- Douglas Adams, The Hitchhikers Guide to the Galaxy

A BUSINESS PROPOSAL FROM RUSSIA


Dear Friend,

I am Mrs. Larisa Sosnitskaya and I represent Mr. Mikhail Khordokovsky
former C.E.O of Yukos Oil Company in Russia. I have a very sensitive and

confidential brief from this top (oligarch) to ask for your partnership

in re-profiling funds US$46 Million. I will give the details, but in
summary, the funds are coming via Bank in europe . This is a legitimate

transaction. You will be paid 20% as your 

commison/compensation for your active efforts and contribution to the 
success of this transaction

If you are interested, please write back through mail:
larisasnok <at> yahoo.ie
Please, a detailed and confidential Telephone number, Fax number and
Email address will be needed and I will provide further details and
instructions
regarding the transaction.
Please keep this confidential, we can't afford more political problems.

You can read more of the story on This website below

about my boss.

http://www.mbktrial.com/

http://news.bbc.co.uk/1/hi/business/3213505.stm

Please, advice me on your position by email immediately via:
larisasnok <at> yahoo.ie
i look forward to seeing your mail.

Your Sincerely,

Mrs. Larisa Sosnitskaya

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
Ric Wheeler | 10 Apr 15:23

Linux 2007 File System & IO Workshop notes & talks


We have some of the material reviewed and posted now from the IO & FS 
workshop.

USENIX has posted the talks at:

http://www.usenix.org/events/lsf07/tech/tech.html

A write up of the workshop went out at LWN and invoked a healthy discussion:

http://lwn.net/Articles/226351/

At that LWN article, there is a link to the Linux FS wiki with good notes:

http://linuxfs.pbwiki.com/LSF07-Workshop-Notes

Another summary will go out in the next USENIX ;login edition.

ric

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Andi Kleen | 15 Nov 15:36
Picon

interesting way to break ext3 using loop devices


By mistake i found a sick way to break ext3:

Create a sparse (only consisting of a large hole) loop file on a ext3 file system.
losetup a loop device over it
Create a ext3 file system in the loop device
Mount it.
Copy the "parent" file system into the mounted loop fs with cp -rv
Eventually it will work on the copy of the loop file.

When you Ctrl-C it the system becomes quite confused: 
- Syslog is flooded with IO errors
- The loop fs cannot be unmounted anymore
- sync gets stuck

Of course this was clearly an operator error and
copying a file system into itself is clearly a sick thing 
to do, but still it shouldn't cause symptoms like this. Perhaps
it points to a deeper issue.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Gmane